Commit Graph

1696 Commits

Author SHA1 Message Date
kaysedwards ffab3b24e7
Merge c3c1dfe827 into 6dcb727c62 2025-06-26 09:58:51 -07:00
libretroadmin e13140ba04 Rewrite some strlcat calls into strlcpy 2025-06-26 14:47:53 +02:00
LibretroAdmin f85b738258
Merge pull request #18023 from schellingb/make_lists_static
Make a few large read-only arrays in menu code static
2025-06-17 23:05:53 +02:00
sonninnos b774a26bae Ozone: Add menu font selection 2025-06-15 01:11:26 +03:00
Bernhard Schelling 771fc523b2
Make large read-only arrays static
This can avoid unnecessary waste of performance at runtime to use static data instead of filling out an array on the stack every time. Some of the CBS functions are called for every menu item created so this improves performance of menu navigation, especially large menus like playlists.
2025-06-14 16:26:24 +09:00
sonninnos 5cfb0a3e42
Add 'save as' and main config replacing options (#18014) 2025-06-13 03:03:36 +03:00
Zero Soma Valintine c3c1dfe827 I've hopefully completed the nested playlists feature with this version.
I am, however, open to any constructive feedback.

I fixed a display bug related to thumbnails and titles in this version; the
titles were showing the wrong information thanks to the nested playlists
being treated as a `Quick Menu` at the wrong time; the thumbnails did not
display correctly in all cases thanks to differences between menu drivers.

The functionality is identical to the original patch, but the names of certain
identifiers have changed to better reflect the standard set by upstream code.

The feature has been kept, mostly, small and isolated by simply reusing
existing code in a slightly different way than it is currently used.

A note about the feature request: the often requested feature has obvious
utility for people who create custom playlists; the feature could also be
used to generate flat playlists or nested playlists depending on a flag
in scanning; the optional nested playlists could be generated from
information contained within the databases allowing games for a given
system to be broken up by, for example, country of origin.

A note about the different menu drivers: an update from a few weeks back broke
part of my original private version; that update, related to thumbnail cycling
and the then new random selection feature, changed when thumbnails are displayed
for certain core types; this patch partially reverts that change to prepare for
a future additional feature I've begun working on which would allow people to
use RetroArch as more of a general media player with thumbnail generation using
the, often internal, `ffmpeg` core; the history and favorites menu should at
least offer the opportunity to display thumbnails, in any event, for custom
playlists which can have thumbnails for any media type.

I've included a sample playlist trunk below; the core's path and name are
important and fixed, but the path to the playlist may be set as desired.

{
  "version": "1.5",
  "default_core_path": "",
  "default_core_name": "",
  "label_display_mode": 0,
  "right_thumbnail_mode": 0,
  "left_thumbnail_mode": 0,
  "thumbnail_match_mode": 0,
  "sort_mode": 0,
  "items": [
    {
      "path": "/home/username/temporary/branch.lpl",
      "label": "Branch",
      "core_path": "virtual",
      "core_name": "playlist",
      "crc32": "",
      "db_name": "Trunk.lpl"
    }
  ]
}
2025-06-10 05:15:17 -05:00
Kay Soma Edwards f7e5bb6b91 I've added the playlists within playlists feature that is commonly requested at certain forums.
The feature may be tested by creating an entry within an existing playlist having a "core_path" of "virtual", "core_name" of "playlist", and "path" pointed to any existing playlist.

The feature works by reusing certain mechanisms, notably the generic RPL and COLLECTION processing, that were already in place.

I have though added a FILE_TYPE, MENU_ENUM_LABEL, DISPLAYLIST, and ACTION setup unique to the feature in order to avoid what I considered to be contamination; I wanted to avoid hacks that, while simpler, would have made the feature harder to debug separately from the existing code.
2025-06-08 15:33:27 -05:00
Eric Warmenhoven 01a3511445 iOS: rely on core info to re-find cores from old directory structure 2025-06-04 14:52:01 -04:00
libretroadmin 1ff8346eb5 Silence warnings/style nits 2025-05-29 06:19:04 +02:00
libretroadmin 5cb15e1cd7 Reapply "Allow Start button to quick manage media playlists (#17948)"
This reverts commit f877adb5d9.
2025-05-27 12:40:32 +02:00
libretroadmin f877adb5d9 Revert "Allow Start button to quick manage media playlists (#17948)"
This reverts commit 7d3740d4c0.
2025-05-27 12:39:52 +02:00
sonninnos 7d3740d4c0
Allow Start button to quick manage media playlists (#17948) 2025-05-27 04:25:16 +03:00
sonninnos 0e4cf00d1f
Add option for suggesting cores when a core is loaded (#17920) 2025-05-20 15:54:22 +03:00
sonninnos 97bc2da36c Fix menu core unload 2025-05-17 18:53:33 +03:00
zoltanvb 000c5dcd76 Enable core options reset before starting a core.
Add "Reset core options" menu to two more places:
- Manage Cores, where it can delete the options for the selected core
- Configuration, where it can delete the options for the loaded core

Current reset function is updated to delete the core options file if
reset is wanted for a specific core, or core was loaded but not yet
started. Meant as a recovery method for possibly fatal core option
changes.
2025-04-06 21:53:01 +02:00
pstef 2daad9f89f Remove unused variables
They were never used and seem to have been copied from
action_ok_push_dropdown_item_input_device_type().
2025-03-28 09:48:21 +00:00
pstef aa94f571e2 Silence an unused variable warning
This is not used since 73abaddd9c
2025-03-27 23:21:19 +00:00
pstef ce6cd0000c Don't free members of struct before init 2025-03-20 16:12:12 +00:00
zoltanvb ba5489128f Fix reserved device selection when multiple controller instances are present
If multiple instances of the same controller type are present, they will be
postfixed by (#2), (#3) etc. This made menu selection ineffective.
2025-03-15 18:40:33 +01:00
LibretroAdmin ea592051c7
Merge pull request #17696 from sonninnos/content-load-archive
Show load before open in archives
2025-03-14 13:46:28 -07:00
sonninnos e64d52740b Suggest cores only when core is not loaded 2025-03-14 12:50:15 +02:00
sonninnos ee2cf436d4 Show load before open in archives 2025-03-14 12:47:58 +02:00
sonninnos ee8a641275 Core load+unload fixes 2025-03-13 15:09:38 +02:00
sonninnos 23170b82ec
Add MIDI device menu item dropdowns (#17645) 2025-03-01 17:33:46 -08:00
sonninnos b62cc87e84
Turbo Fire overhaul (#17633) 2025-02-27 20:15:22 -08:00
Eric Warmenhoven f7d235f2d6
update core info list after updating core info files (#17613) 2025-02-21 12:34:06 -08:00
sonninnos 73abaddd9c
GLUI: Add save state thumbnails (#17592) 2025-02-18 17:11:46 +01:00
LibretroAdmin f6006ae6ca Style nits 2025-02-12 10:17:35 +01:00
Eric Warmenhoven 422a4310f3
Add To Playlist from quickmenu can't rely on the current playlist (#17556) 2025-02-11 21:01:42 +01:00
Eric Warmenhoven 5471a9ebfe
ios: jump back to selected item after closing content (#17534) 2025-02-08 20:32:41 +01:00
Eric Warmenhoven 72df261ed0
Fix opening file inside archive with core detection (#17461) 2025-01-23 18:56:11 +01:00
sonninnos 1c724f5355
RGUI: 'Use This Directory' cleanup (#17450) 2025-01-21 02:02:55 +01:00
LibretroAdmin cde82f532c * Naming convention changes for variable names/function arguments
* Try to fit lines within ANSI 80-char limit
2025-01-19 20:19:14 +01:00
Eric Warmenhoven 8aa445dfe2
tvos build fix (#17426) 2025-01-17 21:45:01 +01:00
Eric Warmenhoven 2471082ced
macos: fix some sandbox handling for app store (#17424)
* minor safety check

* macos: fix some sandbox handling for app store
2025-01-17 19:54:54 +01:00
LibretroAdmin e2c8e98be0 Buildfixes and warning fixes 2025-01-17 12:03:30 +01:00
LibretroAdmin a5c9d9520f * Use fill_pathname_basedir where possible
* Move static variable to only function where it's used
* Change signature of file_path.c function
2025-01-15 22:17:59 +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 5749a2179d Use members from path_data directly and bypass functions
in gfx_thumbnail_path
2024-12-26 02:48:05 +01:00
libretroadmin 51e706007b String handling cleanups 2024-12-25 19:06:04 +01:00
libretroadmin 8074a833aa Cleanups/less string copies and indirection 2024-12-24 21:07:31 +01:00
libretroadmin de8f979cb7 less string copies 2024-12-24 05:10:09 +01:00
libretroadmin 7317fa9ee9 Cut down on some strlen calls where possible 2024-12-23 06:24:01 +01:00
libretroadmin ce88a46a05 Menu simplifications/cleanups 2024-12-22 05:21:25 +01:00
libretroadmin 6b8466f87a menu_driver_set_thumbnail_system/menu_driver_get_thumbnail_system
just small wrapper functions, remove
2024-12-22 04:53:04 +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 6b801333e7 file_path - change function signatures - output char array always
is named 's', and size of it 'len'
2024-12-18 21:43:33 +01:00