162 Commits

Author SHA1 Message Date
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
Yoshi Sugawara
a142f3b852 Support bundle assets extraction for macOS; Fix to only extract assets once on first install; Change cores, assets, other directories to default to application support directory instead of app bundle 2021-03-11 23:12:52 -10:00
twinaphex
6809655338 (OSX) Set audio_filters/video_filters for RELEASE_BUILD 2021-02-17 07:46:15 +01:00
twinaphex
4c51e31b9d (Platform) Cleanups + add missing function pointer bind for Darwin 2021-01-16 16:14:03 +01:00
twinaphex
7145ec4793 Revert "Try to avoid objc_msgSend"
This reverts commit 0733fd41aa257a59e0781e175bd9c4455d5271ff.
2020-12-27 18:05:45 +01:00
twinaphex
0733fd41aa Try to avoid objc_msgSend 2020-12-27 17:58:00 +01:00
David Guillen Fandos
f5693f15e7 Make get_lakka_version available in all builds
This simplifies a bit the code, for some new lakka patches to come.
2020-11-23 18:44:24 +01:00
twinaphex
3ac75c043e Jdgleaver improvements 2020-11-20 03:55:55 +01:00
twinaphex
9ee1e33e09 Only attempt to call dir_check_defaults once per runtime session
when calling the frontend environment get callback - we want to
look at the 'default' directories, and then if they don't yet exist,
auto-create them so we can store files in them.
2020-11-19 07:10:22 +01:00
twinaphex
9aa008834e Use strcpy_literal 2020-09-21 01:00:40 +02:00
twinaphex
855351de9e Reorder g_defaults, alignment 2020-08-16 04:38:02 +02:00
twinaphex
70d0c1ce6f Fix IOS build 2020-03-06 02:39:54 +01:00
twinaphex
d592959be8 When settings struct gets modified, go through macros to set
the modified flag
2020-03-05 13:00:43 +01:00
twinaphex
79536a4767 (Darwin) Remove hashing 2020-02-23 04:58:08 +01:00
twinaphex
f0bdb61fd8 gfx_display and gfx_animation no longer tied to HAVE_MENU 2020-02-16 15:51:58 +01:00
Twinaphex
172f75e5c0 (OSX) Buildfix 2020-02-14 00:24:03 +01:00
twinaphex
df62b6d78f Buildfix 2020-02-14 00:19:54 +01:00
twinaphex
2d274f1369 Move accessibility features to platform frontend driver 2020-02-14 00:17:55 +01:00
jdgleaver
569014c5d2 (Filebrowser) Fix file selection issues when starting from (or navigating to) the top level directory 2019-12-31 12:34:03 +00:00
Yoshi Sugawara
41382b5f58 tvOS: support extracting bundled assets.zip on startup 2019-08-26 15:43:12 -10:00
MrJs
b60fa081a1
Add in more Apple Model numbers for RetroRating
Added in all current Apple Model numbers and set a base rating of 19. 
Will happily revise if someone can tell me how the ratings are calculated.
2019-08-12 21:28:39 -07:00
Yoshi Sugawara
dba1302360 Playlist (iOS): support abbreviating and expanding application and home directory paths so that playlist entries are valid across installs
iOS: add call to realpath() when setting directory to ensure expanding special chars in paths work; fixed braces style
2019-07-15 16:11:22 -10:00
twinaphex
820ffb9d20 Cleanups - cut down on the rest of unnecessary filestream_exists calls
- only use filestream_exists immediately before filestream_delete or
any other genuine filestream-related operations - when just checking
if a path exists on the filesystem, just use path_is_valid - faster
2019-05-31 06:43:20 +02:00
Huw Pascoe
685aabb094 video_layout config 2019-05-11 09:58:46 +01:00
Brad Parker
aa588dec35 set default language on first startup according to OS setting (initial *nix implementation) 2019-04-15 23:14:49 -04:00
jdgleaver
2c65068be0 More 'Log to File' Additions:
- Add optional timestamped log files

- Handle errors if log file cannot be opened

- Android: flush log file immediately

- 3DS: log to file tested and fully working

- Default log paths added for all platforms
2019-03-25 17:22:59 +00:00
bparker06
970404dc28
ios buildfix 2019-03-14 08:37:52 -04:00
MrJs
b0cc374185
fix iOS/tvOS build
if/else around retroarch/frontend/drivers/platform_darwin.m:743:4: Implicit declaration of function 'cpu_features_get_model_name' is invalid in C99
2019-03-02 18:51:36 -08:00
Brad Parker
1c9ac4e825 osx: add cpu model name 2019-02-23 17:29:08 -05:00
Brad Parker
e22148fed4 show cpu model name in log, implemented for x86/64 on windows/linux so far 2019-02-23 16:50:42 -05:00
orbea
28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
Yoshi Sugawara
11bf1e05b1 remove logging code 2019-02-03 08:59:24 -10:00
Yoshi Sugawara
57c6686a19 fixed setting CFDocumentDirectory to not be iOS specific and respect other apple environments 2019-01-30 00:35:51 -10:00
Yoshi Sugawara
a18512375b Support for tvOS
- add tvOS target
    - support code signing tvOS cores by adding an argument to the code signing cores script
    - use NSCachesDirectory for the documents directory
    - add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
    - autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
    - added a webserver to transfer files for tvOS
    - xcode: clean up project, remove unused folders
    - remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
    - added retroarch app icon courtesy of @MrJs
    - added auto-detect of mfi controller for apple tv
2019-01-29 10:13:46 -10:00