Commit Graph

4098 Commits

Author SHA1 Message Date
LibretroAdmin dda78a4fc8 Use find_last_slash where possible 2025-01-17 13:26:17 +01:00
Rob Loach 941806698e
Add SSL Support to the information list (#17370) 2025-01-09 00:09:56 +01:00
LibretroAdmin 9376b99ea6 - Make some functions static in command.c
- Set returntype to size_t for some functions, avoid strlen
2024-12-28 22:49:03 +01:00
LibretroAdmin b8cdaeae72 Buildfixes 2024-12-27 15:24:29 +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 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 b3e5c578b3 Faster shader capabilities queries 2024-12-22 21:58:51 +01:00
libretroadmin f429b15250 Cleanups 2024-12-22 20:01:28 +01:00
libretroadmin 6c914bed06 Add GDI system feature 2024-12-20 21:03:57 +01:00
libretroadmin 97a4219dc7 Update 2024-12-20 20:42:48 +01:00
libretroadmin 8571847fda Filter system features 2024-12-20 20:41:59 +01:00
libretroadmin 8212bf60ef * Rewrite System Info - only shows builtin features relevant to the platform
* Add Pipewire to 'features' CLI switch and System Info screen
2024-12-20 20:10:24 +01:00
Eric Warmenhoven 99c2676efa
Add option to load overlay based on system name (#17233) 2024-12-07 23:58:33 -08:00
libretroadmin 2809421d4e Revert "static variables are initialized to '0' automatically as per C rules"
This reverts commit 2a0984b6e4.
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
Ninoh-FOX 89ca8495e1
better control for sound start/stop in menu is the core has RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE (#17136) 2024-10-30 17:57:18 -07:00
Ninoh-FOX 09979e26b9
fixed audio drivers in RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE (#17105)
* fixed audio drivers in RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE

fixed audio problem with menu toggle with the new network fuction

* Fix type space
2024-10-18 13:10:42 -07:00
neil4 f85c9693a0
Combine menu entries for RunAhead and Preemptive Frames (#17093) 2024-10-14 04:21:09 -07:00
Eric Warmenhoven 7ae8597765
macOS: Create App Store build (#17074) 2024-10-04 12:46:51 -07:00
Viačasłaŭ 3019b926c2
Fix typos (#17068) 2024-10-01 17:36:33 -07:00
sonninnos 4b177d0ac7
Refresh rate switching fixes and cleanups (#17021) 2024-09-20 20:09:02 -07:00
libretroadmin dc7473d046 See if this prevents some warnings 2024-09-15 00:03:48 +02:00
Viačasłaŭ bb3e1d8be4
Make auto state while loading new content on the fly (#16835) 2024-09-12 08:24:03 -07:00
libretroadmin 29f011acef * Inline find_last_slash
* explore_load_icons - fill_pathname_slash is equivalent to usage
of strlen here, no need to call strlen
2024-09-10 16:02:06 +02:00
libretroadmin 13cf0fc79c Add more TODO/FIXME notes 2024-09-09 20:19: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 99a763c4e8 Global - turn bools into flag 2024-09-05 10:05:57 +02:00
zoltanvb 98c79b3f14
Add savestate wraparound. (#16947)
When save state auto indexing is enabled, and maximum kept states
are limited, wrap around after reaching the configured maximum.

A gap in the indexing is used to keep track of most recent state.
If e.g. maximum kept amount is 5, then indexes 0..5 will be used,
if 3 is empty, most recent state is 2.
2024-09-03 22:01:41 -07:00
sonninnos 391b46c3be
Automatic Frame Delay refactor (#16929) 2024-08-27 01:53:10 -07:00
kwyxz fab86199a8
fixed warning + allow cli arguments on Haiku (#16887) 2024-08-17 09:58:49 -05: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
libretroadmin 77a52bcec5 Silence warnings 2024-07-20 16:08:13 +02:00
libretroadmin e543aa25ae Silence some warnings 2024-07-20 15:46:26 +02:00
Jonathan Rascher 8935d9db1b Skip core unload when Quit on Close Content is set 2024-06-27 18:32:02 -05:00
libretroadmin 3fc7024df9 (cheevos) Cleanups - only use snprintf for formatting 2024-06-16 22:20:15 +02:00
libretroadmin 3f0d3ec393 Replace more strlcats 2024-06-16 19:42:51 +02:00
libretroadmin 81a1079123 generic_action_ok_dropdown_setting - don't use string_list for
ST_STRING_OPTIONS
2024-06-16 12:52:22 +02:00
libretroadmin d7d1011ab0 More string_list removal 2024-06-15 19:12:15 +02:00
libretroadmin c022e4e624 Cut down on snprintf 2024-06-15 00:56:51 +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
Tomáš Kelemen 2c96b97324
display reboot/shutdown message also when not saving config on exit (#16506)
the reboot / shutdown message should be displayed regardless if config
file is saved on exit or not.
2024-05-13 11:34:34 -07:00
Eric Warmenhoven 5bac6c6aac
Add Galician and Norwegian to list of languages (#16510) 2024-05-11 16:57:54 -07:00
sonninnos 5e79dd4569
Bring back audio toggling on menu toggle (#16467) 2024-04-25 10:10:39 -07:00
Eric Warmenhoven 5fd4eb905c
iOS QOL improvements (#16444)
* iOS/tvOS: bundle cores as frameworks as opposed to dylibs

* iOS/tvOS: update plist to indicate controller support

* iOS/tvOS: living within the sandbox

* iOS/tvOS: import content through share sheet

* iOS/tvOS: default audio sync off due to crash on background

* iOS/tvOS: don't try altkit if there's no reason to

* iOS/tvOS: enumerate cores for appstore distribution
2024-04-18 03:01:39 -07:00
Tomáš Kelemen c2eddfb260
Upstream Lakka patches (#16439)
* Lakka: fix makefile for Lakka canary

* reboot/restart/eject: fix system commands

* Lakka: add url for devbuild updates
2024-04-16 22:57:49 -07:00
Barry Rowe 26a824caff
Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
libretroadmin d3ff0425d8 Silence some warnings - unused variables/etc 2024-04-06 19:15:30 +02:00
Jason Breitweiser 87b9d0328e
Add To Playlist functionality (#16386)
* This PR contains Add To Favorite functionality.  It allows moving content to another playlist or to Create a new playlist with the selected content.

* Update retroarch.c

Fixed ISO C90 variable declaration at top of code.

* Update menu_cbs_ok.c

Fixed variable declaration for ISO requirement.
2024-03-28 12:58:16 -07:00
Rob Loach 936328e637
Remove cursor_directory and resampler_directory (#16346) 2024-03-12 04:10:42 -07:00
Eric Warmenhoven 7379d33801
tvOS Top Shelf (#16302)
This puts the History and Favorites playlists (up to five items each)
in the Top Shelf menu. In order for this to be enabled you must build
it yourself and change the app identifiers for the TV app and Top
Shelf extension, and add both of them to an app group.
2024-02-27 23:20:32 -08:00
sonninnos 59381b7312
Add visibility option for disc control notifications (#16292) 2024-02-26 06:01:15 -08:00
Craig C a55dd23db6
webOS: replace ncpu (go), fix undefined function compile error, use pkg-config from buildroot (#16271) 2024-02-24 15:37:53 -08:00
sonninnos 25c15834c3
Clean up and reduce refresh rate logging (#16259) 2024-02-19 11:12:24 -08:00
sonninnos 8f1678f865
Don't load favorites/history playlist if size is 0 (#16260) 2024-02-19 11:12:18 -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 429e83745e
Localization for a few narrator-only strings. (#16195) 2024-02-04 11:58:44 -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
Eric Warmenhoven 79e43e2bd4
Fix many warnings (#16180)
Also change iOS/tvOS to use system zlib instead of compiling it in
2024-01-31 09:15:14 -08:00
Eric Warmenhoven 286e31dc7d
Create directories after the config is read (#16093) 2024-01-11 13:16:27 -08:00
Eric Warmenhoven b01d3a63ea
Fix regression, startup crash in Qt when desktop ui enabled (#16106) 2024-01-10 07:26:13 -08:00
David G. F ea87495a4e
Save improvements (#16053)
* Simplify autosave command function

* Simplify and split save and savestate logic

save.c contains "SRAM" saves and their logic, which uses no task/queue.
2023-12-28 11:10:46 -08:00
Eric Warmenhoven 089f7321c7
iOS: Allow changing the app icon (take 2) (#16034) 2023-12-24 16:36:49 -08:00
libretroadmin 3c564b8284 Revert "Revert "Revert "iOS: Allow changing the app icon (#16020)" (#16029)" (#16030)"
This reverts commit 8caf6c19b1.
2023-12-22 09:41:31 +01:00
LibretroAdmin 8caf6c19b1
Revert "Revert "iOS: Allow changing the app icon (#16020)" (#16029)" (#16030)
This reverts commit c06743678f.
2023-12-22 00:37:18 -08:00
LibretroAdmin c06743678f
Revert "iOS: Allow changing the app icon (#16020)" (#16029)
This reverts commit 93f7bba6a5.
2023-12-21 23:15:41 -08:00
David G. F 3194dc9d65
Fix quit on content close option (#16014)
Right now close is based on core unload. There are several places where
cores are unloaded without the intention of stopping the emulation (for
instance whenever Netplay is started, core is updated, etc).

Moreover scheduling a quit under some of those events causes a task
queue deadlock (as per issue #15313) and freezed retroarch.

This fix moves the quit on close to a "manual" check, placed in the
relevant places (close content menu option, close content event (which
also covers hotkeys), etc.)
2023-12-20 16:23:18 -08:00
Eric Warmenhoven 93f7bba6a5
iOS: Allow changing the app icon (#16020) 2023-12-20 16:22:11 -08:00
libretroadmin 10082e1c32 Merge midi_driver.c and location_driver.c into retroarch.c -
files were not touched for 6 months so splitting them up serves
no real purpose
2023-12-17 05:01:12 +01: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
Eric Warmenhoven d2253c3de3
iOS/tvOS: create gl context as gles3 (#15958)
iOS 7+ supports gles3, which is backwards compatible with gles2. This
doesn't enable the glcore driver (which isn't working on ios yet), it
just changes the underlying context.

This fixes some of the rendering performance problems on mupen64plus_next.
2023-11-30 03:30:17 -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
Jamiras 39a44414ea
reinitialize rewind buffer after loading game with achievements (#15934)
* reinitialize rewind buffer after loading game with achievements

* fix #endif placement for HAVE_GFX_WIDGETS
2023-11-22 08:50:09 -08:00
zoltanvb 701d22d935
PS2 usability fixes (#15861)
- Make sure logs are written before frontend deinit
- Add memory stats
- Add process_args to frontend to fix some cases when salamander cfg was not filled
- Add a missing include in case someone wants to compile for PS2 with HAVE_THREADS
2023-11-05 15:33:17 -08:00
zoltanvb e35afdb57a
Separate ffmpeg and audiomixer conditionals (#15872)
There are cases when mixer exists without ffmpeg. In such cases,
some music content can still be added to the mixer for playback.
Logic added to separate the two cases.
2023-11-05 15:32:14 -08:00
zoltanvb 232095797e
Set fixed locale for numbers, close to config read/write (#15782)
Move setlocale() closer to config file read/write.
2023-10-31 12:03:24 -07:00
Viačasłaŭ Chalikin 43105ab5c7
Add Belarusian language option (#15780) 2023-10-31 05:51:57 -07:00
Cpod12 274d47f957
Xunkar's AI service rework updated (#15640)
* AI service rework

* File missing

* Fixed C89 build

* Fixed usage of inline for C89 build

* Fixed an overlay unloading bug

Made sure to unload the overlay on release and when the server returns empty values in automatic modes.

* Fixed forward decl (c89)

* Fixed OpenGL texture loading

Moved image display to the main thread for now

* Changed some formatting slightly

* Fixed struct variable order and put brackets on newlines

* Moved pointer, fixed retroarch.cfg, and replaced strlcat with strlcpy

* Fixed catenation issue

* Fixed a few other catenation issues

* Fixed one more concatenation  issue

* Fixed concatenation issue

* Fixed a few other concatenation issues

* Fixed one more concatenation  issue

* potential fix for parsing issue

---------

Co-authored-by: Xunkar <329857+xunkar@users.noreply.github.com>
2023-10-24 00:27:06 -07: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
libretroadmin 58f7051c61 Fix memory leak in PR #15762 2023-10-10 15:38:07 +02: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
XK 812c003a6a
Add support for joining MITM servers over cmdline (#15762)
* Add support for MITM servers over cmdline

* Address https://github.com/libretro/RetroArch/pull/15762#pullrequestreview-1654378806
2023-10-06 02:02:50 -07:00
Giovanni Cascione c5b18b189a
Fix use of sizeof with const char pointers (#15705) 2023-09-15 17:19:42 -07:00
Rob Loach 3d484ec60e
(Language) Fix comments 2023-08-31 15:10:59 -04:00
Rob Loach a45ca11b10
(Language) Fix language detection in Canada to English
Canada's default language is often picked up as `en_CA.UTF-8`, which inadvertently gets discovered as `ca`, or Catalan. This means that if you're in Canada, you would end up getting Catalan as your default language.

Adding `en_CA` to the language list as British English fixes the language detection for Canadians. This must be indexed above Catalan's `ca` so that it uses English instead of Catalan.
2023-08-31 15:06:06 -04:00
sonninnos 213060a00a
Allow launching built-in cores with '-L' (#15627) 2023-08-20 12:39:18 -07:00
libretroadmin 9ae1a5fbee Simplify _PSUPP_BUF and make it not use strlen 2023-08-17 19:14:31 +02:00
libretroadmin 5f94f36204 Explicit typecasts to bool 2023-08-16 17:10:59 +02:00
libretroadmin c699e47534 Small style nits and plain sense cleanups 2023-08-16 01:14:50 +02:00
libretroadmin bd7a0f7f0a Explicit typecast to bool for some flag to bool conversions 2023-08-16 00:16:03 +02:00
libretroadmin 40a0ced947 Be consistent with frontend_driver_get_core_extension - core extension
var should at most be 16 chars big, make only one exception once
2023-08-15 15:01:57 +02:00
libretroadmin f34481c332 Fix linking issue when building with --disable-menu 2023-08-15 14:44:54 +02:00
Eric Warmenhoven 893b0d142e
Cloud Sync (#15548)
* cloud sync - algorithm and abstract cloud storage API

* WebDAV cloud sync driver, and associated net_http improvements

* Cloud sync settings menu
2023-08-04 09:20:50 +02:00
sonninnos f121847e00 Don't stop audio on menu toggle 2023-07-27 22:15:58 +02:00
sonninnos 376e47f99a CLI dbscan reinit flag correction 2023-07-27 02:20:30 +02:00
sonninnos 1805484a6f Playlist + Explore corrections + cleanups 2023-07-24 17:59:23 +02:00
libretroadmin 9337facd49 Some style nits + cleanups 2023-07-18 17:07:36 +02:00
libretroadmin 3f84724106 Fix typo 2023-07-15 09:56:07 +02:00