Commit Graph

195 Commits

Author SHA1 Message Date
Eric Warmenhoven 0415ed2f95
apple: Use C function from CoreFoundation instead of ObjC from Foundation (#16476) 2024-04-29 18:30:56 -07:00
Eric Warmenhoven e7f726bd19
iOS: import roms from iCloud (#16478) 2024-04-29 18:30:15 -07:00
Eric Warmenhoven 4d4a5c2f72
apple: try to use system preferred language (#16472) 2024-04-27 10:42:02 -07:00
Eric Warmenhoven 5fd4eb905c
iOS QOL improvements (#16444)
* iOS/tvOS: bundle cores as frameworks as opposed to dylibs

* iOS/tvOS: update plist to indicate controller support

* iOS/tvOS: living within the sandbox

* iOS/tvOS: import content through share sheet

* iOS/tvOS: default audio sync off due to crash on background

* iOS/tvOS: don't try altkit if there's no reason to

* iOS/tvOS: enumerate cores for appstore distribution
2024-04-18 03:01:39 -07:00
Barry Rowe 26a824caff
Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
Eric Warmenhoven 50f4807f88
tvOS: when cache is deleted, force assets.zip re-extraction (#16264)
Also including a script to make building assets.zip easier, for people
building from source themselves
2024-02-19 11:12:09 -08:00
Eric Warmenhoven 8071b49f9d
macos: add portable.txt as flag for portable install (#16244) 2024-02-18 08:23:40 -08:00
Viačasłaŭ Chalikin 997c7453a8
Fix narrator modes (#16179)
* Fix narrator

* Refactor accessibility
2024-02-08 21:14:23 -08:00
Eric Warmenhoven 286e31dc7d
Create directories after the config is read (#16093) 2024-01-11 13:16:27 -08:00
Eric Warmenhoven 272b66a5db
Make it easy to create a "portable" osx build (#16081)
Default to false, except steam builds where it's forced true; a
portable build has the behavior of putting all files next to the
application.
2024-01-07 07:58:06 -08:00
Eric Warmenhoven ca6e60f41b
Don't needlessly (re-)create default directories on apple platforms (#16073) 2024-01-05 13:49:15 -08:00
Eric Warmenhoven 1aeac90d8c
Apple - don't call mkdir needlessly (#15954) 2023-11-26 19:34:56 -08:00
libretroadmin bd090dea71 Replace more strlcat calls 2023-07-16 18:07:49 +02:00
nfore 12fc237351 Add default keyboard overlay directory to platform_darwin 2023-07-09 22:51:31 +02:00
Eric Warmenhoven 9d7ce37f9b Implement memory queries on iOS/tvOS 2023-07-01 19:25:57 +02:00
Eric Warmenhoven ce49bd6dcc Enable option to rumble iOS device instead of controller (#14734). 2023-07-01 19:24:40 +02:00
libretroadmin c400fa761c (UI companion driver) Remove unused notify_content_loaded 2023-04-27 03:02:00 +02:00
warmenhoven 11a7cc9d23
Include audio and video filters in ios/tvos bundles (#15197) 2023-04-15 11:55:46 +02:00
warmenhoven 29842aabdc
Fix steam osx core path (#15158) 2023-04-06 06:06:10 +02:00
warmenhoven 54055558f1
Fix several warnings (#15153) 2023-04-04 15:06:34 +01:00
warmenhoven a60249ff87
Fix #15059 Compile in presence for discord (#15063)
Also relying on $TMPDIR is problematic because Discord uses
NSTemporaryDirectory() which may not be the same.
2023-03-06 19:57:08 +01:00
warmenhoven 8f70da6b0c
OSX: Make sure to use the file system path name, not the URL name (#15038) 2023-03-01 02:01:46 +01:00
warmenhoven bf5739b735
More changes for Steam on Mac (#15036)
* Additional Steam build cleanups

* Fix Mac directories for Steam
2023-02-28 21:28:59 +01:00
libretroadmin 51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
libretroadmin f07fd91a88 (Apple) Buildfix 2023-02-23 13:24:25 +01:00
libretroadmin 7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
reallibretroadmin 3ae8e35d0e (iOS) Buildfix and cleanup some unused variables 2023-01-09 01:54:45 +01:00
libretroadmin daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
libretroadmin 8f1af4a2e6 (Frontend) Style nits/cleanups 2022-12-15 14:34:22 +01:00
LibretroAdmin d30f16dc79 Remove cursor directory/cursor manager list - Views obsoleted
this
2022-10-25 15:21:47 +02:00
LibretroAdmin f1ff92c881 * menu_entries_append and menu_entries_append_enum are now combined into
one - if you set the last parameter to a valid 'rarch_setting_t' pointer
and enum_msg to MSG_UNKNOWN, you will get the previous menu_entries_append
behavior
* Renamed remaining function to menu_entries_append so that we have one
consistent way of adding menu entries instead of two
Reduces some code duplication significantly
2022-08-27 17:40:52 +02:00
LibretroAdmin 6f738d4fbd Gradually get rid of strcpy_literal
Reasons:
1 - Just a macro for strcpy
1.2 - doesn't have a return type unlike strlcpy, can't be used
for string concatenation
1.3 - unsafe compared to strlcpy

Do either manual string assignment per character or strlcpy, no
inbetween by resorting to strcpy
2022-08-23 15:04:47 +02:00
LibretroAdmin b2634ea588 * Create fill_pathname_join_special - and specify fill_pathname_join
as deprecated.
* Use fill_pathname_join_special in the vast majority of cases where
we can ensure out_path is a new empty string
* Get rid of some extension concatenation with strlcat where encountered
* Some general cleanups with NULL termination of strings that get immediately
passed to strlcpy/strlcpy-adjacent functions
2022-08-04 14:19:38 +02:00
libretroadmin 05622ebe85 Some trivial strlen usage simplifications where possible, removing
the need for strlen
2022-07-20 17:23:28 +02:00
libretroadmin 95db09d8c5 Move bundle_assets_{src/dst} to settings->paths 2022-07-05 19:15:29 +02:00
Vladimir Serbinenko 4e24fb3d01
Add osx-ppc compilation for frontend (#13532)
* Fix old osx condition

Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not
true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat
binaries it includes osx x86 and compilation fails.

* Disable crtswitchres when no c++11 is available

Crtswitchres altually needs c++11. Since it's not that important to make
it compatible with lower c++, just disable if no c++11 is available

* Don't use firstObject on old Mac OS X.

It was introduced in 10.6, so on old ones just implement it ourselves

* Compile osx-ppc frontend

* osx-ppc: Build a fat binary

On 10.6 i386 xcode apparently refuses to build a pure ppc.
Settle for a fat binary.
2022-01-24 16:22:07 +01:00
Nikos Chantziaras 430baf7c21
Add Linux GameMode support (#13339)
This can fix a lot of performance issues, like audio crackling and frame
time spikes. This requires the GameMode package to be installed. See:

https://github.com/FeralInteractive/gamemode

This commit adds a "Game Mode" bool option to the "Power
Management" and "Latency" settings sections, and it can be toggled
on/off without restarting RA.

The actual toggling of game mode happens in a new frontend platform
interface function. Perhaps this will become useful for other platforms
that provide some equivalent of Linux GameMode.

Since the GameMode ABI is fixed, and the API comes as a single,
header-only file with no actual deps, we simply bundle the header
(deps/feralgamemode/gamemode_client.h.) That way, all Linux builds will
have support for GameMode regardless of whether the GameMode development
package is installed or not.
2021-12-14 14:07:42 +01:00
twinaphex 18412e34c1 Some CXX_BUILD buildfixes for Mac 2021-11-05 02:16:40 +01:00
twinaphex f7ad73b494 No more leak in CFSearchPathForDirectoriesInDomains 2021-08-07 21:25:18 +02:00
twinaphex 8e46e46a40 Simplify CFSearchpathForDirectoriesInDomains - one less leak - not
out of the woods yet though
2021-08-07 21:14:38 +02:00
twinaphex 722e36001f Simplify CFSearchPathForDirectoriesInDomains 2021-08-07 21:05:22 +02:00
twinaphex 8a037a3091 Cleanup CFSearchPathForDirectoriesInDomains 2021-08-07 20:35:27 +02:00
twinaphex b513a3d166 (OSX) Prevent crash on startup on OSX Platforms with no ARC
enabled - CFSearchPathForDirectoriesInDomains - CFTypeRef
returned by NSSearchPathForDIrectoriesInDomains should not
be freed
2021-08-07 18:24:46 +02:00
twinaphex f459472f6d Fix leaks - we were not honoring the ownership policy/create rule
for various CoreFoundation functions with 'Copy' or 'Create' in the title
2021-08-07 03:46:08 +02:00
twinaphex 9758d56c26 Buildfix 2021-03-26 22:13:25 +01:00
twinaphex f3b008f093 * Take out HAVE_UPDATE_CORES for iOS9
* If HAVE_UPDATE_CORES is defined, then set Core directory to <home dir>/cores,
otherwise set it to <bundle>/modules
2021-03-26 21:58:49 +01:00
twinaphex b3a4e598e2 (iOS) Implement frontend_darwin_get_arch - will report correct architecture
now under System Information
2021-03-22 12:16:43 +01:00
twinaphex c8104d2542 Go with home_dir_buf codepath for tvOS for now - going to assume this is
intended
2021-03-15 02:06:32 +01:00
twinaphex da7109265c Add more portable way of getting OS version major/minor without using objc_msgSend_stret
(breaks on macOS/AArch64) by using NSInvocation - credit to OpenJDK
2021-03-15 00:45:38 +01:00
C.W. Betts 886df798a7
Update platform_darwin.m
Add Apple Silicon detection.
Fix a leak with NSTemporaryDirectory() on ARC code.
2021-03-14 04:24:33 -06:00