Commit Graph

318 Commits

Author SHA1 Message Date
twinaphex
28cac5c5a4 Add HAVE_CORE_INFO_CACHE - disable this for Steam build 2021-10-14 15:57:28 +02:00
twinaphex
c412ecf7e9 Buildfix 2021-09-20 15:54:07 +02:00
twinaphex
fa00455af1 Address feedback 2021-09-20 15:43:57 +02:00
Autechre
cbfa8d6400
Move coreinfo_get_ptr internal state back to core_info.c (#13020) 2021-09-20 15:43:27 +02:00
jdgleaver
f0a510c8a6 Remove core path from core info cache 2021-08-23 11:47:08 +01:00
jdgleaver
e306dd8eeb Automatically disable core info cache when core info directory is read-only 2021-07-19 16:39:18 +01:00
twinaphex
fb8c73508b Apply diff patch taking care of issues 2021-05-24 18:40:40 +02:00
twinaphex
33de17548b Fix regression caused by core info file caching - Downloads was no
longer showing up in Load Content
2021-05-22 16:25:05 +02:00
twinaphex
925c459aed Use single snprintf instead of multiple strlcpy/strlcat calls in
several places
2021-05-18 23:18:09 +02:00
twinaphex
3b64752f4f Simplify strlcpy/strlcat combinations to single snprintf 2021-05-18 20:01:51 +02:00
Autechre
53a266728b
Merge pull request #12368 from jdgleaver/core-info-fix 2021-05-07 14:28:18 +02:00
jdgleaver
a671b6394c (Core Info) Fix core detection on platforms that support cores with multiple file extensions 2021-05-07 10:58:09 +01:00
jdgleaver
dec1fd097c Skip whitespace when writing compressed core info cache files 2021-05-07 10:16:21 +01:00
jdgleaver
c37f540b72 Core Info Cache Improvements
- Core info cache can now be enabled/disabled on all platforms via a new `Settings > Core > Cache Core Info Files` option
- Core info cache file has been renamed from `.cache` to `core_info.cache` (i.e. it is no longer a 'hidden' file on Unix platforms, so can be deleted easily)
- The core info cache file is now compressed (rzip) to further reduce disk IO
- The presence of a `core_info.refresh` file in the core info directory will force a one-time refresh of the info cache. This file is generated automatically when toggling on the `Cache Core Info Files` option, and we will also add it to core info file packaging such that updating info files (either manually or via the online updater) will force a refresh
- The core info cache no longer contains 'core is locked' and 'firmware missing' data fields; these are 'dynamic' properties that must be determined at runtime
- The 'core is locked' status is now determined on core info intialisation by parsing the core directory listing, rather than by performing indivdual 'lock file exists' checks. This minimises file IO, and greatly improves performance on devices with slow storage
- While parsing the core info cache file, we now avoid unnecessary `strdup()`s when adding entries to the resultant cache list
- Memory leaks (potential and real) have been fixed, and safety checks added
- Build errors have been fixed
2021-05-06 15:00:55 +01:00
bulzipke
e96cbcac04 (3DS) Build core info cache 2021-05-04 23:01:17 +09:00
jdgleaver
3bc2758d51 (core_info) Prevent potential hash collisions when searching for cores 2021-04-28 17:52:15 +01:00
jdgleaver
f4511f6fa4 (core_info) Performance optimisations + code clean-ups/refactors 2021-04-26 14:30:31 +01:00
twinaphex
4c4d5e5837 (core_info.c) Cleanups 2021-04-20 19:46:11 +02:00
Autechre
dbe1061742
Refactors (#12057)
* lock_file_path here will never be empty

* Simplify path_mkdir - final return value can become false, and sret
variable can go
2021-02-21 11:09:11 +01:00
twinaphex
c744baeb89 Add ctype variants to stdstring and use it in RA 2020-09-27 22:15:32 +02:00
twinaphex
5f2688c4cf Cleanup 2020-09-05 19:37:31 +02:00
jdgleaver
bd80f02f11 (Android/Play Store Builds) Add option to switch all installed cores to Play Store versions 2020-09-02 17:13:03 +01:00
jdgleaver
4799d2d955 (Android/Play Store) Add frontend support for core installation via Play Feature Delivery 2020-08-28 16:30:54 +01:00
twinaphex
56640bf7c9 (jdgleaver) Cleanups 2020-08-27 12:10:14 +02:00
twinaphex
ea6bf9b9fc Cleanup core_info_set_core_lock 2020-08-26 20:22:56 +02:00
twinaphex
6478d20e55 (core_info/UWP) Use non-heap based versions for string_list 2020-08-26 18:43:19 +02:00
jdgleaver
7a07cc1305 Fix 'Set Core Association' regression 2020-08-26 15:18:39 +01:00
twinaphex
ad61d8ff92 Simplify config_get_entry 2020-08-26 02:17:37 +02:00
twinaphex
6af6d5eb1c (jdgleaver) Initialize string lists properly to prevent memory leaks 2020-08-25 13:25:27 +02:00
twinaphex
8a479e6006 Create dir_list_initialize/dir_list_deinitialize 2020-08-24 18:56:25 +02:00
twinaphex
ea4a74a005 Use string_list_initialize/deinitialize for core_info.c 2020-08-24 01:02:35 +02:00
twinaphex
4ec216dc0b Get rid of file_path_str 2020-08-22 01:06:10 +02:00
twinaphex
ad7db2e2b8 Move path variables off heap size; prevent potential memory
fragmentation
2020-08-18 12:44:14 +02:00
Autechre
8cb861798e
Merge pull request #11075 from francescotintori/francesco/playlist_autofix
Playlist base content directory paths
2020-07-28 16:10:20 +02:00
francescotintori
9744fcb76a Adds base content directory support in playlists. If playlist base content directory does not match configuration parameter 'rgui_browser_directory', all entries paths are automatically fixed to match parameter 'rgui_browser_directory'.
Functionality is enabled if new parameter 'playlist_autofix_paths' is enabled.
2020-07-27 20:59:56 +02:00
twinaphex
9db00e4143 Start using video_driver_get_flags_wrapper again 2020-07-27 06:40:30 +02:00
twinaphex
b9e471d22a Revert "Video context driver cleanups - less functions to go through with"
This reverts commit cd1d760a38.
2020-07-26 23:12:05 +02:00
twinaphex
26d915c1f2 Revert "(core_info.c) Cleanup"
This reverts commit ab8f3115da.
2020-07-26 23:11:53 +02:00
twinaphex
b604200730 Revert "Cleanup core_info_hw_api_supported"
This reverts commit 9f653f27b0.
2020-07-26 23:11:38 +02:00
twinaphex
9f653f27b0 Cleanup core_info_hw_api_supported 2020-07-26 08:29:17 +02:00
twinaphex
ab8f3115da (core_info.c) Cleanup 2020-07-26 08:22:04 +02:00
twinaphex
cd1d760a38 Video context driver cleanups - less functions to go through with
public scope
2020-07-26 08:00:49 +02:00
twinaphex
a3242daa5d Silence more warnings 2020-07-23 05:51:04 +02:00
twinaphex
270a22ce0b core_info_hw_api_supported - silence warning array subscript has type
'char'
2020-07-23 05:18:15 +02:00
twinaphex
55d9456cbb More static code analyzer fixes 2020-06-29 20:14:14 +02:00
twinaphex
fe14bc6e07 (core_info.c) Get rid of calloc 2020-06-29 03:46:27 +02:00
twinaphex
021625fd4a Revert "Move static functions to top of files"
This reverts commit 02b542e2a5.
2020-06-26 18:40:26 +02:00
twinaphex
02b542e2a5 Move static functions to top of files 2020-06-26 18:15:38 +02:00
twinaphex
dd2844a2ac Convert calloc to malloc where possible 2020-06-24 19:45:09 +02:00
twinaphex
0cdea62072 (core_info.c) Try to avoid config_get_string 2020-06-24 11:57:58 +02:00