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
jdgleaver
160b864d32
Prevent unnecessary string duplication when parsing core info files
2020-06-22 15:03:47 +01:00
jdgleaver
80f36e16d0
Add option to selectively 'lock' (prevent modification of) installed cores
2020-06-18 17:36:33 +01:00
twinaphex
b46a316df9
(core info) Pass pointer around to some functions
2020-06-13 07:29:26 +02:00
twinaphex
34af28461f
Move core info global state to retroarch.c
2020-06-13 07:21:00 +02:00
jdgleaver
445921ac5d
Core info search optimisations + improved core selection logic + clean-ups
2020-06-06 13:59:28 +01:00
twinaphex
8b796d3b47
Add TODO/FIXME notes for globals
2020-05-29 05:27:13 +02:00
jdgleaver
9f4a9e9cd6
Core updater improvements
2020-05-27 17:02:43 +01:00
Francisco Javier Trujillo Mata
1eeb3dcf30
Adapt PS2 port to new SDK with newlib support (CDVDFS support is missing)
2020-05-20 20:13:19 +02:00
jdgleaver
9eb8472805
Only write config files to disk when parameters change
2020-04-27 17:06:35 +01:00
twinaphex
05cf2ee8ba
(core_info.c) Move globals to single struct
2020-03-06 18:13:36 +01:00
twinaphex
4493ece2f2
Cleanup
2020-02-16 20:27:22 +01:00
twinaphex
e54e12876b
Header cleanups
2020-01-25 17:51:07 +01:00
twinaphex
b94b9e2adb
Go back to plain strlcpy/strlcat - probably best to look at
...
opportunities to reduce these calls vs. replacing them with
unsafe macros
2019-09-23 00:19:01 +02:00
twinaphex
76f4cf5cc5
Start using STRLCAT_CONST/STRLCAT_CONST_INCR/STRLCPY_CONST
2019-09-20 20:39:34 +02:00
twinaphex
db624a7c99
Start cleaning up the rather messy manual assignment
2019-09-20 02:03:26 +02:00
twinaphex
ab515daa0c
Try to get rid of file_path_str
2019-09-18 18:12:57 +02:00
twinaphex
ed77d46cc9
Cut down on some strlcat usage where not necessary
2019-09-18 04:58:52 +02:00
Twinaphex
753be84ae0
(Apple) Silence some warnings
2019-09-14 17:15:30 +02:00
twinaphex
96ba8b6928
Cleanups
2019-08-10 04:34:15 +02:00
Brad Parker
80cb762cdb
samples/tasks/database buildfix
2019-07-29 16:30:53 -04:00
twinaphex
95c5d22c5a
Split up mmdevice enumeration string list to separate
...
file
2019-07-25 05:42:23 +02:00
Brad Parker
2db48d39f4
fix comparison
2019-07-23 23:05:09 -04:00
Brad Parker
61ab9249fc
add "required hw api" to core info files, block content loading if core is incompatible with current graphics API/version
2019-07-23 22:44:45 -04:00
twinaphex
c85707336b
Fix LGTM warning - declaration hides parameter
2019-07-18 19:07:27 +02:00
twinaphex
41a2fabb4e
Create config_file_new_from_path_to_string
2019-07-18 12:03:50 +02:00
twinaphex
a465971556
core_info_get_display_name - use config_file_new_from_string
2019-07-18 00:43:03 +02:00
twinaphex
319e708738
core_info_list_iterate - use config_file_from_string
2019-07-16 19:01:43 +02:00
jdgleaver
0be44e57ad
Overhaul default playlist core association
2019-06-26 17:42:26 +01:00
twinaphex
d9b4afe04a
Quick buildfix
2019-05-10 18:34:18 +02:00
twinaphex
74388d8490
Remove string_concat
2019-05-10 18:05:58 +02:00
twinaphex
b270ea6b79
Revert "(MSVC 2003) core_info - remove all_ext from heap - fixes crash with MSVC2003"
...
This reverts commit 50a57b03a1
.
2019-05-10 08:31:18 +02:00
twinaphex
50a57b03a1
(MSVC 2003) core_info - remove all_ext from heap - fixes crash with MSVC2003
...
and makes for easier code
2019-05-05 14:23:29 +02:00
twinaphex
cce4aa9c86
(core_info.c) Use string_concat for constants
2019-05-01 00:21:50 +02:00
twinaphex
bc2bdd5734
config_file_read not needed anymore
2019-04-30 13:37:10 +02:00
Twinaphex
1819584d74
(General) Fix some warnings
...
(OSX) Add HAVE_STB_FONT
2019-04-30 11:38:47 +02:00
twinaphex
3b24565b66
Be more careful with dangling pointer
2019-04-28 10:17:03 +02:00
twinaphex
2b5b67d663
Simplify core_info code
2019-04-28 05:15:21 +02:00
twinaphex
5044537625
(core_info.c) Small opts for core_info.c
2019-04-27 14:23:07 +02:00
twinaphex
2c47d571aa
Use path_is_valid instead of filestream_exists when we only
...
need to know if a file exists on the filesystem
2019-04-27 14:01:50 +02:00
twinaphex
3e72c502a8
strlen optimizations :
...
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once
2019-04-27 04:21:10 +02:00
twinaphex
7201d0bf22
Revert "Use path_is_valid instead of filestream_exists where possible -"
...
This reverts commit 88e3abd6fd
.
2019-04-26 13:46:21 +02:00
twinaphex
88e3abd6fd
Use path_is_valid instead of filestream_exists where possible -
...
stat should be faster than fopen
2019-04-26 13:33:25 +02:00
twinaphex
16e2db25c4
Prefer config_file_read instead of config_file_new when we are
...
sure the path cannot be a directory path
2019-04-22 01:23:50 +02:00
twinaphex
69168ec6bc
Core info list iteration was calling path_stat two times on the same
...
paths - unnecessary file I/O is an issue with UWP/WinRT so let's cut
this down to only one path_stat. config_file_read function created -
acts the same as config_file_new except it doesn't check if the path
provided is actually a directory, which in turn would lead to another path_stat call
2019-04-22 01:13:19 +02:00
twinaphex
e5800cf733
Cleanups
2019-04-21 05:47:24 +02:00
jdgleaver
8a2cd64889
Always use core display name when populating playlists
2019-03-07 16:54:46 +00:00
jdgleaver
9bcc80320d
Core Info: Use basename when searching core paths (fixes issues when core directory is on a symlinked filesystem)
2019-03-06 16:42:09 +00:00
Brad Parker
4f0d61a2ac
update copyright
2019-02-22 19:13:36 -05:00
twinaphex
c98b2e2292
Buildfixes and more static code analysis warning fixes
2019-01-10 22:24:43 +01:00
twinaphex
9c5c0aea58
Start replacing WinRT ifdefs so that Windows Phone 8 can be detected
...
too
2019-01-02 13:30:58 +01:00