mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
unix, win32: Allow set the default libretro_directory via environment variable (#12040)
This commit is contained in:
parent
d43b99cbac
commit
763fcd8267
@ -1377,6 +1377,7 @@ static void frontend_unix_get_env(int *argc,
|
|||||||
char *argv[], void *data, void *params_data)
|
char *argv[], void *data, void *params_data)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
const char* libretro_directory = getenv("LIBRETRO_DIRECTORY");
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
int32_t major, minor, rel;
|
int32_t major, minor, rel;
|
||||||
char device_model[PROP_VALUE_MAX] = {0};
|
char device_model[PROP_VALUE_MAX] = {0};
|
||||||
@ -1819,8 +1820,12 @@ static void frontend_unix_get_env(int *argc,
|
|||||||
strcpy_literal(base_path, "retroarch");
|
strcpy_literal(base_path, "retroarch");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
|
if (!string_is_empty(libretro_directory))
|
||||||
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
||||||
|
sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
|
else
|
||||||
|
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CORE], base_path,
|
||||||
|
"cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
#if defined(DINGUX)
|
#if defined(DINGUX)
|
||||||
/* On platforms that require manual core installation/
|
/* On platforms that require manual core installation/
|
||||||
* removal, placing core info files in the same directory
|
* removal, placing core info files in the same directory
|
||||||
|
@ -571,6 +571,7 @@ static void frontend_win32_env_get(int *argc, char *argv[],
|
|||||||
void *args, void *params_data)
|
void *args, void *params_data)
|
||||||
{
|
{
|
||||||
const char *tmp_dir = getenv("TMP");
|
const char *tmp_dir = getenv("TMP");
|
||||||
|
const char *libretro_directory = getenv("LIBRETRO_DIRECTORY");
|
||||||
if (!string_is_empty(tmp_dir))
|
if (!string_is_empty(tmp_dir))
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CACHE],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CACHE],
|
||||||
tmp_dir, sizeof(g_defaults.dirs[DEFAULT_DIR_CACHE]));
|
tmp_dir, sizeof(g_defaults.dirs[DEFAULT_DIR_CACHE]));
|
||||||
@ -609,8 +610,12 @@ static void frontend_win32_env_get(int *argc, char *argv[],
|
|||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT],
|
||||||
":\\layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
":\\layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
||||||
#endif
|
#endif
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE],
|
if (!string_is_empty(libretro_directory))
|
||||||
":\\cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
strlcpy(g_defaults.dirs[DEFAULT_DIR_CORE], libretro_directory,
|
||||||
|
sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
|
else
|
||||||
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE],
|
||||||
|
":\\cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE]));
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE_INFO],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE_INFO],
|
||||||
":\\info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
":\\info", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO]));
|
||||||
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG],
|
fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_AUTOCONFIG],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user