1131 Commits

Author SHA1 Message Date
LibretroAdmin
47d888364d Standardize len variables - argument should always be named 'len',
while local len variables should have '_' prefix
2025-01-13 21:53:49 +01:00
sonninnos
8ef798ea51
Add human readable rotation logging (#17387) 2025-01-11 02:51:48 +01:00
hizzlekizzle
8a3f25311b
partial revert of c09fd38 (#17363)
which was causing softpatching to break on games with periods/dots in the filename. This restores the previous patch-matching behavior
2025-01-07 01:58:53 +01:00
LibretroAdmin
4297f02544 Use returntype for fill_pathname_basedir 2024-12-28 23:11:24 +01:00
LibretroAdmin
9d15900979 Small cleanups: * Prevent some unneccessary strlcpy calls and intermediary string copies * Name local length variables for strings '_len', parameter/argument 'len' 2024-12-28 22:22:07 +01:00
LibretroAdmin
18c85b5ccd Cleanups -
* Less string copies
* Some general cleanups
* Add extra param to runloop_message_queue_push so we can pass size_t
of the message
* Consistent conventions for local variable usage for certain things
2024-12-27 15:13:45 +01:00
libretroadmin
8074a833aa Cleanups/less string copies and indirection 2024-12-24 21:07:31 +01:00
libretroadmin
2cfdccc085 Less string intermediary copies 2024-12-24 18:46:22 +01:00
libretroadmin
de8f979cb7 less string copies 2024-12-24 05:10:09 +01:00
libretroadmin
c09fd38c1d * Use fill_pathname more
* Get rid of strlen in some locations
2024-12-22 20:43:54 +01:00
libretroadmin
f429b15250 Cleanups 2024-12-22 20:01:28 +01:00
LibretroAdmin
739f2ff55c
Reduce calls to path_remove_extension - use fill_pathname instead (#17270)
* Reduce calls to path_remove_extension - use fill_pathname instead

* More fill_pathname usage
2024-12-20 21:40:58 -08:00
libretroadmin
17fc55c762 fill_pathname_parent_dir_name - small cleanups 2024-12-19 21:05:43 +01:00
libretroadmin
2809421d4e Revert "static variables are initialized to '0' automatically as per C rules"
This reverts commit 2a0984b6e47b5f714ce4a360afeaadafdb634c36.
2024-11-19 03:03:13 +01:00
libretroadmin
2a0984b6e4 static variables are initialized to '0' automatically as per C rules 2024-11-18 15:33:34 +01:00
LibretroAdmin
e45bc853ec
Revert "Pointer confinement support (opt-in) (#17169)" (#17173)
This reverts commit 90ee413a81c30e26a8e9b141a6716dc979607b87.
2024-11-07 07:31:47 -08:00
zoltanvb
90ee413a81
Pointer confinement support (opt-in) (#17169)
New environment set call to enable a bit more sensible handling of
absolute pointing devices (pointer and lightgun). With the
confinement enabled, pointing devices will not return neither
-0x8000 nor (0,0), which was anyway dependent on the input driver,
instead they will stay at the extreme edge.
2024-11-06 15:19:08 -08:00
sonninnos
0c468f9a44
Honor 'perfcnt_enable' in logging (#17022) 2024-09-20 20:09:21 -07:00
sonninnos
d08b867e7d
Fix pause toggle to not clear fast-forward state (#17010) 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