Commit Graph

1114 Commits

Author SHA1 Message Date
sonninnos
0c468f9a44
Honor 'perfcnt_enable' in logging (#17022)
Some checks failed
CI 3DS / build (push) Failing after 0s
CI Android / build (push) Failing after 0s
CI DOS/DJGPP / build (push) Failing after 0s
CI Emscripten / build (push) Failing after 0s
CI GameCube / build (push) Failing after 0s
CI Linux (i686) / build (push) Failing after 0s
CI Miyoo ARM32 / build (push) Failing after 0s
CI PS2 / build (push) Failing after 0s
CI PS4/ORBIS / build (push) Failing after 0s
CI PSP / build (push) Failing after 0s
CI PSVita / build (push) Failing after 0s
CI RS90 Odbeta MIPS32 / build (push) Failing after 0s
CI RetroFW MIPS32 / build (push) Failing after 0s
CI Switch/libnx / build (push) Failing after 0s
CI Wii / build (push) Failing after 0s
CI WiiU / build (push) Failing after 0s
CI Windows i686 (MXE) / build (push) Failing after 0s
CI Windows x64 (MXE) / build (push) Failing after 0s
RetroArch CI / linux-c89 (push) Failing after 0s
CI webOS / build (push) Failing after 0s
Crowdin Daily Workflow / sync (push) Failing after 0s
CI Windows (MSVC) / msvc (Debug, x64, 2019) (push) Has been cancelled
CI Windows (MSVC) / msvc (Debug, x64, 2022) (push) Has been cancelled
CI Windows (MSVC) / msvc (Release, x64, 2019) (push) Has been cancelled
CI Windows (MSVC) / msvc (Release, x64, 2022) (push) Has been cancelled
CI Windows (MSVC) / msvc (Release, x64, UWP) (push) Has been cancelled
CI Windows (MSVC) / msvc (ReleaseAngle, x64, UWP) (push) Has been cancelled
CI macOS / build (push) Has been cancelled
2024-09-20 20:09:21 -07:00
sonninnos
d08b867e7d
Fix pause toggle to not clear fast-forward state (#17010)
Some checks failed
CI Windows (MSVC) / msvc (Debug, x64, 2019) (push) Waiting to run
CI Windows (MSVC) / msvc (Debug, x64, 2022) (push) Waiting to run
CI Windows (MSVC) / msvc (Release, x64, 2019) (push) Waiting to run
CI Windows (MSVC) / msvc (Release, x64, 2022) (push) Waiting to run
CI Windows (MSVC) / msvc (Release, x64, UWP) (push) Waiting to run
CI Windows (MSVC) / msvc (ReleaseAngle, x64, UWP) (push) Waiting to run
CI macOS / build (push) Waiting to run
CI 3DS / build (push) Failing after 0s
CI Android / build (push) Failing after 0s
CI DOS/DJGPP / build (push) Failing after 0s
CI Emscripten / build (push) Failing after 0s
CI GameCube / build (push) Failing after 0s
CI Linux (i686) / build (push) Failing after 0s
CI Miyoo ARM32 / build (push) Failing after 0s
CI PS2 / build (push) Failing after 0s
CI PS4/ORBIS / build (push) Failing after 0s
CI PSP / build (push) Failing after 0s
CI PSVita / build (push) Failing after 0s
CI RS90 Odbeta MIPS32 / build (push) Failing after 0s
CI RetroFW MIPS32 / build (push) Failing after 0s
CI Switch/libnx / build (push) Failing after 0s
CI Wii / build (push) Failing after 0s
CI WiiU / build (push) Failing after 0s
CI Windows i686 (MXE) / build (push) Failing after 0s
CI Windows x64 (MXE) / build (push) Failing after 0s
RetroArch CI / linux-c89 (push) Failing after 0s
CI webOS / build (push) Failing after 0s
Crowdin Daily Workflow / sync (push) Failing after 0s
2024-09-17 10:23:12 -07:00
zoltanvb
39c48f7310
Support RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY (#17002) 2024-09-14 12:15:27 -07:00
libretroadmin
f4ed638347 Rewrite libretro-common task_queue, use flags 2024-09-10 02:42:07 +02:00
libretroadmin
6020877043 Cleanups 2024-09-09 22:01:37 +02:00
libretroadmin
73e5d955c3 Downgrade some more variables to NAME_MAX_LENGTH 2024-09-09 16:01:29 +02:00
libretroadmin
b8391e233f * PATH_MAX_LENGTH redefined from 4096 to 2048
* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
2024-09-09 05:47:32 +02:00
libretroadmin
9efb498bde (config_file) Use flags 2024-09-08 18:12:12 +02:00
libretroadmin
99a763c4e8 Global - turn bools into flag 2024-09-05 10:05:57 +02:00
sonninnos
3f8dc5c49d
Remove 'Frame Rest' (#16936) 2024-08-29 03:35:09 -07:00
sonninnos
391b46c3be
Automatic Frame Delay refactor (#16929) 2024-08-27 01:53:10 -07:00
kwyxz
4016b2524b
Allow building RetroArch with menu disabled (#16881)
* allow building with --disable-menu --disable-cheevos --disable-qt --disable-slang

* allow building with cheevos while disabling menus and qt
2024-08-15 15:26:59 -07:00
libretroadmin
afc9cb509a CXX_BUILDFIX buildfixes 2024-07-20 19:42:45 +02:00
Eric Warmenhoven
ee8d8b1689 iOS/tvOS: Post Apple App Store fixes
- both: default VRR true
- tvOS: default overlay off
- tvOS: default directory fix
- both: default language fix
- tvOS: jit support fix
2024-05-17 14:38:35 -07:00
Rob Loach
bc53b2bc6b
Add a debug message for the SET_ROTATION callback (#16454) 2024-04-20 14:38:13 -07:00
Rob Loach
e510e92d79
remove-set-rotation-message (#16453)
Whenever `SET_ROTATION` is called, it outputs an INFO message in the logs. Can get quite busy. I'm assuming this was here during someone's debugging?
2024-04-20 05:05:26 -07:00
Barry Rowe
26a824caff
Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
Eric Warmenhoven
77f221436b
Behavior of strlcpy() if src and dst overlap is undefined (#16423)
Fixes #16397
2024-04-08 15:38:09 -07:00
Jamiras
a6beba6376
(cheevos) upgrade to rcheevos 11.2 (#16408)
* provide more information during achievement load process

* update rcheevos version

* do disconnected processing even when no game is loaded

* make loading widget unique

* only show loading indicator with verbose messages on
2024-04-05 07:39:38 -07:00
BryanJacobs
338c9a4fe4
Allow combining saves in content dir with save sorting (#16369)
* Allow combining saves in content dir with save sorting

* Formatting

* Realign var assignments
2024-03-19 04:53:32 -07:00
Jesse Talavera
b7ddac2431
Add Doxygen-styled comments to parts of the libretro API (#15641)
* Touch up the documentation for a few environment calls

* Touch up more comments

* Update docs for more environment calls

* Add doc comments for more environment calls

* Change various @returns to indicate that the environment call is available

- Some environment calls might be recognized but ignored (e.g. when fast-forwarding during netplay)

* Note some deprecated symbols

* Touch up the docs for RETRO_ENVIRONMENT_SET_MESSAGE

* Touch up the docs for RETRO_ENVIRONMENT_SET_PIXEL_FORMAT

* Add more doc comments

* (libretro) Add more doxygen documentation for the libretro API

* (libretro) Add doxygen comments for the callbacks

* Document retro_init and retro_deinit

* Add comments for retro_log-related symbols

* Add a comment

* Clean up some camera-related comments

* Clean up frame time-related callbacks

* Correct some information about major callbacks

* Clarify some parameter info

* Fix incorrect info about retro_set_environment

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* (libretro) Add doxygen docs on RETRO_THROTTLE

* Touch up the docs for RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK

* Touch up the docs for some macros

* Touch up the docs for some more environment calls

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Tidy up the doc comments for clamping.h

- It was a low-hanging fruit

* Define some sections for constants

- Doxygen will group all contained symbols on one page

* Fix a duplicate @see

* Polish up the docs for the rumble interface

* Polish up the docs for RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Document INLINE

* Clean up some tags

* Touch up the docs for the sensor interface

* Add docs for RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK

* Update docs for RETRO_ENVIRONMENT_GET_INPUT_BITMASKS and accompanying names

* Update some group definitions

* Spiff up the docs for retro_dirent.h

* Document dylib.h

* Document base64.h

* Document crc32.h

* Touch up the docs for audio conversion functions

* Clean up some Doxygen tags

* Refine the docs for RETRO_ENVIRONMENT_GET_PERF_INTERFACE

* Fix incorrect infor in dylib.h

* Touch up the docs for RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE

* Revise the docs for RETRO_ENVIRONMENT_SET_GEOMETRY

* Revise the docs for RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE

* Revise a function's doc

* Touch up most of the rthreads docs

* Touch up the retro_timers.h docs

* Revise the subsystem docs

* Fix some incorrect @see's

* Touch up the docs for RETRO_ENVIRONMENT_GET_LED_INTERFACE

* Give the RETRO_ENVIRONMENT_GET_SAVESTATE_CONTEXT docs a makeover

* Slight cleanup to the microphone docs

* Slight cleanup to the device power docs

* Touch up serialization quirk docs

* Give the MIDI docs a haircut

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Freshen up rtime's docs

* Improve the docs and accompanying definitions for RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE

- Revise the text of the documentation
- Introduce an enum that defines the flags (it's still an int, so ABI compatibility will be fine)
- Move the documentation for each bit to its corresponding enum

* Shine the shoes of RETRO_ENVIRONMENT_GET_INPUT_MAX_USERS's docs

* Freshen up the docs for fifo_queue.h

* Document most of task_queue.h

* Put retro_dirent's symbols in a group

* Finish documenting task_queue.h

* Document some compatibility headers

* Document read_stdin

* Document file_stream_transforms.h

* Document the VFS API

- Not the wrappers, just the plain API itself

* (Docs) Add doxygen notes about RETRO_DEVICE_*

* Fix some line breaks

* Revise RETRO_DEVICE docs

* Document strl.h

* Update the features_cpu.h docs

* Rewrite the docs for file_stream.h

* Update the docs for retro_endianness.h

* Update the docs for retro_miscellaneous.h

* Document the RETRO_VFS_SEEK_POSITION constants

* Finish documenting rthreads.h

* Document network_stream.h

* Put the RETRO_MEMORY defines in a defgroup

* Move a doc comment in retro_common.h to file scope

* Revise the docs for RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, and accompanying symbols

* Fix the @param/in/out order in libretro.h's @param declarations

* Tidy up the docs for RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION

* Spiff up the docs for RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER

* Fix some tags

* Polish up RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE's docs

* libretro: Add header doxygen

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Update libretro-common/include/libretro.h

Co-authored-by: Rob Loach <robloach@gmail.com>

* Clean up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY

* Clean up the docs for RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE

* Touch up some comment syntax for RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE

* Fix some inaccuracies

* Re-add the license statement for libretro.h

* Touch up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2

* Touch up docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY

* Touch up docs for some options-related symbols

* Fix some syntax that was preventing most doc files from being generated

* Express retro_core_option_definition docs in terms of retro_core_option_v2_definition

* Finalize some core option-related docs

* Fix some incorrect info about achievements

* Polish up the docs for RETRO_ENVIRONMENT_SET_MEMORY_MAPS

* Polish up the docs for RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION

* Add a notice for `RETRO_ENVIRONMENT_GET_LOG_INTERFACE`

* Update the disk control interface docs

* Add a sentence to a doc comment

* Update a comment

* Remove an irrelevant @todo

* Touch up the docs for `retro_message_target`

* Touch up the docs for `retro_message_type`

* Touch up the docs for `RETRO_ENVIRONMENT_SET_MESSAGE_EXT`

* Touch up the docs for `RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK`

* Touch up the docs for `RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY`

* Revise a comment

* Revise the docs for `RETRO_ENVIRONMENT_SET_VARIABLE`

* Add a `@see`

* Clean up the `RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE` docs

* Update the Doxyfile

* libretro: Add three more environment callback doxygen docs

* doxygen: Remove @example reference

---------

Co-authored-by: Rob Loach <robloach@gmail.com>
2024-03-09 17:24:01 -08:00
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 2a51e66120.
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