1093 Commits

Author SHA1 Message Date
zoltanvb
82ad6a0320
Logging config file writes in all places where it was not done so far. (#16311) 2024-03-03 08:09:46 -08:00
sonninnos
25c15834c3
Clean up and reduce refresh rate logging (#16259) 2024-02-19 11:12:24 -08:00
Ophidon
7b711214a7
Slang Subframe Shaders Feature (#16209)
Adds support for sub-frame shaders to vulkan/glcore/dx10-11-12.

Builds on the concept already present for frame duplication in use for BFI, to present multiple 'sub' frames per real frame to the shaders, so they can run at a higher framerate than the content framerate. Must be enabled via subframe shaders setting under synchronization settings to be active.

Will allow BFI to be implemented inside of the shaders, among any other use for the higher framerate shader authors can devise.

CurrentSubFrame and TotalSubFrames have been available inside the shaders to track what they want to do on an given subframe. TotalSubFrames will always be 1 when the setting is disabled (and when in menu/ff/pause). Framecount will not increment on sub-frames, as it does not for injected bfi frames now. Should not interfere with any existing shaders that do not check for subframes.
2024-02-09 03:12:55 -08:00
Viačasłaŭ Chalikin
997c7453a8
Fix narrator modes (#16179)
* Fix narrator

* Refactor accessibility
2024-02-08 21:14:23 -08:00
zoltanvb
d88d0d5219
Option for disabling initial disc change (#16197)
Loading the last used disc for multi-disc content was automatic.
However, in some cases it is not wanted, as described in #16018
Option is added for controlling the function. Disabling the
option will also implicitly disable index saving.
2024-02-04 11:58:16 -08:00
Bobby Smith
7c3d07bf6d
Tweaks to how the "Analog to Digital Type" setting is saved (#16187) 2024-02-02 12:53:24 -08:00
Ophidon
f6502b89aa
Don't Sleep to Sync in Non-VRR Normal Running State (#16189)
The check for sleeping to sync to a specific speed that is meant for fast forward/vrr could be true for a non-vrr normal core running state causing a possible sleep in a situation it was not intended for, especially at higher hz, and thus interfering with frame pacing.
2024-02-02 06:28:01 -08:00
Bobby Smith
9e6b790f19
Fall back to global system dir if content path is empty when 'System Files are in Content Directory' is enabled (#16175) 2024-02-01 09:42:05 -08:00
sonninnos
494f6a10da
Restore video frame limit on unpause (#16183) 2024-01-31 09:12:48 -08:00
Bobby Smith
3572461d31
Improvements to firmware checks when "System Files are in Content Directory" is enabled (#16170) 2024-01-28 09:57:34 -08:00
Jamiras
4ba5fc0333
(cheevos) upgrade to rcheevos 11.1 (#16151)
* move pause spam management into rc_client

* update to rcheevos 11.1

* show [m] on missables

* update makefile
2024-01-21 18:12:30 -08:00
Giovanni Cascione
5932a30824
Add environment command to get playlists path (#16103) 2024-01-10 07:26:46 -08:00
sonninnos
bcb804f3f2
Limit paused video refresh always (#16090) 2024-01-09 00:19:35 -08:00
sonninnos
945ad4a89f
Limit paused video refresh when vsync is disabled (#16067) 2024-01-02 10:01:19 -08:00
sonninnos
aa1d47ad0f
(WASAPI) Buffer cleanups (#16057) 2023-12-28 18:56:28 -08:00
Bernhard Schelling
f029b41a74
Netplay netpacket connection flow improvements (#15986)
- Allow starting netplay host while a netpacket core is running without restart
- Allow connecting to a host while a netpacket core is running without restart
- Avoid clients getting stuck in connection loop if the host has the content paused while a client connects by automatically unpausing
2023-12-09 04:48:36 -08:00
Jesse Talavera-Greenberg
cbf49a0b77
XDelta patch support (Take 2) (#15915)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* Add some enums that were excluded by the cherry-pick

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Reintegrate xdelta support

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword

* Slight cleanups

* Remove a stray comma that was hindering C89 builds

* Add XDelta support to CHANGES.md

* Change how the xdelta patch's name is computed

- To be in line with other recent refactoring

* Fix an incorrect merge

- Whoops, this part was from before I figured out how to get the size of a patched file

* Explain the song-and-dance behind computing a patched file's size

* Define some XDelta3-related constants to 0 on 32-bit platforms

* Adjust some Xdelta-related macro definitions

- Exclude the encoder, since we're not making patches
- Move some #defines to after inclusion of <stdint.h>, to fix undefined behavior
- Remove _WIN32_WINNT overrides, since they were for code that we're not using

* Fix Xdelta support

* Wrap an encoder-only function in `#if XD3_ENCODER`
2023-11-23 20:19:07 -08:00
sonninnos
598a0c0d37
(WASAPI) Shared buffer refactor + cleanup (#15929) 2023-11-19 08:44:25 -08:00
Jesse Talavera-Greenberg
1b03e388f8
Fix #15919 (#15923)
- Contentless support and populated content paths are not mutually exclusive in practice
- It just looked that way because most cores that support contentless mode to date don't use softpatching very much
2023-11-17 11:25:58 -08:00
Jamiras
bbe7afcd82
(cheevos) use rc_client for state management (#15912)
* use rc_client for achievement processing

* log disconnect/reconnect messages

* address compiler warnings

* address c89 warning

* address c89 warning
2023-11-15 13:18:20 -08:00
sonninnos
38c77e9cfa
Revert "Log level prefix cleanup (#15852)" (#15907)
This reverts commit 2a51e661202025a9df690b06a0ffe63903b7e721.
2023-11-14 14:31:55 -08:00
sonninnos
f091b5a9e9
Move and relocate 'Frame Delay' (#15898) 2023-11-12 11:23:57 -08:00
sonninnos
9b97b40566
Enforce swap interval 1 in menu if vsync is on + Restore menu_throttle_framerate option (#15889)
* Enforce swap interval 1 in menu if vsync is on

* Restore menu_throttle_framerate option
2023-11-10 18:40:02 -08:00
sonninnos
f20c8493b3
Use video refresh rate for menu frame limiting (#15886) 2023-11-09 16:36:19 -08:00
sonninnos
2a51e66120
Log level prefix cleanup (#15852) 2023-10-31 15:52:02 -07:00
sonninnos
220caa5143
Remove menu_throttle_framerate option (#15850) 2023-10-31 09:58:47 -07:00
sonninnos
da59b8c9ac
Add 'Frame Rest' power saving option (#15834) 2023-10-26 04:20:48 -07:00
sonninnos
06d5cd39fc
Set save redirect paths before set_environment (#15820) 2023-10-24 16:20:17 +02:00
Ophidon
ce6a00b495
High Hz Synchronization (#15798)
* High Hz Synchronization

Makes adjustment to driver_adjust_system_rates and related functions to handle Hz skew adjustment for high refresh rates better, especially when using effective refresh modifiers like swap interval or BFI.

* Reorder for Build Fix

Reorder declaration for build fix
2023-10-14 06:57:40 -07:00
GavinDarkglider
4387b0ab94
Lakka Switch Updates.... (#15754)
* Lakka: Switch: Decouple From LibNX builds.

* Lakka: Always show Power Management Settings menu

* Lakka: Switch: Add Nintendo Switch Options Menu, and First Option

* Lakka: Switch: Add CEC Toggle

* Lakka: Switch: Add Bluetooth ERTM Toggle

* Retroarch: unix platform:  Always display battery meter even when the device reports it as unknown
This is useful for most arm devices that have unknown battery status until charger state changes

* Retroarch: Lakka: Remove Gamemode stuff from build

Lakka will never include this, as it only runs base system, and retroarch.
2023-10-06 04:55:22 -07:00
sonninnos
c5b2ed1382
More runloop menu state checking (#15700) 2023-09-15 17:20:27 -07:00
sonninnos
b2790ca79c
Prevent stale menu state in runloop check (#15698) 2023-09-14 09:09:45 -07:00
sonninnos
4d0110b278
Use refresh rate instead of core fps for frameskip timing (#15666) 2023-09-03 09:53:00 -07:00
sonninnos
600beba18b
Check menu toggle before menu event (#15646) 2023-08-27 15:48:47 -07:00
Jamiras
e3d64ab118
prevent frame step when hitting rewind button while paused in hardcore (#15622) 2023-08-19 12:43:15 -07:00
sonninnos
de45fc2f5f
Input binding rework (#15603)
* Input binding rework

* Controller info logging cleanup
2023-08-16 11:13:14 -07:00
libretroadmin
5f94f36204 Explicit typecasts to bool 2023-08-16 17:10:59 +02:00
libretroadmin
bd7a0f7f0a Explicit typecast to bool for some flag to bool conversions 2023-08-16 00:16:03 +02:00
ScoochAside
2f9c4ebea2
Fix issue #15595. (#15596)
Co-authored-by: miguedevel <tete333@hitmail.com>
2023-08-15 05:36:34 -07:00
Eric Warmenhoven
ae78395d83
iOS/tvOS: rework JIT availability checks (#15590) 2023-08-14 06:41:43 -07:00
Jesse Talavera-Greenberg
954b04669c
Add an environment call for querying the device's battery (#15387)
* First crack at RETRO_ENVIRONMENT_GET_POWER_STATUS

* First crack at RETRO_ENVIRONMENT_GET_POWER_STATUS

* Remove a stray comma

* Rename some symbols for clarity

* Change some references to the old environment call's name

* Fix some mixed-up cases in checking the power state

- I misunderstood the meaning of these enums

* Add a comment

* Rename seconds_remaining to seconds

* Clarify some comments about the power state

* Adjust power state behavior

- Don't return 0 seconds; instead, return NO_ESTIMATE
- Don't force percent to 100 in the CHARGED state

* Adhere to C89

* Mention the environment call in CHANGES.md
2023-08-12 16:41:05 -07:00
libretroadmin
5f79c13928 Small cleanups 2023-08-12 18:59:29 +02:00
sonninnos
45af11efe9
Fix menu sounds after loading core (#15539) 2023-08-03 13:40:40 +02:00
sonninnos
f121847e00 Don't stop audio on menu toggle 2023-07-27 22:15:58 +02:00
sonninnos
95cb3383d9 Log initial core av_info 2023-07-27 02:20:21 +02:00
sonninnos
a821b13b13 Fix window title after video reinit 2023-07-20 14:36:55 +02:00
libretroadmin
9337facd49 Some style nits + cleanups 2023-07-18 17:07:36 +02:00
libretroadmin
cd8fffe5d3 Rename all local variables for retro_system_info to sysinfo 2023-07-15 07:45:20 +02:00
libretroadmin
cf0d0e93a6 rarch_system_info_t local vars should be renamed from 'system'
to 'sys_info' to avoid false positive code analysis errors
2023-07-15 07:22:38 +02:00
nfore
9ca5c5e623 Revive/rewrite Keyboard Overlay and OSK Toggle
Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.

For now, keyboard menu has only preset path, auto-scale toggle, and opacity.

Related fixes:
- input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER
- Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event
- input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle)
- Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
2023-07-09 04:42:49 +02:00