From 5740e52bed0a0417aadedf6371bd5db3a8150f1f Mon Sep 17 00:00:00 2001 From: Jorge Suarez Date: Tue, 15 Sep 2015 11:57:18 -0500 Subject: [PATCH 1/4] [linux] implement default core path --- frontend/drivers/platform_linux.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 3b76acfc8d..4e58cb392d 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -23,13 +23,16 @@ #include #include #include +#include /* PATH_MAX */ #include #include #include #include +#include #include "../frontend_driver.h" +#include "../../general.h" static const char *proc_apm_path = "/proc/apm"; static const char *proc_acpi_battery_path = "/proc/acpi/battery"; @@ -565,8 +568,33 @@ static void frontend_linux_get_os(char *s, size_t len, int *major, int *minor) strlcpy(s, "Linux", len); } +static void frontend_linux_get_env(int *argc, + char *argv[], void *data, void *params_data) +{ + const char *xdg = NULL; + const char *home = NULL; + char base_path[PATH_MAX]; + + xdg = getenv("XDG_CONFIG_HOME"); + home = getenv("HOME"); + + if (xdg) + snprintf(base_path, sizeof(base_path), "%s/retroarch", xdg); + else if (home) + snprintf(base_path, sizeof(base_path), "%s/.config/retroarch", home); + else + snprintf(base_path, sizeof(base_path), "retroarch"); + + fill_pathname_join(g_defaults.dir.core, base_path, + "cores", sizeof(g_defaults.dir.core)); + fill_pathname_join(g_defaults.dir.core_info, base_path, + "cores", sizeof(g_defaults.dir.core_info)); + + return; +} + frontend_ctx_driver_t frontend_ctx_linux = { - NULL, /* environment_get */ + frontend_linux_get_env, /* environment_get */ NULL, /* init */ NULL, /* deinit */ NULL, /* exitspawn */ From 9cdb94fd513edaab1e9e5457b00cddd782cfce79 Mon Sep 17 00:00:00 2001 From: Jorge Suarez Date: Tue, 15 Sep 2015 12:04:56 -0500 Subject: [PATCH 2/4] [linux] implement more paths --- frontend/drivers/platform_linux.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 4e58cb392d..920a60c6bf 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -589,7 +589,22 @@ static void frontend_linux_get_env(int *argc, "cores", sizeof(g_defaults.dir.core)); fill_pathname_join(g_defaults.dir.core_info, base_path, "cores", sizeof(g_defaults.dir.core_info)); - + fill_pathname_join(g_defaults.dir.autoconfig, base_path, + "autoconf", sizeof(g_defaults.dir.autoconfig)); + fill_pathname_join(g_defaults.dir.assets, base_path, + "assets", sizeof(g_defaults.dir.assets)); + fill_pathname_join(g_defaults.dir.remap, base_path, + "remap", sizeof(g_defaults.dir.remap)); + fill_pathname_join(g_defaults.dir.playlist, base_path, + "playlists", sizeof(g_defaults.dir.playlist)); + fill_pathname_join(g_defaults.dir.cursor, base_path, + "database/cursors", sizeof(g_defaults.dir.cursor)); + fill_pathname_join(g_defaults.dir.database, base_path, + "database/rdb", sizeof(g_defaults.dir.database)); + fill_pathname_join(g_defaults.dir.shader, base_path, + "shaders", sizeof(g_defaults.dir.shader)); + fill_pathname_join(g_defaults.dir.overlay, base_path, + "overlay", sizeof(g_defaults.dir.overlay)); return; } From 7476ff61da34e5f58bff3a1a416d8cce0c469cf1 Mon Sep 17 00:00:00 2001 From: Jorge Suarez Date: Tue, 15 Sep 2015 12:13:48 -0500 Subject: [PATCH 3/4] [linux] add screenshots, downloads --- frontend/drivers/platform_linux.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 920a60c6bf..04f2740590 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -605,6 +605,24 @@ static void frontend_linux_get_env(int *argc, "shaders", sizeof(g_defaults.dir.shader)); fill_pathname_join(g_defaults.dir.overlay, base_path, "overlay", sizeof(g_defaults.dir.overlay)); + fill_pathname_join(g_defaults.dir.osk_overlay, base_path, + "overlay", sizeof(g_defaults.dir.osk_overlay)); + + if(home) + { + fill_pathname_join(g_defaults.dir.screenshot, home, + "Pictures", sizeof(g_defaults.dir.screenshot)); + fill_pathname_join(g_defaults.dir.core_assets, home, + "Downloads", sizeof(g_defaults.dir.core_assets)); + } + else + { + fill_pathname_join(g_defaults.dir.screenshot, home, + "retroArch/screenshots", sizeof(g_defaults.dir.screenshot)); + fill_pathname_join(g_defaults.dir.core_assets, home, + "retroarch/downloads", sizeof(g_defaults.dir.core_assets)); + } + return; } From 713ed76659fd1561a30d31772bae92d03d0fa62a Mon Sep 17 00:00:00 2001 From: Jorge Suarez Date: Tue, 15 Sep 2015 12:14:51 -0500 Subject: [PATCH 4/4] [linux] add cheats --- frontend/drivers/platform_linux.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 04f2740590..b72f5f03be 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -603,6 +603,8 @@ static void frontend_linux_get_env(int *argc, "database/rdb", sizeof(g_defaults.dir.database)); fill_pathname_join(g_defaults.dir.shader, base_path, "shaders", sizeof(g_defaults.dir.shader)); + fill_pathname_join(g_defaults.dir.cheat, base_path, + "cheats", sizeof(g_defaults.dir.cheat)); fill_pathname_join(g_defaults.dir.overlay, base_path, "overlay", sizeof(g_defaults.dir.overlay)); fill_pathname_join(g_defaults.dir.osk_overlay, base_path,