326 Commits

Author SHA1 Message Date
jdgleaver
c67806dbd7
Enable manual selection of which cores are displayed in the 'Standalone Cores' menu (#13722) 2022-03-09 17:49:16 +01:00
twinaphex
460f5e745d Silence some MSVC 2019 code analysis warnings 2022-03-05 14:39:56 +01:00
Vladimir Serbinenko
4a53c6771c
Several fixes and improvements do NGC and Wii (#13698)
* Support new elf2dol path in Makefile.griffin

* Fix NULL pointer dereference when no core info is available

* Fix double include of different versions of libogc

* Move ngc and wii to Makefile.common

Resulting binary is 60K *smaller*. This is surprising but probably due to
less inlining happening

* gx_gfx: Fix hang on gfx initialization

* Remove sthread_isself on NGC/Wii

It relies on pthread_equal that is not there for either legacy pthreads
or normal pthreads on those platforms

* Wii networking

* Missing includes in split

* Network fixes

* Fix logging of non-format string as a format

* Support for gx netlogger

* Network fix

* Network fixes

* Network info

* gx: Move config files to app directory

Otherwise it clashes between wiiU and vWii version with unpredictable
effects
2022-03-04 13:43:00 +01:00
jdgleaver
9b0cb0fc92
Add 'Standalone Cores' menu (#13655) 2022-02-22 19:23:48 +01:00
jdgleaver
42e03cae83
Disable save states based on save state support level defined in core info files (#13562) 2022-02-02 16:49:53 +01:00
Autechre
06a2367008
Bump to version 1.9.14 (#13327)
* * Bump to version 1.9.14
* Don't have unused function when HAVE_CORE_INFO_CACHE is undefined

* Addition to CHANGES.md
2021-12-05 07:12:23 +01:00
twinaphex
8a83ebec28 JSON handlers only necessary when HAVE_CORE_INFO_CACHE is defined 2021-11-23 05:13:36 +01:00
twinaphex
e497da9cf4 (core_info.c) Cleanups - try to fit lines within 80-char limit, put one
function behind HAVE_CORE_INFO_CACHE so we won't get a unused function
for Steam build
2021-11-23 05:05:53 +01:00
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 cd1d760a3852258e9cab78d455c00f81193635e9.
2020-07-26 23:12:05 +02:00
twinaphex
26d915c1f2 Revert "(core_info.c) Cleanup"
This reverts commit ab8f3115dad8f30a4d53edb81b4c9976fdf9d0ad.
2020-07-26 23:11:53 +02:00
twinaphex
b604200730 Revert "Cleanup core_info_hw_api_supported"
This reverts commit 9f653f27b0c2bc3c1cc6d5e5040b8dd914112dea.
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