For each player, 2 new options are added:
- a reservation type (no reservation, preferred, reserved)
- a reserved device name
When handling port - player assignments, reserved devices
will be assigned to the respective player port. If reservation
type is "reserved", no other device can take that port
automatically.
Reservation config option and matching function lifted from:
PatrickStankard https://github.com/libretro/RetroArch/pull/16269
Test joypad driver was extended for more tests.
Co-authored-by: Patrick Stankard <me@patrickstankard.com>
A rationale is given in the comments, but even a class 6 or class 10 SD card can handle reads and writes on the order of MB/s, which means a 4KB chunk size is just wasting time in syscalls. This could maybe be fixed with a buffering reader but I don't feel comfortable tweaking libretro-common's VFS to handle that. Instead, I thought it would be good to both remove an ifdef and increase the chunk size to 128KB. For cores with small states this will should make state saving virtually instantaneous, and for cores with large states it should be a 32x speedup.
* Test driver for joypad inputs
Add a new joypad input driver:
- hide driver behind #ifdef and enable it in config_params.sh
- add a new config parameter to specify the test input file
- add aux files: additional config files that cancel out any binds
that may be present in RA config, autoconfig profile for
test joypads, test input file that matches controller test
sequence
* Fixes and comments for test input driver.
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.
- Move flag logic to task_push_pl_entry_thumbnail_download - this
enables individual "download thumbnails" entry to be also flexible
- Add a message when this download has been tried enough times
(i.e. 3)
- Optimize cases when full or short name is the same as standard
name, skip queries if so (both download and local file)
* Minor thumbnail improvements
- set standard name if only one entry is in the playlist
- use first database name for thumbnails if core has multiple
* Fix playlist thumbnail downloader
Playlist thumbnail downloader function was missed from the flexible
thumbnail name update, now it is added.
Auto savestate (and its optional thumbnail) is generated on core unload
(quit, netplay start, etc). This ends up using the task-queue, which in
many cases deadlocks and/or causes a crash due to its asynchronous
nature.
Given that this is a state that must be generated before quiting or
reloading the core, it makes no sense to use the task queue, it should
be a synchronous job like for instance SRAM saving.
This should fix#15248 (tested by @schmurtzm)
* Simplify autosave command function
* Simplify and split save and savestate logic
save.c contains "SRAM" saves and their logic, which uses no task/queue.
Add logic to handle 3 possible thumbnail names, in following order:
- most exact name derived from content file (same name, with .png extension)
- usual name derived from playlist (usually coming from database)
- shortened name up to first bracket, chopping off region/publisher etc. info
For local file system, names are checked always.
For thumbnail downloads, names are checked each time the item comes up
in the playlist, meaning that it may take going back and forth 3 times
for a thumbnail to appear. However, as a positive change, failed thumbnail
downloads are not repeated for the same playlist, which was not the case
earlier.