Poprawki do ostatniej edycji tego megazestawu emulatorów.
Changelog
- COMMON: Small memory leak.
- NETPLAY: Fix network command only working once.
→ NOWSZY [multi] RetroArch/Core 1.19.1 5/06/2024
RetroArch 1.19.1 5/06/2024
- (WASAPI) Only write when running and fix deadlock
RetroArch 1.19.0
- AI: Revert AI translation to previous version (fix for translation not working with HW rendered cores)
- APPLE: Try to use system preferred language
- APPLE: Correctly register for filetypes uniquely
- APPLE/MFI: improved Switch Online controller support through MFi
- AUDIO: Bring back audio toggling on menu toggle
- CHEEVOS: Build a default RetroAchievements memory map when no RetroAchievements game is loaded
- CHEEVOS: Update to rcheevos 11.3
- CHEEVOS: fix hardcore acting as if it’s enabled when it isn’t
- CLANG: Fix clang error incompatible-pointer-types-discards-qualifiers
- CLOUDSYNC/LINUX: Enable Cloud Sync by default on Linux builds with network (#16456)
- CLOUDSYNC/WEBOS: Enable Cloud Sync by default on Linux builds with network (#16456)
- CORE: Set compute fps stats logging to debug level
- EMSCRIPTEN: Added M2000 to core selection dropdown
- FFMPEG: Add compatibility with FFMPEG 7.0
- GLSLANG: Remove unneeded ENABLE_HLSL code from glslang
- GENERAL: Memory leak: Dynamic allocation from msg_hash_get_help_us_enum was not freed.
- INPUT/KEYBOARD: Add support for multimedia keys – Extended RETROK_ values with 18 new items, commonly found on
“multimedia” keyboards. Mapping added for SDL, X11, Wayland, dinput, winraw keymaps. - INPUT/MFI: Pressure sensitive left/right triggers
- INPUT/MFI: Fix Start + L1/L2/R2 combinations
- INPUT/MFI: Support strong and weak rumble
- INTL: Fetch translations from Crowdin
- INTL: Add Galician and Norwegian to list of languages
- LAKKA: Display reboot/shutdown message also when not saving config on exit
- LAKKA: Provide update URL and target name at buildtime
- LIBRETRO: Add a debug message for the SET_ROTATION callback
- macOS: Default Accessibility on if VoiceOver is on
- iOS: default audio sync on again, also more mfi logging
- iOS: Fix Import Content
- iOS: Fix ios-arm64 nightly build crash
- iOS: Import content from iCloud
- iOS: Fix #16485 crash on startup
- iOS: Display app icon in app icon picker in materialui
- iOS/tvOS: Various QoL improvements
- iOS/tvOS: Fix a couple more path name mangling bugs
- iOS/tvOS: Better way of packaging Frameworks
- iOS/tvOS: define PACKAGE_VERSION to be App Store MARKETING_VERSION
- iOS/tvOS: Fix keyboard handling for app store builds
- iOS/tvOS: Fix escaping the sandbox for jailbroken devices
- iOS/tvOS: default accessibility on if voice over is enabled
- iOS/tvOS: better way of reporting available memory
- macOS/iOS/tvOS: enable text-to-speech using AVSpeechSynthesizer.
- tvOS: Fix scaling for 720p
- MENU: New function in Quick Menu: Add to Playlist
- MENU/XMB: New theme: FlatUX, designed to merge FlatUI and Retroactive themes into a single, unified design
- NETWORKING/RETROPAD CORE: Fix socket close method
- PIXMAN: Update pixman-private.h – patch to fix build issue with musl
- PLAYLIST: Cleanup ‘Add to Playlist’ (#16495)
- SCANNING: Fix for scanning PSP ISOs (and probably few others)
- SAVES: Fix core config saving
- SAVES: Fix save new config name when core loaded
- SAVESTATES: Increase save state chunk size for all platforms – Even a class 6 or class 10 SD card can handle reads and writes on the order of MB/s, which means a 4KB chunk size is just wasting time in syscalls. This could maybe be fixed with a buffering reader but I don’t feel comfortable tweaking libretro-common’s VFS to handle that. Instead, I thought it would be good to both remove an ifdef and increase the chunk size to 128KB. For cores with small states this will should make state saving virtually instantaneous, and for cores with large states it should be a 32x speedup.
- VIDEO: Fix crash when using threaded video – for Mesa 23.2 and later
- VIDEO/GL: Fix reinitialization of the threaded gl drivers
- VIDEO/VULKAN: Add support for A2R10G10B10 HDR format
- VIDEO/VULKAN: Implement HDR readback – screenshot support
- WAYLAND: Ignore configure events during splash (fix not remembering window size)
- WAYLAND: Use frontend signal handler to quit (fix quit by window close)
- WAYLAND: Commit viewport resizes (window resize is more responsive)
- UWP: Align MESA to alpha-2-resfix – Remove wrong resolution special handling for OPENGL
- UWP: 4K fix: align MESA reading of ClientRect to
- retroarch procedure, this fixes max resolution being set to 1080p. As reading must be done inside an UI thread and is in fact an async operation which might delay frame generation, the reading itself is doen once and cached, give that changing resolution while the app is running is an unlikely corner-case use
- WINDOWS: Windows mouse ungrab must release the mouse instead of confine it to the current desktop (#16488)
- WINDOWS: Fix numlock/pause key release events
1.18.0
- AI: Fix narrator language when AI translation and menu languages are different
- DISK CONTROL: Add option to disable initial disk change
- DISK CONTROL: Visibility option for disk control notifications
- DRM: Fix mode vrefresh calculation. When using an interlaced/doublescan mode, the vertical refresh rate is mis-calculated.
- EMSCRIPTEN: Fix mouse Y parameter translation in rwebinput
- INPUT: Fix input state combos including R3 and false triggers of RETROK_UNKNOWN
- INPUT: Add a new turbo mode, “Classic (Toggle)”
- INPUT: Fix bind hold when axis does not rest at 0
- INPUT: Limit axis threshold setting to sensible values
- INPUT: Add Overlay Mouse, Lightgun, and Pointer
- INPUT/ANDROID: Fix mouse grab behavior on Android
- INPUT/LINUXRAW: Fix device name and hotplug reconnect
- IOS: Minor iOS JIT availability information
- IOS/TVOS: Pause application on applicationWillResignActive
- LIBRETRO: Add Doxygen-styled comments to parts of the libretro API
- LUA: Update Lua to version 5.3.6
- MENU: Add sublabels for input bind common entries
- MENU: Don’t load history and favorites if size is 0
- MENU: Don’t disable fast forward when entering menu
- MENU: Widget position, size, color, icon adjustments
- MENU: Fix savestate slots in Qt UI
- MENU: Reorder and reduce depth of User Interface menu
- MENU/OZONE: Fix sidebar wraparound, visibility after config load, crash after playlist delete
- MENU/OZONE: Fix sidebar and sublabel animations
- OSX/MACOS: Fix crash on non-Metal build
- OSX/MACOS: Add portable.txt as flag for portable install
- REMOTE RETROPAD: add display for analog axes, indication of inputs already pressed
- SAVES: Allow combining saves in content dir with save sorting
- SHADER: Added rolling scan line simulation based on the shader subframe feature. This is implemented with a scrolling scissor rect rather than in the shader itself as this is more efficient although may not work for every shader pass – we may need an option to exclude certain passes. The implementation simply divides the screen up by the number of sub frames and then moves the scissor rect down over the screen over the number of sub frames
- TVOS: Force asset re-extraction when cache is deleted
- TVOS: Add history and favorites to Top Shelf
- TVOS: Fix crash when history item does not have a label
- UWP: Enable HAVE_ACCESSIBILITY for UWP builds
- UWP: Allow UWP build to work with a modified version of Mesa Gallium D3D12
- VIDEO: Add subframe shader support for Vulkan/GLcore/DX10-11-12, enabling shaders to run at higher framerate than the content
- VIDEO: Fix restoring fullscreen/windowed setting when unloading override
- VIDEO/VULKAN: Fix HDR with Vulkan after reinit
- VIDEO/VULKAN: Remove the use of oldSwapchain
- VIDEO/GL2: Fix OpenGL ES version detection
- WEBDAV: Fixed SEGFAULT in WebDav task sync + type changes
- WEBOS: Fix build, add core location on webosbrew.org
- WIN32: Fix Alt+Enter not working when menubar is disabled
→ NOWSZY [multi] RetroArch/Core 1.17 3/02/2024
RetroArch 1.17.0
- ACCESSIBILITY/TTS: fix target language and missing espeak handling on Linux
- AI: AI service reworked: performance increase, automatic translation, configurable subtitle placement, and more
- APPLE: Fix WebDAV crash with digest auth (Cloud Sync)
- APPLE: Cloud sync fixes - ignore .DS_Store files and re-sync on app foreground
- APPLE: Don't re-create default directories
- APPLE: Show Git information correctly
- AUDIO/SYNC: Handle Hz skew adjustment for high refresh rates better (BFI, swap interval)
- AUDIO/MIXER: Separate ffmpeg/mpv and audiomixer conditionals
- AUDIO/WASAPI: Reworked shared buffer operation for more flexibility, fixed exclusive mode last buffer looping when entering menu
- CONFIG/OVERRIDES: Fix setting savefile_directory in override file
- CONFIG: Force fixed locale for numbers
- CHEEVOS: Upgrade to rcheevos 11.0
- CHEEVOS: Use rc_client for state management
- CHEEVOS: Don't track disc changes when achievements are disabled
- CHEEVOS: Reinitialize rewind buffer after loading game with achievements
- CHEEVOS: Inform user when server is unreachable
- CHEEVOS: Fix crash on first load of game with achievements with threaded video
- EMSCRIPTEN: Increase chunk size for reads/writes
- EMSCRIPTEN: Modularize the JavaScript and clean up the web build
- EMSCRIPTEN: Prefix core name with libretro_ for exports
- EMSCRIPTEN: replace dashes with underscores in corenames (fix for vitaquake cores)
- EMSCRIPTEN: Use ZipFS for web player asset bundle
- EMSCRIPTEN: Change default audio rate to 44100
- IOS: Fix widget on IOS17
- IOS: Exit instead of crash on some errors
- IOS: Fix ios-vulkan-ppsspp
- IOS: Enable HDR support on IOS
- IOS: Add option to disable respecting silent mode
- IOS: Allow ignoring safe area (fullscreen over notch)
- IOS: Default to not enabling keyboard gamepad
- IOS: Fix XRGB8888 in GL driver
- IOS: Allow changing the app icon
- IOS: Add HAVE_ACCESSIBILITY to iOS builds
- IOS/TVOS: Create GL context as GLES3 to fix some rendering performance problems
- INPUT: Fix ghost input when setting RETROK_UNKNOWN
- INPUT: Default 'Bind Hold' to 0 to prevent problems with controllers not resting at null state
- INPUT: Add a setting to allow turbo d-pad directions
- INPUT: Don't save mouse buttons to autoconfig
- INPUT/MENU: Add option for merging 'Hotkey Enable' device types
- INPUT/mFI: disable secondary_joypad to prevent issues with controllers detected both as HID and mFI
- INPUT/UDEV: Change event detection to polling in udev_joypad
- INPUT/WAYLAND: Use unaccelerated pointer motion to prevent mouse dead zone
- LAKKA: Add new menu options for Switch (overclock, CEC, BT ERTM)
- LIBRETRO: Add environment command to get playlist path
- LIBRETRO/NETPACKET: Switch environment call number from 76 to 78 (retire 76 as it was never used by any core) Simplify broadcasts by removing the option to send to all but one client, use an explicit RETRO_NETPACKET_BROADCAST constant instead Separate explicit flushing and querying of incoming packet into two operations Enable a core to specify a protocol version string which can get used instead of core version to determine compatibility between two players Log and notify a separate message when there is a content crc mismatch while using this interface to convey it being less severe
- MENU: Fix menu analog stick navigation (1.16.0.1)
- MENU: Add option to find thumbnail images by playlist rom filename (1.16.0.2)
- MENU: Don't process menu events while input is being flushed (1.16.0.2)
- MENU: Prevent proceeding to next bind when single binding (1.16.0.3)
- MENU: Fix touchscreen menu false positives in case of overlap
- MENU: Sort playlists ignoring extension (Playstation 2 should come after Playstation)
- MENU: Treat System Volume Information folder as hidden on all platforms
- MENU: Add Belarusian language option
- MENU: Fix savestate thumbnail behavior when navigating back to playlist while content is still running
- MENU: Fix word wrapped widget length
- MENU: Add help text to controller drivers
- MENU: Fix quit on content close option
- MENU: Fix thumbnails in History for content loaded through Load Content
- MENU: Flexible thumbnail matching (ROM name - database name - short name)
- MENU: Remove legacy thumbnail pack downloader
- MENU/GLUI: Icon corrections
- MENU/OZONE: Thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus)
- MENU/RGUI: Fix text scaling in 16: 9
- MENU/XMB: Background images take precedence over color themes, default image opacity set the same as color theme opacity
- MENU/XMB: Fix segmentation fault when background image is missing
- MENU/XMB: Several corrections and cleanups
- MENU/XMB: Layout/thumbnail fixes - Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments
- NETWORKING/NETPLAY: Add support for joining MITM servers from command line
- NETWORKING/NETPACKET: Interface connection flow improvements
- OSX: Fix mouse support for MelonDS DS on OSX
- OSX: Option to create a portable build
- PATCHES: Add support for XDelta-formatted patches.
- PATCHES: Fix patching for cores that support contentless mode
- PS2: Fix for no sound
- PS2: Fix 0-byte logs and add memory stats
- PSP: Fix memory leak in audio driver
- RUNLOOP: Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
- RPI: Fix videocore + switchres compile failure
- SCAN: Do CRC check on PSP/PSP(PSN) content
- TVOS: Enable overlay support
- VIDEO/BFI: Black Frame Insertion added to DirectX10/11/12. BFI Hz range now covers every 60hz multiple under 1000hz. Variable Strobe length via new 'Dark Frames' option, algorithm to auto select 'decent' Dark Frames choice.
- VIDEO/GLSL: Add FinalViewportSize support to GLSL
- VIDEO/GLSL: Change rotation type to int to maximize compatibility
- VIDEO: Use video refresh rate instead of core refresh rate for menu frame limiting
- VIDEO: Limit paused video refresh rate
- VIDEO: Enforce swap interval 1 in menu if vsync is on
- WII: Enable Cheevos for Wii builds
- WIIU: Fix config file and core info reading
- WIIU: Fix "Up" and "Left" directional input for both Analog sticks for GC Adapter
- WIIU: Fix 3 USB controllers (NES/SNES/Retrode)
- WIIU: Fix file descriptor leak
- WIN32: Prefer D3D11 and WASAPI as default video and audio drivers
- WIN32: Fix window size when aspect ratio is < 0
- WIN32: Fix screen resolution always tied to the main monitor
- WAYLAND: Enable fallback for screensaver inhibit via D-Bus
- WAYLAND: Introduce wp_fractional_scale_v1 protocol for proper fractional scaling
- WAYLAND: Update wayland-protocols version to 1.31
RetroArch 1.16.0
- 3DS: Update __system_initArgv
- 3DS: Update SquirrelJME 3DS Core information along with icons.
- ANDROID: Rewrite input handling to better support AINPUT_SOURCE_STYLUS
- ANDROID: Prevent the android quick tap mouse click emulation while pressing a button on the on-screen overlay
- AUDIO: Fast-Forward Audio Resampling
- AUDIO: Reinit audio on audio sync toggle
- AUDIO: Count audio samples in stats when rate control is disabled
- AUDIO/PULSEAUDIO: Support device list for PulseAudio
- AUDIO/WASAPI: WASAPI Frame Delay fix + cleanups
- AUDIO/WASAPI/MIDI: Frame Delay correction
- ARCHIVE/ZIP: Improve ZIP decompression This reduces the amount of memory Retroarch needs to extract a ROM file. It will only need the size of the ROM plus 128KiB to extract the file from the ZIP. Previously it needed as much as twice that amount if the compression ratio was not great. This is useful on memory constrained platforms and has no impact on platforms with plenty of memory. Handles all cases correctly (with and without MMAP, for cores that require fullpath or not, small and big ZIP files).
- APPLE: Add default keyboard overlay directory to platform_darwin
- APPLE: Update to MoltenVK 1.2.4
- APPLE: Don't include MoltenVK library in Load Core menu list
- APPLE: Enable AltServer JIT for builds installed by Xcode
- APPLE: The default pthread stack size on Apple is too small for detect_ps2_game, so increase it
- APPLE: Introduce Cloud Sync via a WebDAV service on iOS/TVOS/MacOS
- CHEEVOS: Upgrade to rcheevos 10.7
- CHEEVOS: Don't initialize rcheevos memory unless used
- CHEEVOS: Add progress tracker widget
- CHEEVOS: Eliminate leaderboard tracker stutter
- CHEEVOS: Expand leaderboard visibility settings
- CHEEVOS: Collapse trackers with same value definition
- CHEEVOS: prevent frame step when hitting rewind button while paused in hardcore
- CHEEVOS: disallow video_swap_interval and black_frame_insertion in hardcore
- CRT/SWITCHRES: Don't always force core aspect ratio
- CRT/SWITCHRES: Fix aspect ratio for tate games on a horizontal screen
- CRT/SWITCHRES: Add PAL threshold option for automatic refresh rate switch
- CRT/SWITCHRES/KMS: Add KMS modeswitch
- COMMAND: Make cmd interface more useful for replay information
- CONFIG: Allow all systems to check for backslashes (Windows) as last slash in path. Improves portable core logic
- D3D11: Fix memory corruption in d3d11_gfx_init
- D3D12: Enable blending when drawing the menu
- D3D12: Move fence signaling out of d3d12_gfx_sync
- D3D12/LIBRETRO: Add D3D12 HW_render support
- DOWNLOADS/THUMBNAILS: Prevent directory creation on bogus thumbnail downloads
- EMSCRIPTEN: Fix Emscripten sleep function/macro
- EMSCRIPTEN/RWEBAUDIO: Fix RWebAudioInit race condition
- EMSCRIPTEN/OPENAL: Make openal default audio driver
- FFMPEG: Fix RetroArch fails to restart streaming when video re-inits and instead starts recording
- FRAMESKIP: Use refresh rate instead of core fps for frameskip timing
- 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/AUTOCONFIG: Reinit after updating autoconf profiles
- 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/MENU/OSK: Allow more keyboard actions with menu osk
- INPUT/REMAP: Remap label fix when no autoconf profile active
- INPUT/REMAP: Add 'Save As' option for remaps and overrides
- INPUT/OVERLAY: Add overlay parameter to control x/y separation in auto-scale mode
- INPUT/OVERLAY: Revive/rewrite Keyboard Overlay and OSK Toggle. Add keyboard overlay preset, keyboard submenu, 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: Rework JIT availability checks
- 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
- TVOS: Fix accidental left/right keypresses on tvOS
- TVOS/CONFIG: Avoid a crash if there is no backed up config file on tvOS 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
- INTL: Fix language detection in Canada to English
- 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.
- LIBRETRO: Add new API for querying the device's power state.
- LIBRETRO/VFS: Rewrite retro_vfs_file_remove_impl
- 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.
- MIDI: Show MIDI output first
- MENU: Reorganize 'Saving' menu
- 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: Move 'systemfiles_in_content_dir' from Saving to Core
- MENU: Menu navigation acceleration adjustments
- MENU: Audio synchronization menu cleanup
- MENU: Menu value label cleanup
- 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
- MENU: Preselect current core in "Set Core Assocation" menu for more carefree usage
- MENU: Focus back to "Set Core Association" item after returning from the menu instead of first item
- MENU: Replaced hack fix for focusing the first item after returning from core suggestion "Run" menu after association reset
- MENU: Fixed setting core association in history/favorites after resetting it and running without setting
- MENU: Relocate playlist manager core association options to prevent accidental resets with Start
- MENU: Fraction setting wraparound rounding correction
- MENU: Add more missing sublabels
- MENU: 'Updater Settings' relocation
- MENU: Search box usability improvements
- MENU/RGUI: Implement 'Remember Selection' option
- MENU/RGUI: Fix savestate thumbnail fullscreen cancel action
- MENU/RGUI: Fix and add toggle for playlist thumbnails
- MENU/OZONE: Update Dracula theme
- MENU/OZONE: Return to sidebar from playlist manage quick access
- MENU/OZONE: Sidebar multiline scrolling
- MENU/OZONE: Avoid crash if ozone sidebar_index_size is 0
- MENU/OZONE: Prevent metadata and footer overlap
- MENU/OZONE: Sublabel width tweak
- MENU/OZONE: Mouse hover selection fix
- MENU/XMB: Message/help box adjustments
- MENU/XMB: XMB menu playlist index bugfix
- MENU/XMB: Playlist label limit fixes
- MENU/XMB: Prevent playlist label truncating long items even when right thumbnail is not enabled/visible
- MENU/XMB: Prevent playlist label length resetting to full width on every item change while thumbnail is pending
- MENU/XMB: Stop showing playlist entry index outside of playlists
- MENU/XMB: Fix menu focus issue when returning from "Set Core Association" if playlist index is greater than the previous menu
- MENU/EXPLORE: Prevent flashing when browsing fullscreen thumbnails
- MENU/EXPLORE: Match label ticker length behavior with playlists
- MENU/SOUNDS: Fix certain audio drivers from hanging when menu pause is enabled with menu sounds
- MENU/SOUNDS: Fix menu sounds stopping after fullscreen toggle / video reinit
- MENU/QT/WIMP: Cleanup Desktop Menu welcome text
- MENU/OVERLAYS: Reorder overlay menu
- MICROPHONE: Add support for microphones.
- MICROPHONE/ALSA: Add alsa and alsathread microphone drivers.
- MICROPHONE/SDL: Add sdl2 microphone driver.
- MICROPHONE/WASAPI: Add wasapi microphone driver.
- 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
- PLAYLIST: Change default playlist last played time format
- 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
- UWP: Fix modifier keys ( shift, ctrl, alt ) as well as F10 not being detected on the UWP platform
- VULKAN: Ignore Fast-Forward Frameskip option
- VULKAN/KHR_DISPLAY: Support screen refresh rate with Vulkan KHR_Display context
- WIN32: Increase maximum window limit
- WIN32/WINDOWSXP/MSVC2010: Fix invisible menu display
- WAYLAND: Remove splash screen
- WAYLAND: Check for pointer before locking it
- WAYLAND: Add mouse grab/lock functionality
- WAYLAND: Get system wayland-protocols path via pkg-config
RetroArch 1.15.0
- AI SERVICE: Fix NVDA switching to Powershell on speak
- ANDROID: In Android builds, add input_android_physical_keyboard configuration option and its corresponding menu entry to force a device to act as a physical keyboard. When running on Android, RetroArch considers most devices that emit dpad events as gamepads, even if they also emit other keyboard events; this is usually the right thing to do, but it has the side effect of not letting some actual keyboards (e.g.: Logitech K480) act as such inside RetroArch. This configuration option allows users to manually select a specific input device to act as a physical keyboard instead of a gamepad, which is handy when emulating computers as opposed to consoles.
- APPLE: Add App Category to a few places it should have been
- APPLE/MFI: Prevent crash when controller player index is unset (-1)
- AUTOMATIC FRAME DELAY: Helped delay to decrease easier when it should and helped delay to stay put when it should when triggering pause & menu with or without pause & fast-forward & slow-motion & geometry change
- AUTOMATIC FRAME DELAY: Recalibrate delay on video reinit (fullscreen toggle and such)
- AUTOMATIC FRAME DELAY: Show (x effective) only in menu item and not in dropdown list items when auto is enabled
- CHEEVOS: Allow repositioning of RetroAchievement notifications
- CHEEVOS/MENU: Add Achievements Visibility submenu option
- CHEEVOS/MENU: Startup Summary split off from Verbose Mode, added option to hide for games with zero core cheevos
- CHEEVOS/MENU: 'Unlocks/Mastery' split into two options
- CHEEVOS/MENU: 'Account/Login Messages' split off from 'Verbose', gated all login success/error messages
- CONFIG/INPUT: Unload restores current global config
- CONFIG/INPUT/OVERRIDES: Removing a file does not unload current override
- CONFIG/INPUT/OVERRIDES: Saving an empty override removes the file if it exists, and won't save when it does not
- CONFIG/INPUT/OVERRIDES: Prevent the use of RUNLOOP_FLAG_OVERRIDES_ACTIVE with appendconfig
- CORE OPTION: Core option setting type checks. Added checks for getting and setting core option type, since otherwise there will be a crash on close content after browsing to core option categories. Also fixed the no-show switch icon for lone wolf "Lock Installed Core".
- CLI: Update selected save slot when start with cli --entryslot
- CLI: Decouple config CLI append and config overrides
- CLI/MENU/XMB: Stop showing bogus previous icon on CLI launch
- D3D9: Fixed display driver scissoring implementation - can now accept 0 width/height
- D3D10: Fixed display driver scissoring implementation - can now accept 0 width/height
- D3D11: Fixed display driver scissoring implementation - can now accept 0 width/height
- D3D11: Fixed build when HAVE_DXGI_HDR is not defined
- D3D11: Moved waitable swapchain waiting to happen always even when resizing swapchain
- D3D12: Fixed display driver scissoring implementation - can now accept 0 width/height
- D3D12: Fixed window scaling issue, which was caused by swapchain resize function not using the same flags (waitable swapchain) as swapchain creation
- D3D12: Fixed swapchain scissoring issue (visual + crash) after manually resizing window to smaller size
- D3D12: Fixed eventual crashing issue on video reinit when swapchain is being freed
- D3D12: Moved waitable swapchain waiting to happen always even when resizing swapchain
- EMSCRIPTEN: Add HAVE_PATCH support for Emscripten
- EMSCRIPTEN: Add BSV/Replay support for Emscripten
- EMSCRIPTEN: Add command and stdin_cmd features to emscripten RA. update libretro.js to show how commands could be sent over emscripten stdin.
- FRAME DELAY/MENU: Show Frame Delay without VSync
- GENERAL: Start unpause restriction. Limit the feature using retropad start button to unpause RA to the setting it was made for; "pause on controller disconnect".
- GENERAL: Savestate thumbnail aspect ratio fallback. Thanks to at least one certain core that announces aspect ratio as 0, we have to add the same fallback in savestate thumbnails that is happening elsewhere in normal video driver use anyway.
- GENERAL: Add support for system subdirs per core/database. Added the trivial and graceful automatic ability to send a different system directory to cores if it exists, for keeping the system dir more sane. First by using the core/library name just like in configs and saves, and then by playlist name, like in thumbnails, and of course default to the current global system dir.
- GENERAL: Ignore system subdir replacement if subdir has subdirs.
- GENERAL: Restore cached video driver always on quit
- IOS: Include 'Update Core Info Files'
- IOS: Fix #14778 - In addition to sending logs to asl_client, add them to the logfile.
- IOS/VULKAN/MOLTENVK: Vulkan video driver on iOS
- LATENCY/PREEMPTIVE FRAMES: Add Preemptive Frames to Latency Settings. RunAhead alternative that reruns core logic to "rewrite history" before the current frame. Frames are only rerun when the controller state changes, so it's faster overall.
- LATENCY/PREEMPTIVE FRAMES: Call retro_run before retro_serialize (#14893). Fixes preemptive frames not starting up with a few cores
- LIBRETRO-COMMON/VFS/FILESTREAM: Fixes filestream_vscanf regression
- LOCALIZATION: Updates
- LOCALIZATION: Enable localization of video rotation, orientation, and aspect ratio option values.
- LOCALIZATION: Mixer stream localization also added
- LOCALIZATION/MENU/HELP: Context dependent help text for audio and video drivers. Language corrections
- LOCALIZATION/MENU/LANGUAGE: Language submenu now shows the progress of translated strings for each language.
- LOCALIZATION: Help texts now localizable through Crowdin.
- LIBRETRO: Enable RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME for libretro-video-processor
- LIBRETRO/HW: Add GET_HW_CONTEXT_NEGOTIATION_INTERFACE_SUPPORT. Works around issues in v1 interface where it was not possible to query what frontend would do when faces with newer interface versions. This env-call gives stronger guarantees how things have to work.
- INPUT: Allowing keyboard hotkeys to work without hotkey modifier if modifier is only mapped to RetroPad
- INPUT: Allowing keyboard hotkey keys for typing if hotkey modifier is set to keyboard but not pressed
- INPUT: Allowing keyboard RetroPad keys for typing if emulated device type is "None"
- INPUT/AUTOCONFIG: Check for 'enable_hotkey' also from autoconf binds
- INPUT/BLUETOOTH: Fix a crash in for BT HID devices. (#14922) pad_connection_destroy() frees slots, no need to free it again.
- INPUT/BSV/REPLAY: Don't start video recording when BSV recording starts
- INPUT/BSV/REPLAY: Don't double-record inputs in BSV recording
- INPUT/BSV/REPLAY: Don't autoload states if a BSV file is being played back or recorded
- INPUT/BSV/REPLAY: Moved BSV initialization before autoload code
- INPUT/BSV/REPLAY: Don't trigger autoload code if there is bsv movie state
- INPUT/BSV/REPLAY: Allow for both -e and -R to start a BSV file recording at a state
- INPUT/BSV/REPLAY: Add keyboard recording support to BSV
- INPUT/BSV/REPLAY: Fix BSV playback from a starting state for DOSbox
- INPUT/BSV/REPLAY: Associate states with replays. Now states can be saved and loaded during replay recording and playback in a way that keeps the integrity of the recording. Recordings also have a (moderately) unique identifier associated with them.
- INPUT/BSV/REPLAY: Add checkpointing feature for replay recordings. If cores are not deterministic, or if they only have bounded determinism, we can obtain less drift if replay files also contain periodic checkpoint states. These are configured by the new retroarch setting replay_checkpoint_interval (measured in seconds). States are inserted into the replay file in between frames. This also fixes the settings display for the replay autoincrement max keep setting.
- INPUT/FRAMEADVANCE: Use non-rendering pause mode when frameadvance is triggered
- INPUT/HOTKEYS/OVERLAYS: Do not block input overlay hotkeys
- INPUT/HOTKEYS: Hotkey blocking correction. Turned out the previous hotkey blocking changes worked properly only with winraw driver and not the rest (at least with Windows), because input_keyboard_event() could be called at the wrong moment, and thus storing keyboard menu press there broke the separation of controller Guide menu button and keyboard menu key. Also allowed the blocking to work in both directions so that controller hotkeys won't get blocked if only keyboard has "enable_hotkey" bind.
- INPUT/LINUX/UDEV: Fix udev guns input when id_mouse is not id_joystick
- MENU: Rename 'Standalone Cores' to 'Contentless Cores'
- MENU: Music files should also obey builtin_mediaplayer_enable (#14967) Disabling the built in media player should be possible for music files as well. Without this, sound files can not be opened from file browser with cores that support them.
- MENU: Relocated items to a more logical order
- MENU: Corrected some title capitalizations (when/before/after are not low case, but for/the/a are)
- MENU/AUDIO: Add dropdown menu for audio device
- MENU/HELP: Help for turbo modes (#14919). Help text added for each of the selectable turbo modes.
- MENU/INPUT: Add unified back action to all menu drivers. Usability boost for all menu drivers resulting in similar behavior as with Ozone currently, which is pressing back/cancel enough the selection jumps first to Main Menu and when pressed again jumps to the first item, so that when a core is running, Quick Menu is very quickly accessible from anywhere. And when core is not running, the first item would be Load Core.
- MENU/INPUT: Override bind save + menu manager overhaul
- MENU/INPUT: Allowed and fixed input bind saving to overrides
- MENU/INPUT: Overhauled override menu
- MENU/INPUT: Pressing Start on the top active file entry reloads current overrides as startup would
- MENU/SUBLABELS: All under "Configuration File" + moved "Reset to Defaults" to bottom
- MENU/SUBLABELS: Quick Menu > Controls > Port x Controls
- MENU/SUBLABELS: Port x Controls > Device Type
- MENU/RGUI: Fix disabled menu item color. The effect was not working properly, since transparency meant using the core output color as background.
- MENU/XMB: Horizontal icon animation fix
- MENU/XMB: Fixed playlist manager icons to take Explore Views into account properly
- MENU/XMB: Changed XMB Explore View title to match Ozone
- MENU/XMB: Added "Switch Icons" option
- MENU/XMB: Fix MENU_ACTION_CANCEL when search is active. Nasty issue discovered in XMB which broke search term cancelation.
- MENU/XMB: Layout corrections:
- MENU/XMB: More room for longer item labels and values
- MENU/XMB: "Core Downloader" has extra space for item and "installed" indicator
- MENU/XMB: Fixed "Menu Scale Factor" to not require restarting to get the actual end result
- MENU/XMB: Adjusted scale factor to behave better with both layouts
- MENU/XMB: Fixed savestate thumbnails and adjusted vertical fade factor in "Handheld" layout
- MENU/XMB: Changed thumbnail shadow to outline and tightened fullscreen thumbnail margins
- MENU/XMB: Adjusted global shadow opacity
- MENU/XMB: Remove "Framebuffer opacity" from XMB as it does not use it. Also, rename the corresponding menu title, since "framebuffer" is not that intuitive.
- MENU/OZONE: Fixed playlist manager icons to take Explore Views into account properly
- MENU/OZONE: Refresh thumbnail on close content hotkey
- MENU/OZONE: Ozone footer enhancements (#14926). Add Help button (Select) and Reset to Default (Start) to footer where applicable.
- MENU/OZONE: Ozone footer enhancements (#14934). Display Help footer only if there is actual info to be displayed, either actual help, or sublabel if it is not visible otherwise.
- MENU/OZONE: Ozone footer enhancement: Scan button (#14949). Display Scan button in footer when it is applicable.
- MENU/OZONE: Add Clear button to Ozone footer (#14947). Add indication of Clear button when it is applicable (currently: keybinds).
- MENU/MATERIALUI: Added missing Favorites+History icons in playlist manager
- MENU/MATERIALUI: Added "Switch Icons" option
- MENU/CHEATS: Added missing icons in cheats (Delete + Copy After/Before)
- MENU/CHEATS: Fixed label capitalization in cheats (Add New After/Before This)
- MENU/SOUNDS: Add scrolling sounds for RGUI, XMB, MaterialUI and Ozone.
- MENU/SOUNDS: Better scrolling sound implementation, add new 'notice back' sound
- MENU/SOUNDS: Scroll sound fixes. Correctly get list size in xmb.c for playing scrolling sound when switching categories, play the scrolling sound when pressing cancel in ozone, play the sound when scrolling with ZL and ZR, play the correct sound when scrolling with L
- MENU/WIDGETS: Show square sized widget on volume mute. Volume widget is currently fixed size always, and thus showing a lot of empty space when muting, therefore shorten the box to icon size only when muting.
- MIYOO: L3/R3 support for Dingux Gamepad controller device.
- NETWORKING: Call ssl_socket_close for SSL sockets
- NETWORKING/CHEEVOS: net_http - Temporary fix for cheevos crash. Don't use new timeout/poll code for cheevos HTTP requests.
- NETWORKING/MENU: Network information cleanup:
- NETWORKING/MENU: Remove extra space from: delimiter
- NETWORKING/MENU: Trim useless/duplicate garbage from the end of ipv6 address. Windows shows %[adapter number], Linux shows %[adapter name], which already shows before the address
- NETWORKING/STDIN: Add LOAD_STATE_SLOT N command to stdin/network protocol
- OSD/STATISTICS: Add Run-Ahead data to on-screen statistics
- OSD/STATISTICS: Notification font + statistics adjustments
- OSD/STATISTICS: Finetuned statistics layout to be more compact and aligned
- OSD/STATISTICS: Group Run-Ahead and Frame Delay as "Latency"
- OSD/STATISTICS: Try to scale font as small as possible/readable if stats won't fit
- OSD/STATISTICS/FONT: Allow reseting notification font with RetroPad Y to "null", which uses the fallback pixel font
- OSD/STATISTICS/FONT: Show "Default" instead of empty with default font
- OSD/STATISTICS/FONT: Start browsing font from assets instead of root
- OSX/MACOS: Steam platform support
- OSX/MACOS: Set LSApplicationCategoryType to games
- OSX/MACOS: Include OpenGL video driver on Metal macOS builds (10.13 and higher)
- OSX/MACOS: Fix a few mac windowed mode settings -
- OSX/MACOS: Use "Remember window position and size" setting (fixes #14806)
- OSX/MACOS: Implement window opacity
- OSX/MACOS: Enable "Show window decorations" toggle
- OSX/MACOS: Hide "Disable composition" option (osx does not support disabling composition)
- OSX/MACOS: Make sure to use the file system path name, not the URL name
- OSX/MACOS/IOHIDMANAGER: Various memory access fixes to prevent crashes (#14459) (#15000). Prevent double free and null dereference when the controller is quickly reconnected. Handle error when controller device query returns null instead of crashing.
- OSX/MACOS/METAL BUILD: Fix input events (keyboard/mouse) sometimes going lost when switching between fullscreen and windowed mode. Fixes lots of longstanding issues
- OSX/MACOS/OPENGL: Fix for fullscreen OpenGL driver in Metal macOS build
- OSX/MACOS/VULKAN/MOLTENVK: Default to Vulkan driver when available (for 10.13 Metal Universal build)
- OSX/MACOS/VULKAN/MOLTENVK: Updated Vulkan on Metal for OSX via MoltenVK
- OSX/MACOS/VULKAN/MOLTENVK/HDR: Fix non-HDR colors
- OSX/MACOS/SLANG: The change to apply shaders would be executed and then a command to apply shaders would immeidately be enqueued, to run asynchronously after the current event handler, which then did exactly the same. Fixes issue #14789 - Turning on shaders on Metal build 1.14.0 stable for Mac OS will slow emulation drastically thing, creating a busy loop.
- PS2: Avoid loading extra drivers when not needed. Fixed a bug where it wasn't using the variable extra_drivers, for loading the specific IRX needed drivers. This is increasing compatibility with some specific PS2 models that sometimes fail when loading cores.
- PS3/PSL1GHT: Add improvements to the RSX driver (#14965)
- PS3/PSL1GHT: Add modern_alpha_blend and modern_opaque rsx shaders
- PS3/PSL1GHT: Add perf improvements to the rsx driver
- PS3/PSL1GHT: Add RSX video driver
- PS3/PSL1GHT/MENU/XMB: Do XMB menu scaling for psl1ght
- PS3/PSL1GHT: Update Makefile to use latest shaders and more UI menu options
- PS3/PSL1GHT: Default folders normalization
- PS3/PSL1GHT: Fix video rotation
- PS3/PSL1GHT: Fix HTTP download
- QB/CONFIGURE: Add new flags - HAVE_UPDATE_CORE_INFO, ASSETS_DIR, FILTERS_DIR
- RECORDING: Add recordings to video history playlist
- REWIND: Don't take rewind steps while menu pause active
- RUNLOOP: Currently when core is paused, video output will be stopped completely too, making it impossible to animate widgets while paused, therefore:
- RUNLOOP: Added a new runloop state for pause which renders last cached frame
- RUNLOOP: Allowed rewinding while paused so that it acts like backwards frameadvance. Also moved rewind step taking before menu iteration so that steps won't be lost while in menu when menu_pause is disabled
- RUNLOOP: State load and reset while paused will forget pause for x frames in order to show proper output
- RUNLOOP: Allowed reading pause hotkey while menu is active
- RUNLOOP: Allowed reading screenshot hotkey while menu is active
- RUNLOOP: Joined 2 fullscreen hotkey checks to one (Any ideas why they were separated for paused and non-paused states, since one works fine for both..?)
- RUNLOOP: Implement GET_HW_CONTEXT_NEGOTIATION_INTERFACE_SUPPORT. Fairly trivial. Just report the latest version.
- SAVESTATES: State slot hotkey adjustments -
- SAVESTATES: Allow selecting -1 Auto slot with hotkeys
- SAVESTATES: Allow wrap-around from -1 to 999 and backwards
- SAVESTATES: Show failure message when trying to load a state that does not exist instead of plain "Loading state"
- SAVESTATES: Shorten the duration of slot change notification
- SAVESTATES: Change the widget type to the same type as shader toggle for better back and forth action. Closes [Widgets] Save state slot switcher
- SHADERS: Append Preset feature
- SHADERS: Prepend Preset feature
- SHADERS: Shader Preset - Wildcard Replacement in Paths on Load. When a simple preset loads, text wildcards which are found in paths inside the presets will be replaced with values coming from the current RetroArch context. The replacement will be executed on both texture paths and reference paths.
- SHADERS/SLANG/SPIRVCROSS: Update to latest SPIRV-Cross, fixing Metal shader compilation issues along the way
- STATICALLY LINKED/SALAMANDER: Fix salamander config save on fork for static platforms
- TVOS/VULKAN/MOLTENVK: Vulkan on tvOS
- VIDEO: Allow manual video swap interval forcing. The addition of auto swap interval effectively prevented manual forcing, which is beneficial when the rate is not reported properly. Therefore use the interval in the calculation only when using automatic interval.
- VULKAN: Fix crash when using multiple physical devices and HW core (#14889)
- VULKAN: Detect if wrong PhysicalDevice is returned.
- VULKAN: Actually query physical device before creating core device.
- VULKAN: Define and implement v2 of context negotiation interface
- VULKAN: Add v2 of context negotiation interface.
- VULKAN: Add vkEnumerateInstanceVersion symbol.
- VULKAN: Implement v2 context negotiation
- VULKAN: Use compute shaders to upload RGB565
- VULKAN: Fix regression with RGB565 and OriginalHistory.
- VULKAN/WAYLAND: Don't clamp the number of requested images. Due to an unfortunate "feature", MESA always reports 4 as the Vulkan surface's minImageCount in Wayland. However, values of 2 and 3 work perfectly well, even if they are out of spec, providing way better latencies when using the Vulkan backend on Wayland. So this removes the artificial clamping that was being done to desired_swapchain_images, because it's not really necessary and was causing very noticeable input lag on Wayland+Vulkan.
- VULKAN/MENU/RGUI: Fix RGUI on Vulkan on platforms that don't have _pack16 VkFormats
- VULKAN/MACOS/OSX: avoid using _PACK16 pixel formats on platforms without them
- WAYLAND: On scaled desktops the wayland backend deciding to resize based on values multiplied by the scale factor twice. Resulting in continuous attempts to rebuild the swapchain when in fullscreen.
- WAYLAND: Wait for splash screen configuration. Before, configuration (resize) events for the initial wayland window could happen before or after set_video_mode which could result in a small or corrupted window. Now we make sure that the initial window has processed it's resize events before window size is set by set_video_mode.
- WAYLAND: Changes the initial window to show a RetroArch logo copied from the icon of the X11 backend.
- WAYLAND: Build pointer-constraints and relative-pointer protocols.
- WAYLAND/GL: GL is sometimes not rescaling property (Super + Left).
- WIN32: Ignore window limiting with fixed position. The other resizing part already took this into account, but WM_GETMINMAXINFO did not.
- WIN32/INPUT: Add support for mouse button swap
- WIN32: Fix keyboard event characters. Added sending key chars to all input drivers (currently they only send scan codes), and also missing mods for raw.
- WIN32: Fix restart if path has spaces. CreateProcess does not like to have anything executable path related in the second parameter lpCommandLine if the path has spaces. Thus strip everything from args except the actual parameters.
RetroArch 1.14.0
- AUDIO/COREAUDIO/APPLE: Allow coreaudio3 driver to work with audio devices that have 2 or more output channels
- CHEEVOS: Fix construction of Cheevos badge path
- CLI: Fixed not getting any output when running --version or --features without --verbose
- CLI: Fixed crash when running empty - parameter (it proceeded to content loading)
- CLI: Reformatted --features to require less rows and to be more consistent
- CLI: Added -V shorthand for --version
- CLI: Tab removal + whitespace nits
- CONFIG/MIDI: Prevent MIDI startup error with old configurations
- D3D11: Fix when using shaders with TATE mode arcades etc
- D3D12: Fix when using shaders with TATE mode arcades etc
- D3D12: Added support for break on errors (development aid - define DEVICE_DEBUG to use)
- D3D12: Added support for DRED (device remove extended data) (development aid - define DEVICE_DEBUG to use)
- D3D12: Made D3D12 viewport and scissors to behave more like Vulkan drivers (or be more correct)
- D3D12: Fixed validation error on start up due to buffers not being setup correctly for one frame
- D3D12: Fixed some shaders not appearing with the d3d12 driver - this reintroduces a validation error though but it seems to work as in not crash and is the old RA behaviour. Guess we need a different way of fixing the validation issue.
- DATABASE/EXPLORE/VIEW: Bugfix - RGUI did not clear thumbnail on non-playlist items such as Save and Delete menu_explore_get_entry_playlist_index() returns -1 on invalid entries, but the variable where it was stored was unsigned
- DATABASE/EXPLORE/VIEW: Bugfix - XMB+Ozone cleared thumbnail in Quick Menu when navigating away from Run
- DRM/ODROID GO2: Implement get_video_size for DRM GL context driver
- FASTFORWARD: Restore framelimit on fastforward toggle. Fast-forward was broken after toggling vrr_runloop off, since it will force frame limit to 1.0 (even on every frame) and never restores it. So let's make sure the wanted ratio is applied when toggling FF (Fastforward).
- FFMPEG CORE: Fix runtime error in FFmpeg core when build with FFmpeg n5.1.2 and OpenGL ES
- GFX/VIDEO FILTERS: (picoscale_256x_320x240) Added snn function to upscale Fuse (ZX Spectrum) core borderless output to 320x240. ZX Spectrum resolution of 256x192 was previously unsupported.
- HOTKEYS: Further reorder internal hotkey items for consistency and removed SEND_DEBUG_INFO, OVERLAY_NEXT and OSK from visible hotkey bind list. "Send Debug Info" stuff is removed as much as possible without breakage due to translation files.
- INPUT/AUTOCONFIG: Disable 'pause on controller disconnect' by default - was enabled by default on 1.13.0
- INPUT/MENU: Device Index menu refactor
- INPUT/OVERLAY: Fix analog drift blocking touch input (could occur on overlay_next if physical inputs shown on overlay)
- INPUT/OVERLAY: Fix overlay_next buttons lighting up in unison
- INPUT/OVERLAY: Skip meta keys in input_overlay_add_inputs (not supported by input_state_internal)
- INPUT/WINDOWS/WINRAW: Fix mouse position when using input overlay with mouse cursor
- INPUT/WINDOWS/WINRAW: Fixed mouse position to use the same method required for menu items and pointer when simulating input overlays with mouse, since it won't work with multi mouse method
- INPUT/WINDOWS/WINRAW: Fixed passing mouse position to core also when using aforementioned method
- LEAPFROG: Add Leapfrog (LFx000) Target
- LOCALIZATION: Updates
- LOCALIZATION/INPUT/IME/MENU/ONSCREEN KEYBOARD: Extended IME and Korean OSK
- MENU: Cleanup of help texts
- MENU: Allow toggling info off with the same button
- MENU: Allow menu wallpaper/background reset. Let's also remove the current wallpaper from the screen when pressing Start.
- MENU: Null driver shows with different color (Added for all menus the ability to show "disabled" items with a muted color)
- MENU/DRIVERS: Menu driver first, Audio Resampler removed because it is enough to exist under audio settings
- MENU/INPUT: Moved "Confirm Quit" to Input menu
- MENU/INPUT/HOTKEYS: Input hotkey menu completely overhauled to keep related entries together, and also adjusted some labels and sublabels
- MENU/OVERLAY: Fix overlays behind menu without core running. "Show Overlay Behind Menu" is currently broken with Ozone and XMB (with any other color theme than Plain) when running without a core.
- MENU/MATERIALUI: Fix home screen on first startup - no more stray entries
- MENU/OZONE: Allowed drawing sidebar and thumbnail bar background color also when core is running
- MENU/OZONE: Stopped using different padding and position for savestate thumbnails vs imageviewer
- MENU/OZONE: Removed gradient background effect when core is running, because some themes already have gradient background, which creates ugly rough steps
- MENU/OZONE: Fixed "Gray Light" theme from using the same background as "Gray Dark", which makes selection cursor near impossible to see
- MENU/OZONE: Some whitespace corrections
- MENU/UX: Extend OFF menu value colors
- MENU/UX: Menu icon improvements - Menu Visibility icons (Quick Menu + Settings)
- MENU/UX: Menu icon improvements - Playlist Manager icons
- MENU/UX: Menu icon improvements - Explore icon as database icon
- MENU/UX: Menu icon improvements - View and filter icons as cursor icon (folder icon in GLUI)
- MENU/UX: Menu icon improvements - View save + delete icons
- MENU/UX: Menu icon improvements - Moved Explore + Views below Standalone Cores
- MENU/UX/OZONE: Removed icons from menus where others items don't have icons, and added icons to menus where the rest have icons
- MENU/UX/OZONE: Changed the way "no icon" is handled from kludgy way of not drawing SUBSETTING icon
- MENU/UX/XMB: Changed playlist entry index positioning to bottom right when thumbnails are in vertical mode, because big lists will overlap with arrow and current "breadcrumb" icons when the position is next to current selection
- MENU/UX/XMB: Added a rather nasty hack to prevent showing wrong icons under Explore as "breadcrumb" icon
- MENU/UX/XMB: Optimized certain icon drawing loops (Main horizontal icons were looped even when not visible, and all previous "breadcrumb" icons were looped when only one certain was needed)
- MENU/UX/MATERIALUI: Fixed showing icons where there should not be any (Waitable Swapchains, Show Recording + Streaming)
- OSX/MACOS: Fixed Cocoa keyboard not allowing to map Analog stick
- PS2: Use the recently created ps2_drivers which makes easier the loading and init of all the drivers: Memory Card, USB, HDD, Audio, Controllers
- PS2: Adds exFat support for USB, and probably solves some unexpected issues when using an HDD driver for booting cores/games.
- SDL GFX: Fix no menu on start/blank screen issue.
- SRAM: Don't init SRAM saving without content (gets rid of the redundant logging)
RetroArch 1.13.0
- 3DS: Remove debug button combo to shutdown RA
- 3DS: Remove MaterialUI as per MrHuu recommendation
- ANDROID: Enable 'Vibrate On Key Press' by default
- ANDROID: Turn 'Threaded Video' off by default
- CHEEVOS: Upgrade to rcheevos 10.5
- COMPILATION: Fixed compiling with --disable-menu
- CONFIG: Don't show override notification with appendconfig alone
- DATABASE/PLAYLISTS: Playlist + database changes - Cleanup 'entry_slot', fallback label + logging
- FRONTEND: Fix default remaps folder for various cores: remap should be nested in config folder
- GFX/VIDEO FILTERS: Prevent video filter init if game is not running
- HOTKEYS: Fix shader toggle and add hotkey + sublabel
- HOTKEYS: Cleanups and corrections - Keep hotkey pause and menu pause separate in order to not trigger unwanted pause when toggling menu regardless if menu will pause or not
- HOTKEYS: Cleanups and corrections - Allow unpausing with Start (makes resuming more convenient after controller disconnect if menu does not pause)
- IOS13+: Pointer movement accuracy. iPad Trackpad Pointer Movement Accuracy through absolute location (for iOS 13.4 and above)
- IOS13+: Adds iPad Trackpad Support to iOS13 Project (for iOS 13.4 and above)
- INPUT: Fixed the way devices were previously indexed. Input devices were only being indexed in order and would stop at the first time an input has no device connected to it. The problem is when a device gets disconnected, that input will have no devices connected to it, but the next input may still have a device connected. So, that makes changing the port of the currently connected devices impossible.
- INPUT/AUTOCONFIG: Add option for pause on controller disconnect
- INPUT/AUTOCONFIG: Driver independent disconnection notification. Should show disconnect notification now properly on Windows with XInput and/or DirectInput pads
- INPUT/HID: Added usb hid controllers for the famous ZeroDelay encoder and also for "Kade: Kick Ass Dynamic Encoder" to be able to use some custom arcade sticks.
- INPUT/OVERLAY: Add eightway area types.
- INPUT/OVERLAY: Ignore hitboxes with zero area. I.e. Set 'reach_x' or 'reach_y' to zero to ensure no hitbox math is done. This simplifies designating animation-only descriptors (e.g. for eightway areas) or obsolete descriptors.
- INPUT/OVERLAY: Add 'reach' and 'exclusive' for hitboxes. Allows stretching hitboxes and handling their overlap.
- INPUT/OVERLAY: Fix overlay next_index for unnamed targets
- INPUT/MENU: Addition to analog stick menu navigation
- INPUT/MENU: Enable menu navigation also with right analog stick
- INPUT/MENU: Add option for swapping menu scrolling buttons
- LOCALIZATION: Updates
- LOCALIZATION: Add Hungarian language option
- MENU: Thumbnail fullscreen toggle behavior correction
- MENU: Consistent left-right scrolling for Quick Menu items
- MENU: Remove useless sublabel from System Information
- MENU: Improve widget appearance with missing assets
- MENU/QT/WIMP: Remove SSL/TLS check at startup
- MENU/OZONE: Show metadata helper in footer only with second thumbnail
- MENU/OZONE: Footer improvements - Add "Cycle thumbnails" helper when suitable
- MENU/OZONE: Footer improvements - Show "Search" helper only when search function is enabled
- MENU/OZONE: Footer improvements - Fix "Thumbnails available" helper for save states
- MENU/OZONE: Footer improvements - Tighten padding between icon and title, and widen between helpers
- MENU/OZONE: Launching anything from a View no longer throws Quick Menu off the screen
- MENU/OZONE: Save state thumbnails in slot dropdown obeys fullscreen toggle properly when content launched via CLI
- MENU/OZONE: Save state thumbnail dropdown won’t allow fullscreen toggle when it shouldn’t
- MENU/OZONE: Selection position remembering in non-playlists won’t flash the first entry
- MENU/OZONE: Remember selection per main tabs
- MENU/OZONE: Remove incomplete assets warning
- MENU/OZONE: Add option to adjust cursor memory when changing menu tabs
- MENU/OZONE: Further extend texture support for Core Option categories
- MENU/XMB: Remove incomplete assets warning
- MENU/XMB: Add truncate playlist name option
- MENU/XMB: Improve background image selector
- MENU/XMB: Add option to adjust cursor memory when changing menu tabs
- MENU/XMB: Further extend texture support for Core Option categories
- MENU/MATERIALUI: Remove incomplete assets warning
- OSX: Fixed Z/X keys not working on the macOS port
- OSX: Fixed RETROK_LMETA not working on macOS port. The RETROK_LMETA key was not defined in the rarch_key_map_apple_hid
- OSX: Fix broken fullscreen mode in macOS Ventura
- PS2: Fix Error saving remaps and runtime logs
- PS3: Fix Core Remap Overwrite Fail
- QB: Don't fail if OSDependent/OGLCompiler libraries are not present
- SCANNER/PS1: Improved scanning of PS1 discs
- SCANNER/PS2: Added serial scanning of PS2 discs - should now scan DVDs and other discs which were previously missed
- THUMBNAIL: If you rename title, you cannot use the thumbnail image. because the thumbnail filename and the title must be the same. If there is no thumbnail with title, find the thumbnail image with rom-name. This has nothing to do with IME.
- THREADED VIDEO/GLCORE: Fix regression 'Shader presets dont load, when video driver is set to glcore'
- VULKAN: Fix HDR inverse tonemapping. Only skip tonemapper if HDR10 is explicitly enabled by last shader pass. Otherwise, we are simply just inheriting the bit-depth of the swapchain.
RetroArch 1.12.0
- CONFIG/CLI: Allow use of --appendconfig with override cfgs instead of getting ignored
- CONFIG/LOGGING: No more console startup logging if logging to file
- CONFIG: Saves config on exit only once instead of (worst case scenario) 3 times
- DATABASE/EXPLORE/VIEW: Add View feature - Add saving of a filter set in the Explore menu into a so called "View" file which then gets listed alongside playlists. This also adds the ability to filter a category by range in the Explore menu and not just filter on exact matches.
- FILEBROWSER: Fix regression - certain extensions keep disappearing
- IOS: New modern iOS version (targeting iOS 13 and up), leverages Swift
- IOS: Fixes to iOS toolbar
- IOS16: Add iOS 16 lock screen widget
- IOS13+: Added emulator keyboard
- IOS13+: Add JIT support for non-jailbroken devices
- IOS13+: Added support for touch mouse handler
- IOS13+: Changed click-and-drag behavior to double tap hold and drag
- INPUT/HAPTIC/OVERLAYS/ANDROID: Improve haptic feedback for input overlays
- LINUX/MALI FBDEV: Add conditional support for OpenGL ES 3.x
- LOCALIZATION: Updates
- LOCALIZATION/ENGLISH: Add British English language option
- LOGGING/QT: Increase log buffer to 2048 characters - Vulkan validation layer messages output correctly now.
- MENU/XMB: Remember selection per main tabs. Addresses the following: collection playlists can contain hundreds or thousands of items. When scrolling through one, pressing left or right by accident can be common. This resets the playlist to the top
- MIST/STEAM/STEAMDECK: Don't expose Black Frame Insertion (BFI) if we are running on a Steam Deck
- NETWORKING/WINDOWS: Disable poll support for MSVC 2010 and earlier. WSAPoll is not supported on Windows XP and earlier.
- NETWORKING/WIIU: Fix socket_connect_with_timeout for WIIU
- NETWORKING/WIIU: Fixes RetroAchievements login
- NETWORKING/WIIU: Fixes other online updater functionality
- SAVESTATES/NOTIFICATIONS: Add delay to savestate notifications, so that GPU savestate screenshots stay untouched
- SAVESTATES/SCREENSHOTS: Avoid 'video_gpu_screenshot' with savestates. Allow GPU screenshots with savestates only when there is no other way of getting a screenshot.
- SCREENSHOTS/VULKAN: Unload screenshot widget texture early. Fixes Vulkan crash when closing content while a screenshot widget is still on-screen
- SCREENSHOTS/VULKAN: Fix screenshot widget crash when ticker animating
- WAYLAND: Set correct app ID
- WIIU: Add some missing default directories
- WIIU: Get mkdir working on WiiU (directory creation)
RetroArch 1.11.1
- GENERAL: Fix DEFAULT_FILL_TITLE_MACRO
- NETWORKING: Add the const qualifier to some function parameters
- NETWORKING/NETPLAY/UPNP: Add a private or CGNAT address warning to UPnP
- SAVESTATES/SCREENSHOTS: Avoid 'video_gpu_screenshot' with savestates
- UWP: Better 'Save on quit' fix
RetroArch 1.11.0
- 3DS: Add unique ID's
- 3DS: Add bottom menu options
- 3DS: Set bottom_asset directory default
- 3DS: Only enable internal counter with CONSOLE_LOG defined
- 3DS: Set default bottom font values
- 3DS: Fix CIA installation issues
- 3DS: Support latest libctru
- ANDROID: Add HAVE_ACCESSIBILITY
- ANDROID: Gingerbread support
- ANDROID: Touchpads support
- ANDROID: Builtin Xperia Play autoconfig profile
- ANDROID: Disable Feral GameMode for Android - only available on Linux
- ANDROID: Add a configurable workaround for Android reconnecting devices
- ANDROID/FDROID: Add F-Droid metadata to repo in Fastlane format
- AUDIO/AUDIO MIXER: Add missing locks for thread safety
- AUDIO/AUDIO MIXER: Fix audio mixer memory leak + remove redundant 'single threaded' rthreads implementation
- AUTOSAVE: Change/improve exit behavior of autosave thread - if condition variable is signaled, the loop is ran another last time so we can do a final check/save before stopping the thread.
- CDROM: Fix memory leak caught with asan - buf passed to filestream_read_file
- CORE INFO/NETPLAY: Ensure current core info is initialized at runloop_event_init_core when netplay is enabled
- CHEEVOS: Upgrade to rcheevos 10.4
- CHEEVOS: Allow creating auto savestate in hardcore
- CHEEVOS: prevent invalid memory reference if game has achievements but core doesn't expose memory
- CHEEVOS: Release achievement badge textures when video driver is deinitialized
- CHEEVOS: Re-enforce hardcore limitations once achievements are loade
- CHEEVOS/MENU/MATERIALUI: Show achievement badge icons in MaterialUI driver
- D3D9: D3D9 has been split up into two drivers - D3D9 HLSL (max compatibility, no shader support yet) and D3D9 Cg (dependent on deprecated Nvidia Cg runtime library)
- D3D9/HLSL/XMB: XMB fix
- D3D9/CG: D3D9 Cg driver fixed
- D3D11: Fix overlay not showing up
- D3D11/12: Reduce lag with WaitForVBlank - this rather simple addition seems to make D3D11/12 very very close to Vulkan/GLCore regarding input lag.
- D3D11/12: Add waitable swapchains and max frame latency option
- D3D11/12: Make waitable swapchains optional
- DATABASE: Reformat 'rdb_entry_int' - Nitpick adjustments for database entries: Capitalize "Release Date", and remove space before: from Release Date rows which use integer
- DATABASE/EXPLORE: Allow On-Demand Thumbnails in Explore menu
- DATABASE/EXPLORE/MENU/OZONE/XMB/RGUI: Explore menu thumbnails
- DISC CONTROL: Better Disc Control append focus
- DOS/DJGPP: Add a workaround for libc bug
- AUTOMATIC FRAME DELAY: Added slowmotion resiliency
- AUTOMATIC FRAME DELAY: Added string representation for seeing the current effective delay without opening statistics
- AUTOMATIC FRAME DELAY: Added "ms" to logging and "(ms)" to label just like in Audio Latency
- GENERAL: Don't bake in OpenAL and libcaca by default unless explicitly enabled with configure switch.
- GENERAL: Reduce amount of strlen calls
- GENERAL: Reduce or simply sin/cosf calls
- GFX: Fix readability and precision issues in aspectratio_lut
- GFX: Add option to manually enable/disable automatic refresh rate switching
- GFX: Enable automatic configuration of 'VSync Swap Interval'
- GFX/FONT/FREETYPE: Use FT_New_Memory_Face - first read it from file to memory beforehand - this solves an asset extraction issue when selecting 'Update Assets' - apparently FT_New_Face keeps an open file handle to the font file which prevents it from being overwritten/deleted while the program is still running.
- GFX/THUMBNAILS: Thumbnail aspect ratio fix
- GFX/THREADED VIDEO: Optimizations, fixes and cleanups
- GFX/VIDEO FILTERS: Add Upscale_240x160-320x240 video filter with 'mixed' method
- GLSLANG: Fix compilation with ./configure --disable-builtinglslang - was missing linking against -lMachineIndependent and -lGenericCodeGen static libs
- INPUT: Fix off by one error for input_block_timeout setting. Also default to 0 for this setting (pretty massive performance gain)
- INPUT: Analog button mapping fixes
- INPUT/HID/OSX: Fix DualShock3 support
- INPUT/HID/LINUX: (qb) Disable HAVE_HID by default for now for Linux as long as there are no working backends for both
- INPUT/HID/WINDOWS: (qb) Disable HAVE_HID by default for now for Windows as long as there are no working backends for both
- INPUT/HID/WIIU: Fix DualShock3 support
- INPUT/OVERLAY: Block pointer input when overlay is pressed
- INPUT/REMAPPING: input_remapping_save_file - existing remapping file was needlessly reloaded
- INPUT/REMAPPING: Add option to disable automatic saving of input remap files
- INPUT/LINUX/UDEV: Fix lightgun scaling on Y axis
- INPUT/LINUX/X11/LED: Add LED keyboard driver
- INPUT/WINDOWS/LED: LED keyboard driver cleanup
- INPUT/WINDOWS/WINRAW: Clear key states when unfocused
- INPUT/WINDOWS/WINRAW: Fix pointer device position
- IOS: iOS app icon fixes & revisions
- LIBRETRO/SAVESTATES: Implement an api call for context awareness
- LOCALIZATION: Updates
- LOCALIZATION: Add Catalan language option
- LOCALIZATION: Fix some bad localization
- LINUX: Make memfd_create call more backwards compatible by calling it through syscall - on older systems, you'll have to include linux/memfd.h for the MFD_ defines, and call memfd_create() via the the syscall(2) wrapper (and include unistd.h and sys/syscall.h for it work). We exclude linux/memfd.h header include because we already provide the MFD_ defines in case they are missing
- LINUX/MALI FBDEV: Fix assertion failed on video threaded switch
- MENU: Menu paging navigation adjustments
- MENU: New Menu Items for disabling Info & Search buttons in the menu
- MENU: Allow the user to use volume up/down/mute hotkeys from within the menu
- MENU: Add missing sublabels for non-running Quick Menu
- MENU: Reorganize Quick Menu Information
- MENU: Savestate thumbnails - Savestate slot reset action
- MENU: Allow changing savestate slots with left/right on save/load
- MENU: Add 'Ago' to playlist last played styles
- MENU: Add proper icons for shader items
- MENU/MATERIALUI: Add icon for 'Download Thumbnails'
- MENU/XMB: Add options for hiding header and horizontal title margin
- MENU/XMB: Dynamic wallpaper fixes
- MENU/XMB: Add Daite XMB Icon Theme
- MENU/XMB/OZONE: Savestate thumbnail aspect ratio
- MENU/XMB/OZONE: Core option category icon refinements
- MENU/XMB/OZONE: Fullscreen thumbnail browsing
- MENU/XMB/OZONE: Add playlist icons under 'Load Content'
- MENU/XMB/OZONE: Thumbnail improvements
- MENU/XMB/OZONE: Savestate thumbnail fullscreen + dropdown
- MENU/XMB/OZONE: Prevent unnecessary thumbnail requests when scrolling through playlists
- MENU/OZONE: Fix playlist thumbnail mouse hover after returning from Quick Menu
- MENU/OZONE: Thumbnail visibility corrections
- MENU/OZONE: Playlist metadata reformat
- MENU/OZONE: Savestate thumbnail fixes
- MENU/OZONE: Add savestate thumbnails
- MENU/OZONE: Header icon spacing adjustment
- MENU/RGUI: Savestate thumbnails
- MENU/SETTINGS: Turn Advanced Settings on by default, this entire filtering of settings will need a complete rethink anyways
- MENU/WIDGETS: Widget color + position adjustments
- MIYOO: Exclude unused HAVE_HID for Miyoo
- MIYOO: Enable screenshots
- MIYOO: Enable rewind
- NETWORK: Allow MITM server selection on OK callback
- NETWORK: Replace socket_select calls
- NETWORK: Implement binary network streams
- NETWORK: Poll support
- NETWORK: Check connect errno for successful connection
- NETWORK: Get rid of the timeout_enable parameter for socket_connect
- NETWORK: Fix getnameinfo_retro's port value for HAVE_SOCKET_LEGACY platforms
- NETWORK: Define inet_ntop and inet_pton for older Windows versions
- NETWORK: Define isinprogress function
- NETWORK/NATT: Move natt files to "network"
- NETWORK/NETWORK STREAMS: Add function netstream_eof
- NETWORK/NETPLAY: Fix game CRC parsing
- NETWORK/NETPLAY: Disable and hide stateless mode
- NETWORK/NETPLAY: Change default for input sharing to "no sharing"
- NETWORK/NETPLAY: Enforce a timeout during connection
- NETWORK/NETPLAY: Disallow clients from loading states and resetting
- NETWORK/NETPLAY: Special saves directory for client
- NETWORK/NETPLAY: Ensure current content is reloaded before joining a host
- NETWORK/NETPLAY: Fix client info devices index
- NETWORK/NETPLAY: Fix input for some cores when hosting
- NETWORK/NETPLAY: Memory leak fixes
- NETWORK/NETPLAY: Force a core update when starting netplay
- NETWORK/NETPLAY: Fix NAT traversal announce for HAVE_SOCKET_LEGACY platforms
- NETWORK/NETPLAY: Refactor fork arguments
- NETWORK/NETPLAY: Fix content reload deadlocks on static core platforms
- NETWORK/NETPLAY: Disallow netplay start when content is not loaded for static core platforms
- NETWORK/NETPLAY: Show client slowdown information
- NETWORK/NETPLAY: Improve check frames menu entry
- NETWORK/NETPLAY: Do not try to receive new data if the data is in the buffer
- NETWORK/NETPLAY: Copy data on receive, even if the buffer is full
- NETWORK/NETPLAY: Fix lobby sublabel CRC display on some platforms
- NETWORK/NETPLAY: Support for customizing chat colors
- NETWORK/NETPLAY: Small launch compatibility patch adjustments
- NETWORK/NETPLAY: Support for banning clients
- NETWORK/NETPLAY: Minor tweaks to the find content task
- NETWORK/NETPLAY: Support for gathering client info and kicking
- NETWORK/NETPLAY: Fix possible deadlock
- NETWORK/NETPLAY: Initialize client's allow_pausing to true
- NETWORK/NETPLAY: Disable netplay for unsupported cores - with stateless mode being disabled for now, there is no reason not to include this. Refuse to initialize netplay when the current core is not supported (no proper savestates support)
- NETWORK/NETPLAY/DISCOVERY: Ensure fixed width ints on packet struct
- NETWORK/NETPLAY/DISCOVERY: Support for IPv4 tunneling (6to4)
- NETWORK/NETPLAY/DISCOVERY/TASKS: Netplay/LAN Discovery Task refactor - aims to prevent blocking the main thread while awaiting for the LAN discovery timeout; This is accomplished by moving the whole discovery functionality into its task and using a non-blocking timer to finish the task. Also fixes discovery sockets not being made non-blocking, which could cause the main thread to hang for very long periods of time every pre-frame.
- NETWORK/NETPLAY/TASKS: Find content task refactor - fixes many issues along the way, including a couple of nasty memory leaks that would leak thousands of bytes each time the task ran. It also expands the original concept by matching currently run content by filename (CRC matching is always performed first though).
- NETWORK/NETPLAY/TASKS: Find content task refactor - Ensure CRC32 is 8 characters long
- NETWORK/NETPLAY/LOBBY: Add setting for filtering out rooms with non-installed cores
- NETWORK/NETPLAY/LOBBY: Hide older (incompatible) rooms
- NETWORK/NETPLAY/LOBBY: Add a toggleable filter for passworded rooms. In addition, move lobby filters into its own submenu for better organization.
- NETWORK/NETPLAY/MENU: Chat supported info for the host kick submenu
- NETWORK/NETPLAY/MENU: Localize relay servers
- NETWORK/NETPLAY/MENU: Host Ban Submenu
- NETWORK/NETPLAY/MENU: Add client devices info to the kick sub-menu
- NETWORK/NETPLAY/MENU: Path: Netplay -> Host -> Kick Client - Allows the host to kick clients. Allows the host to view client information: connected clients (names), status (playing/spectating) and ping.
- NETWORK/NETPLAY/VITA: Add net_ifinfo support
- NETWORK/NETPLAY/VITA: Enable partial LAN discovery
- NETWORK/NETPLAY/VITA: Change default UDP port to 19492
- NETWORK/NETPLAY/VITA: Do not multiply negative timeout values
- NETWORK/NETPLAY/VITA: Fix epoll's timeout parameter
- NETWORK/NETPLAY/VITA: Launch compatibility patch
- NETWORK/NETPLAY/3DS: Launch compatibility patch
- NETWORK/NETPLAY/3DS: Adapt POLL for 3DS platform
- NETWORK/NETPLAY/PS3: Launch compatibility patch
- NETWORK/NETPLAY/WII: Enable net_ifinfo for some features. In practice, this only allows the netplay's UPnP task to succeed on the Wii.
- NETWORK/NETPLAY/WIIU: Launch compatibility patch
- NETWORK/NETPLAY/SWITCH: Launch compatibility patch
- NETWORK/UPNP: Attempt support for remaining platforms
- NETWORK/UPNP: Support for IPv4 tunneling
- ODROID GO2: Increase DEFAULT_MAX_PADS to 8 for ODROIDGO2, since that impacts the RG351[X] consoles. The RG351[X] have a USB host controller and can have an arbitrary number of USB gamepads.
- ONLINE UPDATER: Online Updater menu reorganizing
- OSX: Fixed items of system top menu bar on macOS
- OSX: Revision to macOS app icon set
- PLAYLISTS: Ensure history list will contain CRC32
- PLAYLISTS: Fix CRC32 comparison - as state->content_crc has "|crc" suffix.
- PS4/ORBIS: Orbis/PS4 Support using OrbisDev toolchain
- PS4/ORBIS: Update xxHash dependecy
- PS4/ORBIS: Shader cache
- RETROFW: Exclude unused HAVE_HID for RetroFW
- RETROFW: Support battery indicator on RetroFW
- RETROFW: Enable menu toggle button on retrofw devices
- SHADERS: Shader Preset Loading of Multiple additional #references lines for settings
- SHADERS: Shader Load Extra Parameter Reference Files - this adds the ability to put additional #reference lines inside shader presets which will load additional settings. The first reference in the preset still needs to point at a chain of presets which ends with a shader chain, and subsequent #reference lines will load presets which only have parameter values adjustment. This allows presets to be made with a modular selection of settings. For example with the Mega Bezel one additional reference could point at a preset which contained settings for Night mode vs Day mode, and another reference could point to a preset which contained settings for how much the screen should be zoomed in.
- SHADERS/MENU: Increase shader scale max value
- SCANNER/DC: Fix Redump bin/cue scan for some DC games
- SCANNER/GC/WII: Add RVZ/WIA scan support for GC/Wii
- SCANNER/PS1: Improved success rate of Serial scanning on PS1 by adding support for the xx.xxx format
- SCANNER/PS1: Changed return value of detect_ps1_game function to actuially return a failure when the Serial couldn't be extracted. Scanner will then fallback on crc check, and usually ends up finding the games in the database.
- SWITCH: Enable RWAV (WAV audio file) support
- STRING: Do not assume char is unsigned
- TASKS: More thread-awareness in task callbacks
- TASKS: Fix race condition at task_queue_wait
- TVOS: Revised tvOS icons w/ updated alien.
- VFS: Fix various VFS / file stream issues
- VULKAN: Fix more validation errors
- VULKAN: Attempt to fix validation errors with HDR swapchain. Always use final render pass type equal to swapchain format. Use more direct logic to expose if filter chain emits HDR10 color space or not
- VULKAN/ANDROID: Honor SUBOPTIMAL on non-Android since you'd want to recreate swapchains then. On Android it can be promoted to SUCCESS. SUBOPTIMAL_KHR can happen there when rotation (pre-rotate) is wrong.
- VULKAN/DEBUG: Automatically mark buffer/images/memory with names
- VULKAN/DEBUG: Move over to VK_EXT_debug_utils. Debug marker is deprecated years ago.
- VULKAN/HDR: Fix leak of HDR UBO buffer
- VULKAN/BFI: Fix BFI (Black Frame Insertion) regression
- WINDOWS: Fix exclusive fullscreen video refresh rate when vsync swap interval is not equal to one - refresh rate in exclusive fullscreen mode was being incorrectly multiplied by vsync swap interval, breaking swap interval functionality at the gfx driver level
- WIN32: Do optimization for Windows where we only update the title with SetWindowText when the previous title differs from the current title
- WIN32: Skip console attach when logging to file
- WIN32: Remove black margins with borderless non-fullscreen window
- WIN32/TASKBAR: Release ITaskbarList3 on failed HrInit - pointer wasn't NULL'd, thus set_window_progress would cause weird behavior
- WII/GX: Fix potential datarace
- WIIU: Implement sysconf and __clear_cache
- WIIU: Add OS memory mapping imports
- UWP: Added launch protocol arg 'forceExit' so a frontend can tell an already-running RetroArch UWP instance to quit.
- UWP: Enable core downloader/updater
- UWP: Remove copy permissions as its inefficient as we can just directly assign the new ACL and that works
- Xbox/UWP: Remove expandedResources
- Xbox/UWP: UWP OnSuspending crash fix
- Xbox/UWP: Enable savestate file compression by default for UWP/Xbox - got told there are no more issues with it
- Xbox/UWP: Add support for 4k to angle on xbox for MSVC2017 build
RetroArch 1.10.3
- ANDROID: Decouple Play Core dependency to bring app into compliance for F-Droid
- ANDROID: Allow audio playback capture on android
- AI/SERVICE: Disable AI Service setting by default
- BLUETOOTH/LAKKA: bluetoothctl: add / modify pairing steps
- CHEEVOS: Disallow manual frame delay setting in Hardcore Mode
- DATABASE: Serial scanning for Wii now includes WBFS
- INPUT: Allow proper descriptor declaration for analog triggers
- INPUT/MAPPING: Fix offset + crash when clearing input port binds
- INPUT/MAPPING: Fix saving of 'Analog to Digital Type' when configuration overrides are used
- INPUT/MAPPING: Fix saving of 'Analog to Digital Type' when configuration overrides are used
- LOCALIZATION: Add Valencian language option
- LOCALIZATION: Updates
- MENU/SETTINGS: Move 'Show Menu Bar' under 'Windowed Mode' settings
- MENU/SETTINGS: Add sublabels for 'Subsystems' and 'Input Deadzone/Sensitivity'
- MENU/SETTINGS: Move 'On-Screen Notifications' to top
- MENU/XMB: Unified the shadow alpha value to a slightly darker one for better readability
- MENU/XMB: Corrected the option label and sublabel for actual behavior
- MIYOO: Enable ALSA audio driver and default to it
- PSP: Take out extra languages/localization, adds about 4/5MB to the binary, and RAM is limited on PSP (32MB and 64MB RAM models)
- STATIC PLATFORMS: Populate all history list metadata when launching content from playlists
- STEAM: Introduce Steam Rich Presence
- VIDEO: Fast-Forward Frameskip improvement
- VIDEO/THREADED: Stability fixes
- WINDOWS/WINRAW: Fix multiple light guns
- WIIU: Fix USB get_device_name(), don't truncate to three chars
RetroArch 1.10.2
- 3DS: Add a menu toggle for switching between old and new 3DS speeds, located in the 'Power Management' menu. Enabled by default, hidden on old 3DS devices.
- AUDIO/MIXER: Free audio voices properly
- CHEEVOS: Update to rcheevos 10.3.3
- CHEEVOS: Support for Arduboy
- CHEEVOS: Fix tab sequences in rich presence being turned into t character
- CHEEVOS: Fix overflow when parsing float value that has more than 9 digits after the decimal
- CHEEVOS: Fix memory mapping when disconnect mask breaks a region into multiple blocks
- CORES: Enable manual selection of which cores are displayed in the 'Standalone Cores' menu
- DATABASE/EXPLORE: Added more categories to the Explore menu
- INPUT: Fix analog stick not working with 'Unified Menu Controls'
- INPUT/MAPPING: Add 'Manage Remap Files' submenu + automatically save input remaps when closing content
- INPUT/MAPPING: Add 'Reset Input Mapping' option to 'Manage Remap Files' menu
- INPUT/MAPPING: Fix keyboard device remap nulling
- IOS/IOS13+: Support a toolbar that allows toggling of onscreen keyboard and touch mouse
- LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix - ensure core is properly unloaded when RETRO_ENVIRONMENT_SHUTDOWN is called
- LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix - ensure menu stack is properly flushed when RETRO_ENVIRONMENT_SHUTDOWN is called
- LINUX/MALI FBDEV: Fix segfault switching video threaded from quickmenu
- LOCALIZATION: Add Czech language support
- MMAP: Handle disconnect bits on both sides of len
- MIYOO: Improve CPU architecture and model name identification for Miyoo
- MENU/SETTINGS: Remove 'Advanced Settings' flag from 'Settings > Core' menu
- MENU/MATERIALUI: Add 'Gray Dark + Light' themes
- MENU/RGUI: Add 6x10 extended ASCII and Latin Extended A and B fonts. These will enable most Latin alphabets to be displayed in RGUI.
- MENU/RGUI: Add 'Gray Dark + Light' themes
- MENU/XMB: Add title margin adjustment
- MENU/XMB: Vertical fade corrections
- MENU/OZONE: The size of the thumbnail bar can now be changed though a new option (Settings->User interface->Appearance) up to double its normal size.
- MENU/OZONE: Add 'Gray Dark + Light' themes
- MENU/OZONE: Add thumbnail scale option
- HOTKEYS: Added hotkey for toggling sync to exact content framerate
- HOTKEYS: Prevent log spam when using rewind hotkey with cores that don't support rewind, if rewind functionality itself is disabled
- HOTKEYS: Add hotkey for toggling sync to exact content framerate
- PS3/PSL1GHT: Add RSX graphics support
- PS3/PSL1GHT: Add libco support
- PS3/PSL1GHT: Add experimental PSMove support
- RS90: Optimise layout of sdl_rs90_video
- STEAM: Use native OSK (Onscreen Keyboard) instead of built-in RetroArch version
- STEAM: New built-in core DLC downloader
- STEAM: Swap OK/Cancel buttons by default
- VIDEO/HDR: Removed redundant copy of buffer in HDR mode if the shader has already a HDR format i.e. R10G10B10A2 (updated Vulkan/D3D11/D3D12 drivers)
- VIDEO/HDR: Fixed crash when using stock shader and HDR and previous optimisation
- WAYLAND: Dynamically load libdecor at runtime
- WAYLAND: Fix splash screen when using xdg_toplevel
- WAYLAND: SHM anti-collision for the splash screen
- WAYLAND: Skip splash screen if window is not ready
- WII: Fix find_connection_entry(): needs unsigned int Otherwise the USB gamepad cannot be found, if VID/PID has leading zero. This issue happened with Retrode gamepad adapter
- WII: Rework Retrode gamepad implementation to support multi_pad interface
- WII: Fix - Unplugging and re-plugging now works again
- WII: vWii- Only gamepad 1 is supported, because multi_pad is currently only relevant in the Wii U implementation
- WIIU: Implemented the multi_pad interface according to input/connect/connect_wiiugca.c
- WIIU: Add Optimize for Gamepad option
- WIIU: Fix USB gamepad support
RetroArch 1.10.1
- ANDROID: Add HAVE_LANGEXTRA back to makefile
- ANDROID: Include adaptive launcher icons
- ANDROID: Populate external storage devices inside the file browser on Android 11+ devices
- CHEEVOS: add mastery placard
- CHEEVOS: more description message for missing RetroAchievements credentials
- CHEEVOS: prevent occasional infinite wait loading multi-disc game from secondary disc
- CHEEVOS: stop load process if unable to retrieve achievement data
- CHEEVOS: support for identifying Dreamcast CHDs
- CHEEVOS: Updated to 10.3.2
- CONTENTLESS CORES: Disable per-game and per-content-directory remaps when running contentless cores
- CONTENTLESS CORES: Disable per-game and per-content-directory shader presets
- CONTENTLESS CORES: Enable config overrides
- CONTENTLESS CORES: Enable runtime logging
- CORE INFORMATION: Show core version
- CORE UPDATER: Add 'Core System Files Downloader'
- CORES/SETTINGS: Add 'Standalone Cores' menu
- D3D10/D3D11: Add Vsync swap interval
- EMSCRIPTEN: Enable 7zip
- GBA: New GBA filter Upscale_240x160-320x240
- GONG: Removed now that it's a standalone core
- HISTORY/FAVORITES: Fix default core on 'Add to Favorites'
- INPUT/WAYLAND: Allow toggling mouse grabs
- INPUT/WAYLAND: Release keys and mouse buttons on lost focus
- iOS: Support for custom keyboard and touch mouse support, among other iOS 13 features
- LIBRETRO: Fix crash when cores using RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK return false from retro_load_game()
- LIBRETRO: Add optional frame skipping when fast-forwarding
- LOCALIZATION: Fetch translations from Crowdin
- LOCALIZATION: OSD fonts for Chinese, Korean, Arabic and Persian
- LOCALIZATION: Translation fixes for various languages
- MENU/RGUI: Add dynamic theme
- MIYOO: Enable NEAREST audio resampler
- MIYOO: Support battery level
- NETPLAY: Disable savestates on stateless mode
- NGC/Wii: Several improvements
- OSX: Enable compilation on PPC
- OZONE/XMB: Improve efficiency/accuracy of History/Favorites icon rendering
- RECORDING/FFMPEG: Fix building against FFmpeg 5.0
- RETROARCH INFORMATION: No longer report on enabled Python support, which was removed in RetroArch 1.7.8
- SAVESTATES: Disable save states based on save state support level defined in core info files
- UNIX/WINDOWS: Allow setting the default libretro_directory via environment variable
- WAYLAND/VULKAN: Fix Wayland Vulkan not reacting to initial resize
- WINDOWS/WINRAW: Enable mouse overlay control
- Xbox/UWP: Fix CHD not working with Cheevos / Add 7zip support.
RetroArch 1.10.0
- 3DS: Add Jaxe, A5200 and WASM4 cores
- 3DS: Fix rotation
- ARCHIVE: Allow loading files from archive subdirectory
- AUDIO: Remove frame limit from audio batch callback. Before, if a core used the audio batch callback, there would be a hidden cap of 1024 on the number of audio frames that could be sent. If a core exceeded this value, any excess samples were silently discarded. While this is sufficient for 'normal' samplerates/framerates, it means that e.g. a core using the batch callback to send 44100 Hz audio at 30 fps with would have entirely broken sound. This has been fixed by removing the audio batch frame limit.
- AUDIO/RESAMPLER/NEON: Implement sinc kaiser NEON function
- CHEEVOS: Reset hardcore default to enabled; show message when trying to load state in hardcore
- CHEEVOS: Fix memory map conversion
- CHEEVOS: Check netplay status when unlocking achievements
- CHEEVOS: Support for hashing buffered NDS ROMs
- CHEEVOS: Fix hung task whe badge doesn't exist
- CLI: Load save states from command-line or playlist
- CORE INFO CACHE/SETTINGS: Restore missing 'Cache Core Info Files' menu entry
- DATABASE: Serial scanning for Gamecube/MegaCD/SegaCD/Saturn/PSX/PSP/Dreamcast/Wii
- EMSCRIPTEN: Add Jaxe, WASM4 cores
- FILE IO: Fix incorrect file names for remap files when the content path doesn't have a preceding slash
- INPUT/OVERLAY: Added support for showing the overlay behind the menu instead of in front. This is currently only supported on the GL, Vulkan, D3D 9/10/11/12 and 3DS drivers.
- INPUT/UDEV: Convert abs mouse from screen to viewport coordinates; fix relative mouse coords
- INPUT/WAYLAND: Ignore mouse clicks on window decoration
- INPUT/WAYLAND: Add scroll wheel support
- LINUX: Added support for Linux GameMode (https: //github.com/FeralInteractive/gamemode), which can be toggled on/off in the Power Management or Latency settings menus.
- LOCALIZATION: Fetch translations from Crowdin
- LOCALIZATION: Add Indonesian, Swedish and Ukrainian language options
- LOCALIZATION/MENU/RGUI: Enable Indonesian and Swedish localisations for RGUI
- LOGGING: Logging cleanups
- LOGGING: Stop logging FPS statistics twice on quit
- LOGGING: Log font rendering backend only once
- HOTKEYS: Added a hotkey toggle for the on-screen technical statistics.
- HOTKEYS: Add delay + acceleration to volume hotkeys
- MENU: Add option for showing notifications only in menu
- MENU/RGUI: Add Finnish to supported languages
- MENU/XMB: Optional vertical list item fade
- MENU/XMB/OZONE: Category + History/Favorites icons
- NETWORK: Fix dummy notification - no longer shows a netplay initialization failed notification when netplay is not enabled
- NETWORK: LAN addresses only for UPnP - Some router devices might accept non-LAN addresses without raising an error.
- NETWORK: Filter out non-connectable rooms. Add an option for filtering out non-connectable netplay rooms.
- NETWORK: Netplay spectator notification fix. Fix double notification when the host switches to spectator.
- NETWORK: Prevents long-term pausing from clients dishonoring allow pausing
- NETWORK/LOBBY: Lobby Viewer: Filter out rooms that are not running RetroArch
- NETWORK/LOBBY: Lobby Viewer: Display a non-connectable tag to non-connectable rooms
- NETWORK/LOBBY: Host: Display warning if we are announcing to the internet but our room isn't connectable from there
- NETWORK/RELAY: Custom relay server support - Add support for custom user-ran relay servers
- NETWORK/RELAY: Replace Canadian relay server with Singapore relay server. Current relays: New York/USA, Madrid/Spain, Sao Paulo/Brazil, Singapore
- NETWORK/UPNP: Various refactors/improvements, no more dependent on miniupnpc
- NETWORK/UPNP: Various UPnP binding fixes for specific routers
- NETWORK/UPNP: Accept IGD v2 service types
- NETWORK/UPNP: Delay lobby server announcing - delay the announcing in order to give UPnP's port forwarding more time. Fix the remaining truncation warnings.
- NETWORK/UPNP: Smart interface selection - Find the most suitable address for UPnP by scoring interfaces on how close their address is to the device's address
- OPENGL1: Fix buffer overflow - RetroArch would sometimes crashes at startup when loading asset textures with GL1 driver
- PS3: PSL1GHT port added to Gitlab CI
- VULKAN: Double combined image sampler descriptor pool size - fix segfaults with AMD GPUs using RADV
- VULKAN: Emulate mailbox only with Vsync enabled - otherwise have it disabled - useful for VRR/G-Sync/FreeSync
- VULKAN/SWAPCHAIN: Vulkan max swapchain images option adjustments: removed value 1, since it won't be used - Video reinit on change, so that there is no need to restart or toggle fullscreen
- VULKAN/HDR: HDR support - tested on Windows
- WAYLAND: Add libdecor for client side decoration
- WAYLAND: Use any display for initial metrics
- WAYLAND: Fix the window closing, if RetroArch is build without libdecor
- WAYLAND: Use checked sizes in EGL resize
- WAYLAND: Fix window title update
- WEBOS: Fix webOS build and run
- WIIU: Fix rotation
- UWP/XBOX: Fix content over 4GB (approx) failing to load, improve/speed up copy/load times
- UWP/XBOX: Fix scanning for playlists
- UWP/XBOX: Move content copied to LocalState to a dedicated dir and clear on startup
- UWP/XBOX: Make content copy to a specific cache directory in the LocalState folder when it's copied
- UWP/XBOX: Auto delete VFS cache dir on startup
- UWP/XBOX: Make resolution switching automatic and fix angle output issues
- UWP/XBOX: Force ANGLE to render at 1080p regardless of screensize as the output is 1080p regardless of screensize. This fixes an issue where at 4k any angle output would be zoomed into a corner.
- UWP/XBOX: Set resolution based on display resolution (auto 4k)
- UWP/XBOX: Set driver to D3D11 if booting with opengl
- UWP/XBOX: Reset width and height of output on boot to match display
- UWP/XBOX: Mitigate need for VFS cores on NTFS drives
- UWP/XBOX: Make check for standard I/O by access rather than the just assuming based on path string
- UWP/XBOX: Add code to auto permissions so files can be accessed by non VFS cores (no exFAT or FAT32 support yet)
RetroArch 1.9.14
- ANDROID/PLAYSTORE: Implement MANAGE_EXTERNAL_STORAGE permission
- ANDROID/PLAYSTORE: Bump up SDK level to 30 to comply with Play Store policies
- AUDIO/MIXER: Increase sample buffer padding
- CHEEVOS: Disallow achievements when spectating netplay
- CHEEVOS: Fix need-to-activate achievement logic for non-hardcore
- CHEEVOS: Don't queue rewind re-init if already on main thread
- CHEEVOS: Ignore unofficial achievements unless setting is enabled
- CHEEVOS: Use SSL host when available
- CHEEVOS: Validate hashes for secondary discs in multi-disc games
- CHEEVOS: Ensure placard is initialized on main thread when game has no achievements
- CHEEVOS: Audit achievement settings defaults and visibility
- CHEEVOS: Show error message when no password provided
- CHEEVOS: Use widget for game loaded achievement progress
- CONFIG: Honor config_save_on_exit when Reboot/Shutdown is called
- DISK CONTROL: Focus on current content entry in Disk Control append/insert
- FRAMEDELAY: Auto Frame Delay Improvements - swap interval handling, D3DX handling, and delay target resets also on core restart. It should now work with high refresh rates and also with Direct3D 10/11/12 drivers
- INPUT/GYRO/ACCELEROMETER/ANDROID: Re-enable Gyroscope & Accelerometer when RetroArch resumes or regains focus
- INPUT/HID: Fix gamepad disconnect on unrecognized HID device
- LAKKA: Patch to fix keyboard typing
- LAKKA: CD-ROM eject menu item
- LAKKA/BLUETOOTH: Add option to remove pairing
- LAKKA/SWITCH: Disable rumble gain
- LAKKA/SWITCH: Disable cpu scaling, uses its own CPU governor
- LOGGING: Logging cleanups. A bunch of unifications and reformattings (capitalizations, dots, quotes, prefixes etc). Also added a few missing things, such as Run-Ahead error logging and LED interface init logging when it is enabled.
- NETPLAY: Networking - should not print country for a local lobby
- NETPLAY: Added setting to allow/disallow players other than the host from pausing the game.
- NETPLAY: Added a sublabel for netplay max connections.
- NETPLAY: Fixed port override macro from not being set immediately after the port setting.
- NETPLAY: Show passworded rooms on lobby
- NETWORK: Make HTTP header parsing case insensitive
- NETWORK/UPNP: Fixed memory leaks
- NETWORK/UPNP: Added a task_queue_wait to prevent executing two nat tasks at once, so it's also thread safe now
- NETWORK/UPNP: Switch to a permanent lease time, but request it to be removed when we do netplay_free. Switch to a permanent lease time, but request it to be removed when we do netplay_free.
- NETWORK/UPNP: Only use a single interface for UPnP, return on the first one found instead of iterating over all of them and opening them one by one
- OVERLAYS: Revert changes
- RETROFW: Add OSS audio
- VIDEO/ROTATION: Always return false if rotation can't occur. RETRO_ENVIRONMENT_SET_ROTATION should return false when rotation has been forcefully disabled in frontend, that way the core can decide if aspect ratio should be rotated or not for vertical games. Useful for FBNeo for instance.
- VULKAN: Avoid hard crash when capturing screenshot in emulating mailbox.
- WIIU: Make wiiu_gfx_load_texture code safer
- WIIU: Fix keyboard support.
RetroArch 1.9.13
- CHEEVOS/MSVC2010: Add Cheevos support
- CRT/SWITCHRES: Fixes some issue where scaling is incorrect in some video modes for CRT output.
- FRAMEDELAY: Add 'Automatic Frame Delay' option
- INPUT: Add 'All users control the menu' setting - any gamepad can control the menu when this is enabled. Only limitation right now is that only player 1 can toggle the menu, but any set Menu Toggle Controller Combo will work fine for all users, so this should be acceptable for now
- INPUT/UDEV: Fix Dolphin bar and safeguard against not adding devices with no mouse or touch buttons detected
- NETPLAY/CLI: -C/--connect commandline fix
- NETPLAY: Other improvements
- NETPLAY: Remove forced disconnection on unknown netplay command - will be backwards compatible with any version that removed this disconnect. instead of disconnecting, we just read the data and ignore, like most network implementations do
- TASKS/CHEEVOS: Replace coroutines with tasks/thread
- TASKS/DATABASE/EXPLORE: Initialise 'Explore' menu on a background thread - no more stall when hovering over the Explore tab
→ NOWSZY [multi] RetroArch/Core 1.8.5
1.8.5
- 3DS: Keep the bottom screen hidden on sleep/wakeup. When the 3DS wakes back up after being closed, the bottom screen needs to be reinitialized. Adding the condition here will cause the screen to be turned on or off based on the state of ctr_bottom_screen_enabled, as you’d expect
- ANDROID/CHROMEBOOK/CRASH: Fix Chromebook crashes (on x86 x64) when touching the screen
- BUGFIX: Prevent double input when using ‘return’ key (hardware) to close on-screen keyboard
- BUGFIX: Fix mouse capture hotkey not working
- BUGFIX: Avoid overflow when calculating multiplying performance counter
- BUGFIX: Retroarch overlay displaying “Game remap file loaded.” on the overlay instead of “Core remap file loaded.” when only a core remap file is present
- CHEEVOS/BUGFIX: Achievement triggers could cause Retroarch to Crash
- CHEEVOS: Don’t block Sameboy core because it only exposes some memory
- CHEEVOS: Support for extended Sega CD memory
- CHEEVOS: Show RetroAchievements Hash in content information list
- CHEEVOS: If the core says it’s exposing SYSTEM_RAM, give it the benefit of the doubt
- CHEEVOS: RetroAchievements rich presence for RA.org website/Discord
- CHEEVOS: Reset token when username or password changes
- CHEEVOS: Display measured progress on locked achievements
- CHEEVOS: Queue multiple popups
- CHEEVOS: Add delay retries to leaderboard submits
- CHEEVOS: Prevent buffer overflow when encountering an unknown macro
- CORE UPDATER: Prevent hang when fetching core list if HTTP transfer fails
- DISK CONTROL: Add disk labels to ‘disk inserted’ notifications
- EMSCRIPTEN: Recreate input event listeners properly
- FFMPEG CORE: Fix crash on seeking when using HW decoding in some cases
- LIBRETRO: Add disk control interface API extension
- LINUX: Avoid possible crash when running retroarch at startup
- LINUX/GLX: Fix threaded video crashes/instability because of GLX OML sync callbacks
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Spanish translation
- LOCALIZATION: Update Portuguese Brazilian translation
- MENU: Add Menu Scroll Acceleration option
- MENU: Automatically select currently checked item when opening drop-down lists
- MENU: Fix smooth (vertical) line ticker scroll speed
- MENU: Don’t flush on override/remap messages
- MENU/DATETIME: Adds some new timedate styles that follow the DD/MM/YYYY format, found in several European countries
- MENU/DATETIME: Modifies the existing translation files in order to accommodate the new options that are now available
- MENU/DATETIME: Reorders the timedate view options based on a decreasing order of the quantity of information displayed, so that they are more convenient to switch around and easily categorized
- MENU/BUGFIX: Fix bug – if you were in XMB and you would set menu driver to RGUI, you could no longer go to the left or right tab
- MENU/MATERIALUI: Add option to remove navigation bar
- MENU/OZONE: Add DPI-based scaling
- MENU/OZONE: Add rudimentary pointer support
- MENU/OZONE: Add ‘Nord’ and ‘Gruvbox Dark’ themes
- MENU/OZONE/POINTER: Pointer can be used to switch between sidebar and entries list
- MENU/OZONE/POINTER: Pointer can be used to select sidebar and entries list items
- MENU/OZONE/POINTER: Both sidebar and entries list can be scrolled by dragging
- MENU/OZONE/POINTER: Clicking/pressing the header or footer produces a ‘cancel’ action
- MENU/OZONE/POINTER: Cursor focus follows mouse pointer from sidebar to entries list (and vice versa)
- MENU/OZONE/POINTER: In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn’t break mouse wheel scrolling)
- MENU/OZONE/POINTER: In sidebar, item under cursor is not automatically selected (this is too jarring)
- MENU/RGUI: Add ‘Flux’ theme
- MENU/XMB: New color themes ‘Cube Purple’, ‘Family Red’, etc
- NETPLAY/MENU/BUGFIX: Fix Netplay Stateless Mode doesn’t save. Affects other netplay settings which can be overridden by commandline option
- ODROID GO ADVANCE: Rotation support
- NETPLAY/ROOMS/BUGFIX: Prevent out-of-bounds array indexing when displaying/selecting netplay rooms in menus
- SCANNER: Add ‘Arcade DAT Filter’ Option
- SCANNER: Add scanning Korea and Asia PS1 discs
- SCANNER: Add support for scanning PSP Korean
- VIDEO: Set hardware ‘Bilinear filtering’ off by default
- VIDEO/WIDGETS: Widgets are now menu-independent
- VIDEO/WIDGETS: Allow notifications to use full screen width when not displaying menu
- VIDEO/WIDGETS: DPI-based scaling
- VIDEO/WIDGETS: Fix volume widget scaling
- VIDEO/WIDGETS: Add independent widget scale override settings for fullscreen/windowed modes
- VIDEO/WIDGETS/BUGFIX: Prevent improper display of (old style) OSD text when widgets are enabled
- VIDEO/WIDGETS/THREADED/BUGFIX: Fix issue – corruption of menu widgets when running some cores (e.g. VICE) with threaded video enabled
- WIFI/CONNMANCTL: Display more characters from SSID
→ NOWSZY [multi] RetroArch/Core 1.7.8
1.7.8 (future)
- 3DS: Fix C-Stick y-axis inversion
- 3DS: Update all icon/banner images
- AI: Add AI Service functionality (enabled for Windows/Mac/Linux/Android/iOS).
- APPLE (MAC/IOS/TVOS): Fix autodetect for mFI controllers: properly call autodetect add on the connect notification, and add call to disconnect on GameController disconnect notification.
- ANDROID: Implemented multi-touch touchscreen support
- ANDROID: Now can be built with Gradle/Android Studio
- AUDIO/WINDOWS: You can now select between audio devices for XAudio2/DirectSound/XAudio2 by pressing left/right on the Audio Device option.
- AUDIO/WINDOWS: Setting the device by either index number or name string should work.
- BLISS-BOX: Add 4 new pad types from firmware 3.0
- BPS/UPS: Re-allocation target_data variable for target patch size (can now apply bigger patches without extra-bytes on memory)
- CDROM: Added real CD-ROM functionality for Windows and Linux.
- CDROM: Added disc dumping.
- COMMON: Add separate frontend logging
- COMMON: Ability to set FPS update interval (used in the window titlebar/FPS widget)
- COMMON: Add 'Reset Frame Time Counter' functionality, enable it by default for resizing the window, loading/saving shader presets, fastforwarding, etc.
- COMMON: Add optional 'on demand' thumbnail downloads
- COMMON: Add new playlist-based thumbnail downloader. Hide the legacy thumbnail pack version by default
- COMMON: Show license per core (if available) inside 'Load Core'
- COMMON: Add option to load content from (and dump) CD-ROM discs
- COMMON: Re-enable '--log-file' command line option
- COMMON: Default playlist core association is now stored as metadata inside each playlist
- COMMON: Fix playlist format detection
- COMMON: Favorites playlist size can now be set independently of content history size. Values can be set from 0-999, or '-1' for unlimited (99999)
- COMMON: Prevent adding new items to favorites when playlist is full (old entries are no longer overwritten)
- COMMON: Prevent loading content with cores that require an incompatible graphics API version from the current one
- COMMON: Saved shader presets are now portable across platforms and use relative paths
- COMMON: Add '--set-shader' command line option which works like an override for automatic shader presets
- COMMON: Add global shader presets
- COMMON: Remove 'video_shader' setting, shaders are not saved automatically anymore
- CORE OPTIONS: When saving core option overrides, only include settings for the current core
- CORE OPTIONS: Add option to save core options per-core
- CPU FILTERS: Add Scanline2x filter
- DINPUT: Cleanup magic numbers mess surrounding hat code
- GAMECUBE: Add default video/audio filter directories
- GL/MALI400: Fix menu issues on Mali 400 series GPUs, should also fix 'RetroArch flickers black on ARM Mali GPUs (Android/ARM Linux)
- GL/GLCORE: Use highest supported OpenGL Core version on Windows and X11
- GL1: Ignore alpha in core video, fixes XRGB8888 rendering in some cores
- GLCORE: Don't hardcode shader cross compilation target version but poll it. glcore would always only use the minimum target shader version, i.e. GLSL ES 3.00 for OpenGL ES 3.0+ or GLSL 1.50 for OpenGL 3.2+
- D3D10/11/12/SLANG: Added "FrameDirection" slang semantic. Works fine with braid-rewind shader, not entirely perfect with D3D12 though
- D3D10/11/12: Add option to select which GPU to render with
- D3D10/11: Fix maintaining aspect ratio when resizing window
- GLCORE/SLANG: Added "FrameDirection" slang semantic
- HID: Add Retrode support. Should work on Wii/WiiU.
- INPUT: Menu toggle hotkey can now be bound to another keyboard key and it will toggle properly
- IOS: Correctly centers screen on iPhone X landscape
- IOS: Implemented multi-touch touchscreen support
- IOS: Add in more Apple Model numbers for RetroRating Added in all current Apple Model numbers and set a base rating of 19
- IOS: Remove pause indicator; show the native UI menu using 4-finger swipe down gesture
- IOS: Support L3/R3 in iOS 12.1, Options buttons in MFi/PS4/XBox One controllers in iOS 13
- LIBRETRO: Add new core options interface, allows for localization, sublabels and more
- LIBRETRO: Add new bitmask input codepath, for RETRO_DEVICE_ID_JOYPAD only for now
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Portuguese Brazilian Translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Turkish translation
- MENU: Add smooth ticker text
- MENU: Ability to hide every settings submenu (User Interface -> Views -> Settings)
- MENU: Ability to hide nearly every quick menu entry (User Interface -> Views -> Quick Menu)
- MENU: Fix longstanding menu display issues on Mali400 GPUs (on ARM hardware, SBCs and mobile phones/tablets)
- MENU: Fix Record -> Streaming Quality, and Record -> Recording Threads settings
- MENU: Fix history playlist navigation after running content
- NENU: Menu entry performance optimisations
- MENU: Add option to show 'remove playlist entry' only on history/favourites
- MENU: Overhaul content 'Information' menu display
- MENU: Add new 'Playlist Management' submenu. Allows default core associations to be set (via dropdown list), and all existing associations to be reset
- MENU: Add 'Set Core Association' option to Quick Menu
- MENU: Add option to remain in menu after saving/loading states
- MENU: Pressing the Start button on 'Load Core' will unload the core.
- MENU: After a core is running, Load Core will be hidden from view until you select 'Close Content' from the Quick Menu.
- MENU/WIDGETS: All widgets are now properly cleaned up, fixing the frozen widgets bug when loading / closing content
- MENU/WIDGETS: Fix crash with tasks
- MENU/WIDGETS: Widgets are now drawn above the overlay with OpenGL and Vulkan
- MENU/WIDGETS: Fine tune progress bar colors
- MENU/WIDGETS: Have the progression widget always resize
- MENU/THUMBNAILS: Ensure that displayed thumbnails are always refreshed correctly after selecting 'Download Thumbnails' from Quick Menu
- MENU/THUMBNAILS: Make PNG image loading/processing non-blocking on non-threaded systems
- MENU/OZONE: Add it for PS3
- MENU/OZONE: Fix regression in 1.7.7 - OSX/macOS - was unable to start it
- MENU/OZONE: Fix sublabel spacing
- MENU/OZONE: Add toggle to enable/disable playlist name truncation in Ozone
- MENU/OZONE: (Ozone) Fix display of (semi-)transparent thumbnails
- MENU/XMB: Add menu animation settings
- MENU/XMB: Add optional thumbnail scaling
- MENU/XMB: Fix display of long sublabels. Text that would exceed the display area now scrolls line-by-line
- MENU/XMB/OZONE: Add optional thumbnail upscaling
- MENU/QT/WIMP: Add core option sublabels as tooltips, add buttons to reset one/all core options
- MENU/QT/WIMP: Word-wrap core option tooltips
- MENU/QT/WIMP: Path selector fixes
- MENU/RGUI: Enable playlist display on platforms without database support
- MENU/RGUI: Make particle effects framerate independent + add animation speed setting
- MIDI: correct pitch bend in ALSA driver - MIDI standard pitch bend center position is 0x2000 but ALSA's is 0
- MIDI: Fix SysEx handling. We need to clear the event status after each message. Otherwise, after a SysEx message the first byte of the next event will incorrectly inherit its delta_time. This causes a delay of several seconds in nearly every MT-32 games which uses a lot of long SysEx.
- METAL/SLANG: Added "FrameDirection" slang semantic
- NETBSD: Audioio is now the default audio driver
- NETBSD: Fix a segfault when starting RetroArch with an empty configuration file and LANG unset in the environment
- OSD: OSD is now drawn above the overlay with Vulkan
- OSX: Fix regression with Cocoa GL - shader / preset loading was getting stuck in an infinite loop
- OSX: Add improved menu resizing for window resizing
- PLAYLISTS: Add history/favourites to 'Playlist Management' menu
- RECORD: Fix Twitch streaming
- REMOTE RETROPAD: Fix for Remote RetroPad input - fixes processing of Remote RetroPad input. None of the remote inputs are being executed both in menu and in game. This is due to the way current key binds are being detected which block processing of any remote input. It's been tested using Remote RetroPad core on Android including digital dpad and analog control input.
- RUNAHEAD/MSVC2010: Build in runahead support for MSVC2010 and up
- RUNAHEAD/VITA: Build in runahead support for Vita version
- SAVESTATES: Allow auto save states also in cores that support no content as long as some content is loaded
- SCALER: Fix SSE2 path for ARGB/BGRA -> BGR24 - should fix screenshots being taken for XRGB888 (viewport)
- SCANNER: Skip all databases with incompatible file extensions, whether content is inside an archive or not
- SCANNER: Fix hang on empty files inside archives
- SHADERS: Add proper shader compatibility checks
- SHADERS: Enable Cg shaders for D3D9
- SHADERS: Remove 'video_shader' setting, replace it with global presets that make more sense
- SHADERS: #reference directive for shaders. Presets can point to other existing presets if they are unchanged
- SHADERS: Will attempt to cache the shader/preset into memory before loading to avoid costly getline/gets/getc operations
- SHADERS: New --set-shader commandline option
- SHADERS/MENU: Prevent undefined behaviour when failing to load shaders
- SHADERS/MENU: Pressing the Start button on 'Load Shader Preset' will reset all shader passes and apply changes, effectively disabling the shaders
- SHADERS/MENU: New menu options for removing shader presets (global/core/parent/etc).
- SWITCH :Add Audren audio driver.
- SWITCH: Fix splitting and joining of joycon controllers. Before this fix, splitting and joining of joycons only ever worked sporadically
- SWITCH: Proper x/y scaling for pointer devices, fixes touch lightgun
- THUMBNAILS: Add optional On-Demand Thumbnails.
- UDEV: Fix wrong udev devices order
- UDEV/X11: Mouse pointer should work now in X11 environment with no Display
- VITA: Update Vita2D
- VULKAN/SLANG: Added "FrameDirection" slang semantic
- VULKAN: Add option to select which GPU to render with
- VULKAN: Validate non-causal filter chain for texture inputs. We only validated for UBO inputs apparently.
- WINDOWS: Menubar should no longer be disabled when threaded video is enabled
- WINDOWS: Add improved menu resizing for window resizing
- WINDOWS: Properly set initial directory for menubar 'Load Core' option
- WII: Add default video/audio filter directories
- WII: Fix RGUI display corruption
- WII: Fix HID joypad drivers
- WII: Add optional overscan correction
- WII: Fix recursive path_mkdir() operations
- WII: Add widescreen RGUI support
- WIIU: Scale menu to viewport size; respect filtering settings for menu
- WIIU/RGUI: RGUI does its own transparency effects in the texture, so we don't have to add another 50% on that
- WIIU/RGUI: Use correct pixelformat ordering for menu texture
- WIIU/SLANG: Added "FrameDirection" slang semantic
- X11: Add improved menu resizing for window resizing
- X11: Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11
1.7.7
- 3DS: Add unique IDs to prevent cores overwriting each other
- 3DS: Fix screen tearing when running 50Hz content
- ANDROID: We now target API level 26 (minimum is still API level 9)
- ANDROID: Add option to vibrate on touch (works in menu or overlay)
- ANDROID: Add device vibration option for cores that support rumble
- ANDROID: Add gamepad vibration support for cores that support rumble
- ANDROID: Allow stylus/pen to move mouse without pressing down
- AUDIO: Avoid deadlocks in certain audio drivers when toggling menu sounds on
- BLISS-BOX: Support PSX Jogcon (requires firmware 3.0)
- CHEEVOS: Fix crash when reading memory that is out of range
- CHEEVOS: New Cheevos implementation enabled by default
- CHEEVOS: Pop-up badges when an achievement is triggered
- CRT: Dynamic super resolution support
- DISCORD: Fix potential crash when username is empty and discord is disabled
- DISCORD: Ask to join support for Linux
- INPUT/ANDROID: Add "Input Block Timeout" option
- COMMON: For platforms without HAVE_THREADS, don't automatically resume content when saving/loading states
- COMMON: Make playlist sorting optional and consistent
- COMMON: Fix sorting of playlists with blank labels
- COMMON: Fix content scanner creating false positive playlist entries that also have wrong label and crc32
- COMMON: Add some MMX-optimized pixel conversion routines
- COMMON: Fix typo preventing some SSE2-optimized pixel conversions from being used
- COMMON: Add option to track how long content has been running over time
- COMMON: Fix buffer overflows in system information
- COMMON: Add option to change screen orientation via the windowing system (Android, Windows, X11)
- COMMON: Show CPU model name in log
- COMMON: Add "Help -> Send Debug Info" option (and F10 hotkey) to send diagnostic info to the RetroArch team for help with problems
- COMMON: Show GPU device name/version in log
- COMMON: Add menu option to write log info to a file
- COMMON: Add subsystem support for playlists. Subsystem info is automatically saved to the history playlist for easy relaunching
- GL: Add new "gl1" OpenGL 1.1 compliant video driver for legacy GPUs and software renderers
- GL: Add a new "glcore" driver with slang support (requires GL 3.2+ or GLES3)
- GL: Draw OSD on top of overlay
- GONG: Add savestate support
- GONG: Add video refresh rate core options
- GONG: Two player support via core option
- GUI: Fix text alignment when using stb_unicode
- GUI: Fix text display issues when using Japanese (and other unicode-dependent language) text with stb_unicode
- GUI: Set language on first startup to the user's preferred OS language (Windows, *nix and Android)
- INPUT: Add (scaled radial) analog deadzone and sensitivity options
- LIBRETRO: Add Turkish language support
- LIBRETRO: Allow non-accelerated video to rotate the display
- LOCALIZATION: Update Chinese (Simplified) translation
- LOCALIZATION: Update Chinese (Traditional) translation
- LOCALIZATION: Update Dutch translation
- LOCALIZATION: Update French translation
- LOCALIZATION: Update German translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Russian translation
- LOCALIZATION: Update Spanish translation
- LOCALIZATION: Add new Turkish translation
- MIDI: Fix startup crash in midi driver
- MENU: Bugfix - you can no longer get stuck in Online Updater -> Update Core screen when toggling between ingame and menu
- MENU: Selectively hide 'Take Screenshot' for video drivers that don't support taking screenshots
- MENU: Framerate independent menu rendering. MaterialUI/Ozone/XMB/RGUI can now run at higher framerates
- MENU: Thumbnails work in history list
- MENU: Menu widgets
- MENU: Add memory statistics support to more context drivers
- MENU: Enable ozone driver for UWP builds
- MENU: Add optional "looping" menu text ticker with configurable speed
- MENU: Fix core video rendering when using ozone with GL cores that implement the scissor test
- MENU: Add optional playlist sublabels (associated core + play time, where available)
- MENU: Dropdown list settings now apply immediately
- MENU: Add setting to require pressing the "Exit RetroArch" hotkey twice to confirm
- MENU: Now able to run at higher refresh rates than 60Hz
- MENU: Enable "Add to Favorites" without loading a core
- MENU: Allow core name to be hidden on history/favorites playlists
- MENU: Populate crc32 and db_name fields when adding history/favourites playlist entries
- MENU: Fix TTF files not showing in OSD/menu font selection screen
- MENU: Fix audio/video filters not showing in file browser
- MENU/MaterialUI: Add subsystem support
- MENU/MaterialUI: Add currently selected entry in dropdown menus
- MENU/OZONE: Add mouse support on entries (no sidebar yet)
- MENU/OZONE: Allow collapsing the sidebar
- MENU/OZONE: Add thumbnail support
- MENU/OZONE: Battery notifications
- MENU/OZONE: Add wifi icon for network entries
- MENU/QT/WIMP: Add git version and build date to Help->About window
- MENU/QT/WIMP: Fix content loading via the file browser
- MENU/QT/WIMP: Add new settings window to control all RetroArch settings
- MENU/RGUI: Improve playlist titles
- MENU/RGUI: Add option to hide associated cores in playlists
- MENU/RGUI: Add internal upscaling option
- MENU/RGUI: Add subsystem support
- MENU/RGUI: Add menu sublabel support
- MENU/RGUI: Re-enable "Load Core" option when content is loaded
- MENU/RGUI: Add optional "Collections" entry to main menu
- MENU/RGUI: Add "Lock Menu Aspect Ratio" option
- MENU/RGUI: Add "full width" layout option
- MENU/RGUI: Ensure menu color theme is applied immediately
- MENU/RGUI: Fix "Lock Menu Aspect Ratio" option when using custom viewports
- MENU/RGUI: Add widescreen support
- MENU/RGUI: Allow text to be centred when selecting widescreen layouts
- MENU/RGUI: Add inline playlist thumbnail support
- MENU/RGUI: Add optional shadow effects
- MENU/RGUI: Performance optimizations
- MENU/RGUI: Add optional extended ASCII support
- MENU/RGUI: Add optional delay when loading thumbnails
- MENU/RGUI: Add on-screen keyboard
- MENU/RGUI: Battery notifications
- MENU/XMB: Prevent crashes when resizing to a tiny window
- MENU/XMB: XMB honors the 'show menu sublabels' setting now - was previously RGUI only
- NETPLAY: Fix stall-out causing total disconnection with >2 players
- NETPLAY: Different (more intuitive?) default netplay share policy
- NETPLAY: Add hotkey option to toggle hosting on/off
- NETWORKING: Encode URLs to allow for spaces in directory names
- OSX: Prevent crash on exit
- OSX: Metal is now the default video driver for the RetroArch Metal build
- OSX: Enable CoreAudio v3 driver for Metal
- OSX/MACOS/IOS: Now uses the STB Unicode font driver
- PS2: CDFS support
- PS2: Implemented analog support for ps2 controllers
- PS2: Fix audio freeze after restarting core
- PS2: Fix issues with load state and the font driver
- PS2: File I/O now works for USB and network host
- PS2: Support cores with extra padding in their frame buffers
- SCANNER: New option 'Scan without core match'. When this is enabled, supported extensions by all installed cores are not checked, and instead it will add all content it finds to a playlist. This way, you can install the core you need later on after scanning. Not enabled by default
- SHADERS: Don't alphabetize shader presets
- SWITCH: Add rumble support
- SWITCH: Add USB keyboard support
- VITA: Add bluetooth mouse and keyboard support
- VULKAN: Fix color issues with RGBA8888 swapchains in readback (screenshots)
- WII: Don't init overlay when RAM is beyond 72MB
- WII: Skip CRC calculation on content load, can improve load times of larger games by several seconds
- WINDOWS: Fall back to gl1 driver if accelerated GPU driver is unavailable
- WINDOWS: Allow winraw and xinput to work without dinput (needed for WinRT)
- WINDOWS: Add MSVC2017 ARM desktop support
- UWP: Fix rewind by opting for slower codepath
- UWP: Fix relative path name issues when loading shaders
- UWP: Optimizations for VFS system
→ NOWSZY [multi] RetroArch/Core 1.7.6
Changelog
- ANDROID: Fix Xperia Play input binding.
- CHEEVOS: Reset when hardcore mode is toggled.
- CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs).
- COMMON: Add new JSON playlist format.
- COMMON: Fix playlist corruption when deleting items.
- COMMON: Fix archive progress display calculation.
- COMMON: Fix playlist entries appearing with previously used names.
- COMMON: Fix screenshot filename with no core or content.
- COMMON: Allow compiling without menu support.
- CORE UPDATER: Allow sideloading cores from the menu.
- CPU FILTERS: Add Normal2x filter.
- CRT/LINUX: New Linux switching method partially implemented.
- CRT/LINUX: Linux restore desktop resolution fixed.
- CRT/LINUX: Monitor index switching and auto enumerate for output detection in Linux (still working on the windows method).
- CRT/RASPBERRY PI: Initial support.
- DATE: Add Date / Time style options.
- DEBUGGING: Add an integrated crash handler for debug builds (see https://docs.libretro.com/tech/debugging)
- DISCORD: Register the application name properly.
- DISK CONTROL: Remember the last used folder / current active folder to make disk-swapping faster.
- INPUT: Add new menu toggle (hold start button for 2 seconds)
- INPUT: Fix arrow keys being incorrectly bound as numpad keys
- INPUT/SDL: Flush the joypad events. Decreases cpu usage over time with the SDL joypad driver.
- LOCALIZATION: Add Greek translation.
- LOCALIZATION: Update German translation.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Simplified Chinese translation.
- LOCALIZATION: Update Spanish translation.
- MENU: New "ozone" menu driver.
- MENU: Only show CRT SwitchRes if video display server is implemented (Windows/Linux for now)
- MENU: User Interface -> Appearance -> 'Menu Font Green/Blue Color' settings now work properly.
- MENU: Add option to enable in-menu sound effects.
- MENU/D3D: Scissoring support (will be used for Ozone and menu widgets).
- MENU/QT/WIMP: Allow building with MSVC2017.
- MENU/QT/WIMP: Add detailed file browser table.
- MENU/QT/WIMP: New grid view implementation that is faster and loads thumbnails on-demand.
- MENU/QT/WIMP: Thumbnail drag and drop support.
- MENU/RGUI: Overhaul custom theme interface + add wallpaper support.
- MENU/RGUI: Thumbnail support and thumbnail downscaling.
- MENU: Hide password values.
- MENU/SOUNDS: Implement in-menu sound effects (not enabled by default for now, still experimental).
- MIDI: Add a Linux ALSA driver for MIDI.
- NETPLAY: Force fast-save-states when netplay is enabled.
- NETPLAY: Allow quick joining subsystem lobbies.
- OSX: Initial CoreAudio V3 audio driver (not yet used in release builds).
- OSX: OpenGL 3.2 Core support for cores.
- PS2: Initial PlayStation2 port.
- PS4: Initial PlayStation4 port.
- RECORDING: Implement recording options in the menu complete with quality profiles, streaming, and proper file naming
- SCANNER: Fix GDI disc scanning.
- SHADERS: Fix auto shader preset loading on D3D10, D3D11, D3D12
- SUBSYSTEM: Allow more than 10 subsystems
- SUBSYSTEM: Cores that use subsystem for complex scenarios can now load content without starting a regular content first
- SUBSYSTEM: Remember the last used folder to make loading subsystem type content faster
- SWITCH/LIBNX: Improve touch scaling calculation.
- SWITCH: Proper button labels.
- TVOS: Initial tvOS port.
- VULKAN: Fix RGUI crashing at startup.
- VULKAN/RGUI: Enable 'Menu Linear Filter' option.
- VULKAN: Fix secondary screens in overlays not working.
- WAYLAND: Implement idle-inhibit support (needed for screensaver suspend).
- WAYLAND: Fix fullscreen toggle.
- WIIU: Initial netplay peer-to-peer support. Network information working.
- WINDOWS/WSA: Network Information info is blank until first network operation.
- WINDOWS: Fix an ancient bug that caused wrong mappings for keyboard arrows.
- WINDOWS: Remember window size and position if so desired.
- WINDOWS: SSL/TLS connections now work properly.
- WINDOWS: Fall back to GDI driver if no accelerated graphics driver is found.
- UWP: Initial UWP port.
- VFS: Update to version 3.
- XBONE: Initial Xbox One port.
- XMB/OZONE: Add more icons
- XMB: Add Automatic Inverted theme
- ???: Easter Egg
→ NOWSZY [multi] RetroArch/Core 1.7.3 04/05/2018
Changelog
- AUDIO: Audio mixer supports FLAC/MP3 file types now!
- COMMON: Fixed bug 'crashing in cores that don't range check retro_set_controller_type'. Some people were having crashes when device is set to RETRO_DEVICE_NONE and the cores don't check the number of ports, in VBAM's case it was overflowing and crashing. QuickNES was crashing too.
- COMMON: Fixed buffer overflow in url encoding (affecting MSVC2010/2013).
- COMMON: (QuickMenu) Added Configuration Override submenu.
- HID: Merge new HID subsystem.
- HID: Fix WaveBird support for the Wii U GCA.
- HID/OSX: Fix regression with IODHIDManager - gamepads which are connected later would not be autoconfigured.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Portuguese translation.
- MENU: New WIMP Qt GUI!
- MENU: Audio mixer now works in the menu without any cores loaded. You have to enable the setting 'Enable menu audio' for this to work.
- REMAPPING/OVERLAYS: Fix regression - overlays could no longer be remapped.
- SCANNER: Add Wii Backup File WBFS support.
- X11: CRT SwitchRes support for X11/Linux.
→ NOWSZY [multi] RetroArch/Core 1.7.2 26/04/2018
Changelog
- ANDROID/OPENSL: Prevent crashes when setting audio latency too low (buffer count can never be lower than 2 now).
- CRT: Added CRT SwitchRes.
- COMMON: Hide the ‘Core delete’ option if the ‘Core updater’ is also hidden.
- COMMON: Add way to reset core association for playlist entry.
- COMMON: Fix invalid long command line options causing infinite loop on Windows
- COMMON: Add OSD statistics for video/audio/core.
- COMMON: Added runahead system; allows you to drive down latency even further.
- COMMON: Fix buggy behavior that could happen with ZIP file reading on some platforms as a result of not initializing struct.
- CHEEVOS: Support Atari 2600, Virtual Boy, and Arcade (only Neo Geo, CPS-1, CPS-2 and CPS-3 and only with fbalpha core).
- CHEEVOS: Add option to automatically take a screenshot when an achievement is triggered.
- CHEEVOS: Fixed incompatibilities with Neo Geo Pocket achievement sets.
- CHEEVOS: Store only login token, not password.
- D3D10: Added D3D10 driver to release build. Has working shaders (Slang), overlay, and menu display driver support. Should be on par capabilities wise with D3D11 driver except for there being no hardware rendering right now.
- D3D11: Experimental hardware renderer. Allows for libretro cores to use D3D11 for hardware rendering. First core to use this is PPSSPP.
- D3D11: Increase backwards compatibility, shaders compile with Shader Model 4.0 now, added support for more feature levels.
- D3D10/D3D11/D3D12: Fix crashes with completely black or white thumbnail textures in XMB.
- GUI: Support disabling window decorations on Windows and Linux.
- LIBRETRO: Addition – Functions to enable and disable audio and video, and an environment function to query status of audio and video enables.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Polish translation.
- MENU: Add Rewind/Latency/Overlay settings to Quick Menu, add options to show/hide them (User Interface -> Views -> Quick Menu)
- MENU/RGUI: Only show Menu Linear Filter for RGUI and only show it for video drivers that implement it (D3D8/9/10/11/12/GL)
- MENU/RGUI: Add User Interface -> Appearance options.
- MENU/RGUI: D3D8/D3D9: Hookup Menu Linear Filter
- MENU/XMB: Disable XMB shadow icons by default for PowerPC and ARM for performance reasons.
- MENU/XMB: Left/right thumbnails are now automatically scaled according to layout.
- MENU/XMB: Add Left Thumbnails (additional to the right).
- MENU/XMB: Fixed left/right tab regression.
- MENU/XMB: Fix scaling of tall images that were cut on bottom previously.
- MENU/XMB: Menu scale factor setting now changes texts length, image scaling and margins.
- MENU/XMB: Mouse cursor scales correctly now.
- MENU/XMB: Add toggle to show/hide Playlist tabs.
- MENU/XMB: Add menu layout – can switch between Desktop, Handheld and Auto.
- MENU/XMB: Don’t load menu pipeline shaders unless XMB is selected (D3D10/D3D11/D3D12/GL/Vulkan)
- MENU/VIDEO: Only show black frame insertion for the video drivers/context drivers that support it (so far this includes – D3D8/D3D9, OpenGL, Vulkan)
- MENU/VIDEO: Only show max swapchain images if supported by video driver and/or context driver (so far this includes – DRM EGL context driver, VideoCore EGL context driver, Vulkan)
- MENU/MaterialUI: Automatic DPI Scaling should be much improved now, now scales as expected at 1440p and 4K resolutions.
- MENU/MaterialUI: Fix wrong calculation of an entry height causing long playlists to end up outside of screen range. This also could cause crashes on low DPI screens.
- IOS: Fixed crash when opening downloaded roms from Safari or using the “Open in..” functionality. Added the compiler flag to support keyboard remapping to controls.
- IOS: Fixed buffer overlap that caused a crash while trying to download GLSL shaders from the buildbot.
- PS3: fix URLS
- REMAPS: Mapping keyboard keys from more than one gamepad (works with dosbox)
- REMAPS: Mapping more than one button to the same action
- REMAPS: Unmapping buttons
- REMAPS: Unmapping analogs
- REMAPS: Mapping a button to trigger an analog response (tested with mupen, can run on SM64 with the d-pad now, triggers a full analog tilt)
- REMAPS: Mapping an analog to another analog (having more than one analog mapped to the same output causes issues)
- REMAPS: Mapping an analog to produce a button response
- SCANNER: Should be able to scan dual-layer Wii disc images now, filestream code now supports files larger than 4GB.
- SHADERS/SLANG: Slang shaders should work again on Android version and MSVC versions (basically all the Griffin-based versions).
- SHADERS: If GL context is GLES2/3/Core context, Cg shaders are unavailable. Applies to shader list too.
- SHADERS: Hide cg/glsl shaders from being able to be selected if D3D8/9/10/11/Vulkan video drivers are selected.
- SHADERS: Hide slang shaders from being able to be selected if D3D8/9/OpenGL video drivers are selected.
- SHADERS: Prevent crashes from occurring if we have the GL video driver in use and we try to skip to a slang shader through next/previous hotkeys
- SHADERS: Fix shader parameter increase / decrease functions
- SUBSYSTEM: handle savestates properly (cart1 + cart2.state0)
- VULKAN/X11: Fix X11 Vulkan bug from Wayland driver.
- VULKAN: Fix multi-line text spacing in menus with Vulkan driver.
- WINDOWS XP: Add Cheevos support.
- WINDOWS/MSVC 2003/2005/2010/2013/2015/2017: Add Cheevos support.
- VITA: Bugfix for ‘PS Vita takes many time to start to accept input’ issue.
- X11: Allow compositor disabling on X11 fullscreen through _NET_WM_BYPASS_COMPOSITOR
- X11: Prioritize NET_WM_STATE_FULLSCREEN in true fullscreen mode
- WIIU: Fix OOB read/write in keyboard driver.
→ NOWSZY [multi] RetroArch/Core 1.7.0 26/12/2017
Changelog
- CHEEVOS: Add badges for achievements, shows thumbnail images of achievements.
- CHEEVOS: Leaderboard support.
- CHEEVOS: Only disable savestates on hardcore mode if achievements are not available.
- COMMANDLINE: Fix fullscreen toggle switch.
- COMMON: Add ‘Automatically Load Content To Playlist’ feature, enabled by default.
- COMMON: Fix slowmotion ratio always being reset back to 1.
- COMMON: Optimized NBIO implementations now for Apple, Windows, and Linux. Uses mmap for Linux/Windows/BSD if/when available. File I/O should now be much faster for loading images inside the menu.
- COMMON: Native Blissbox support now for latest firmware as of writing (2.0). Implementation through libusb and/or native Windows HID.
- COMMON: New lightgun API.
- COMMON: New VFS (Virtual File System) API.
- COMMON: Fixed some playlist bugs.
- COMMON: New snow shader.
- COMMON: Fix Quick Menu title, no longer shows ‘Select File’.
- COMMON: Fix loading cores that require no content one after another.
- COMMON: Map Delete key to Y button for non-unified menu keyboard controls.
- COMMON: Fix for relative paths being normalised and generating a duplicate history entry.
- EMSCRIPTEN: Fix references to browserfs.
- FREEBSD: Support libusb HID input driver.
- HAIKU: Buildfix.
- INPUT: Map clear button to DEL key.
- LINUX/X11: Add RetroArch logo to window title bar.
- LINUX/X11: Input driver now supports new lightgun code.
- LINUX/X11: Support window transparency (requires a compositing window manager).
- LOBBIES: Fix for crash on join netplay rooms via touch / glui.
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Portuguese-Brazilian translation.
- LOCALIZATION: Update Polish translation.
- LOCALIZATION: Update Russian translation.
- MENU: Snowflake menu shader effect.
- OSX/PPC: Fix the GL2 renderchain, had to use EXT versions of framebuffer/renderbuffer functions.
- PS3: HTTP requests / downloads should now work.
- PS3: Core Updater now works.
- PS3: Improved font rendering, enable STB Unicode font renderer.
- PSP: Make it work with Vita’s Adrenaline.
- PSP: Fix audio sync.
- PSP: Fix content loading, port should be functional again.
- PSP: Use 64MB when available.
- SCANNER: Fix crash from Windows-incompatible format string.
- VITA: Improve packaging, installation times.
- WIIU: Disabled the controller patcher for now since it was the source of many stability issues.
- VULKAN: Various stability fixes for WSI.
- WINDOWS: Add MSVC 2017 solution.
- WINDOWS: Get rid of the empty console window in MSVC 2010 builds.
- WINDOWS: Raw input driver now supports new lightgun code.
- WINDOWS: Use configured OSD/text message color on GDI driver.
- WINDOWS/XINPUT: Populate XInput VID/PID from DInput so autoconfig doesn’t rely solely on joypad names
- WINDOWS/XINPUT: Fix crash that occurs in some situations with Steam running and a Steam Controller plugged in.
- WINDOWS: Improve version reporting under System Information.
- WINDOWS: Support window transparency.
- WINDOWS: Correct usage of GetWindowPlacement per MS docs, fixes game window position on Win95/98.
- WINDOWS: Added Visual Studio 2017 support.
→ [multi] RetroArch/Core 1.6.8 21/11/2017
Changelog
- Audio: Fix the Audio DSP picker
- CHEEVOS: Add support for Atari Lynx cheevos.
- CHEEVOS: Add support for RetroAchievements Leaderboards.
- GUI: (MaterialUI) Fix crash that happened on context reset with Vulkan.
- GUI: (MaterialUI) Skip querying and drawing items that are not visible; Cache content height and bbox calculation.
- GUI: (MaterialUI) Fix entry box highlight calculation.
- GUI: (XMB) Skip drawing the fading list when it is already transparent. Optimization.
- GUI: (XMB) Comment out visible item calculation in xmb_draw_items().
- GUI: (RGUI) Prevent crashes when using a non-English language reliant on UTF8.
- GUI: Add menu option for OSD background color.
- GUI: Add menu option for OSD text color.
- GUI: Add menu option to remove frame count from OSD.
- GUI: Allow wraparound of int/float settings when pressing the left key
- INPUT/LIBRETRO: Add support for more mouse buttons (buttons 4/5)
- INPUT/LIBRETRO: Add support for analog buttons
- INPUT: Always show the controls menu even if descriptors are not set
- INPUT: Fix input descriptors not being set on cores that don’t implement the controllers interface
- INPUT: Apply descriptors only for the amount of cores the core supports
- INPUT: Implement keyboard to gamepad input remapping (limited to one gamepad device for now)
- INPUT: Fix absolute mouse move handling on the winraw driver
- INPUT: Ignore keyboard input if window is not active on udev driver
- INPUT: Sanitize the filenames of autoconfig profiles before saving
- LOBBIES: Fix crash on navigating left / right from the lobby menu
- LOCALIZATION: Update Dutch translation
- LOCALIZATION: Update Italian translation.
- LOCALIZATION: Update Japanese translation.
- LOCALIZATION: Update Portuguese-Brazilian translation.
- LOCALIZATION: Update Russian translation.
- LINUX/ARMHF: Set buildbot updater URL to armhf location instead of blank string
- LINUX/PI: Broadcom VC4: Add Videocore config option
- LINUX/UDEV: Fix RetroArch reads keyboard input when not focused with the udev input driver.
- NETPLAY: Fix disconnection not fully deinitializing Netplay.
- NETPLAY: Fix lan rooms when there is more than one room
- NETPLAY: Fix lan rooms on systems where all addresses are treated as IPv6
- COMMON: Fix clear/free loop conditionals in playlists.
- WINDOWS/GDI: Fix flickering of text.
- WINDOWS/GDI: Fix graphics corruption on Windows 98
- WINDOWS/GDI: Allow compiling without DirectInput8 for NT support
- WINDOWS/WGL: Try to use wglSwapLayerBuffers instead of SwapBuffers if possible (for more optimal performance).
- WINDOWS: Fix menubar text corruption on Japanese locale systems
- WINDOWS: Support Unicode file I/O (can now display CJK characters in file browser for example).
- WINDOWS: Support Windows 95, NT3.51, NT4
- WINDOWS: add Makefile.griffin targets for msvc6,2003,2005,2010,2012,2013
- WII: Use custom, embedded libogc SDK.
- WIIU: Initial touchscreen support for WiiU gamepad.
- WIIU: Add Cheevos support.
- SCANNER: Fix archive scanning.
- SCANNER: Support CHD files.
- SCANNER: Support Gamecube ISO scanning.
- SCANNER: Use primary data track of disc images for CRC lookups rather than cue files. This is slower but finds matches more reliably, and is necessary for CHD files to work at all. Update your databases!
- SCANNER: Fall back on looking inside archives when matching MAME/FBA content (most recent cores only). If you had difficulty with content being detected before, you may have better luck now. Update your databases and core info!