mirror of
https://github.com/libretro/RetroArch
synced 2025-04-18 05:43:34 +00:00
Rewrite has_set.libretro
This commit is contained in:
parent
6fb39e4f7f
commit
ba32586d1a
22
retroarch.c
22
retroarch.c
@ -712,7 +712,6 @@ static void retroarch_parse_input(int argc, char *argv[])
|
|||||||
|
|
||||||
global->has_set.save_path = false;
|
global->has_set.save_path = false;
|
||||||
global->has_set.state_path = false;
|
global->has_set.state_path = false;
|
||||||
global->has_set.libretro = false;
|
|
||||||
global->has_set.libretro_directory = false;
|
global->has_set.libretro_directory = false;
|
||||||
global->has_set.verbosity = false;
|
global->has_set.verbosity = false;
|
||||||
|
|
||||||
@ -863,7 +862,8 @@ static void retroarch_parse_input(int argc, char *argv[])
|
|||||||
config_clear_active_core_path();
|
config_clear_active_core_path();
|
||||||
strlcpy(settings->directory.libretro, optarg,
|
strlcpy(settings->directory.libretro, optarg,
|
||||||
sizeof(settings->directory.libretro));
|
sizeof(settings->directory.libretro));
|
||||||
global->has_set.libretro = true;
|
|
||||||
|
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO);
|
||||||
global->has_set.libretro_directory = true;
|
global->has_set.libretro_directory = true;
|
||||||
RARCH_WARN("Using old --libretro behavior. "
|
RARCH_WARN("Using old --libretro behavior. "
|
||||||
"Setting libretro_directory to \"%s\" instead.\n",
|
"Setting libretro_directory to \"%s\" instead.\n",
|
||||||
@ -872,7 +872,7 @@ static void retroarch_parse_input(int argc, char *argv[])
|
|||||||
else if (path_file_exists(optarg))
|
else if (path_file_exists(optarg))
|
||||||
{
|
{
|
||||||
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, optarg);
|
runloop_ctl(RUNLOOP_CTL_SET_LIBRETRO_PATH, optarg);
|
||||||
global->has_set.libretro = true;
|
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO);
|
||||||
|
|
||||||
/* We requested explicit core, so use PLAIN core type. */
|
/* We requested explicit core, so use PLAIN core type. */
|
||||||
retroarch_set_current_core_type(CORE_TYPE_PLAIN, false);
|
retroarch_set_current_core_type(CORE_TYPE_PLAIN, false);
|
||||||
@ -1339,8 +1339,7 @@ bool retroarch_main_init(int argc, char *argv[])
|
|||||||
if (settings->multimedia.builtin_mediaplayer_enable)
|
if (settings->multimedia.builtin_mediaplayer_enable)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_FFMPEG
|
#ifdef HAVE_FFMPEG
|
||||||
global_t *global = global_get_ptr();
|
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO);
|
||||||
global->has_set.libretro = false;
|
|
||||||
retroarch_set_current_core_type(CORE_TYPE_FFMPEG, false);
|
retroarch_set_current_core_type(CORE_TYPE_FFMPEG, false);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1349,8 +1348,7 @@ bool retroarch_main_init(int argc, char *argv[])
|
|||||||
case RARCH_CONTENT_IMAGE:
|
case RARCH_CONTENT_IMAGE:
|
||||||
if (settings->multimedia.builtin_imageviewer_enable)
|
if (settings->multimedia.builtin_imageviewer_enable)
|
||||||
{
|
{
|
||||||
global_t *global = global_get_ptr();
|
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO);
|
||||||
global->has_set.libretro = false;
|
|
||||||
retroarch_set_current_core_type(CORE_TYPE_IMAGEVIEWER, false);
|
retroarch_set_current_core_type(CORE_TYPE_IMAGEVIEWER, false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1630,10 +1628,14 @@ void retroarch_fill_pathnames(void)
|
|||||||
sizeof(global->name.ips));
|
sizeof(global->name.ips));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool has_set_libretro = false;
|
||||||
|
|
||||||
bool retroarch_override_setting_is_set(enum rarch_override_setting enum_idx)
|
bool retroarch_override_setting_is_set(enum rarch_override_setting enum_idx)
|
||||||
{
|
{
|
||||||
switch (enum_idx)
|
switch (enum_idx)
|
||||||
{
|
{
|
||||||
|
case RARCH_OVERRIDE_SETTING_LIBRETRO:
|
||||||
|
return has_set_libretro;
|
||||||
case RARCH_OVERRIDE_SETTING_NONE:
|
case RARCH_OVERRIDE_SETTING_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -1646,6 +1648,9 @@ void retroarch_override_setting_set(enum rarch_override_setting enum_idx)
|
|||||||
{
|
{
|
||||||
switch (enum_idx)
|
switch (enum_idx)
|
||||||
{
|
{
|
||||||
|
case RARCH_OVERRIDE_SETTING_LIBRETRO:
|
||||||
|
has_set_libretro = true;
|
||||||
|
break;
|
||||||
case RARCH_OVERRIDE_SETTING_NONE:
|
case RARCH_OVERRIDE_SETTING_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -1656,6 +1661,9 @@ void retroarch_override_setting_unset(enum rarch_override_setting enum_idx)
|
|||||||
{
|
{
|
||||||
switch (enum_idx)
|
switch (enum_idx)
|
||||||
{
|
{
|
||||||
|
case RARCH_OVERRIDE_SETTING_LIBRETRO:
|
||||||
|
has_set_libretro = false;
|
||||||
|
break;
|
||||||
case RARCH_OVERRIDE_SETTING_NONE:
|
case RARCH_OVERRIDE_SETTING_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -101,6 +101,7 @@ enum rarch_capabilities
|
|||||||
enum rarch_override_setting
|
enum rarch_override_setting
|
||||||
{
|
{
|
||||||
RARCH_OVERRIDE_SETTING_NONE = 0,
|
RARCH_OVERRIDE_SETTING_NONE = 0,
|
||||||
|
RARCH_OVERRIDE_SETTING_LIBRETRO,
|
||||||
RARCH_OVERRIDE_SETTING_LAST
|
RARCH_OVERRIDE_SETTING_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -184,7 +184,6 @@ typedef struct global
|
|||||||
bool verbosity;
|
bool verbosity;
|
||||||
|
|
||||||
bool libretro_device[MAX_USERS];
|
bool libretro_device[MAX_USERS];
|
||||||
bool libretro;
|
|
||||||
bool libretro_directory;
|
bool libretro_directory;
|
||||||
|
|
||||||
bool netplay_mode;
|
bool netplay_mode;
|
||||||
|
@ -1571,7 +1571,7 @@ static void menu_content_environment_get(int *argc, char *argv[],
|
|||||||
wrap_args->state_path = global->dir.savestate;
|
wrap_args->state_path = global->dir.savestate;
|
||||||
if (fullpath && *fullpath)
|
if (fullpath && *fullpath)
|
||||||
wrap_args->content_path = fullpath;
|
wrap_args->content_path = fullpath;
|
||||||
if (!global->has_set.libretro)
|
if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_LIBRETRO))
|
||||||
wrap_args->libretro_path = string_is_empty(config_get_active_core_path()) ? NULL :
|
wrap_args->libretro_path = string_is_empty(config_get_active_core_path()) ? NULL :
|
||||||
config_get_active_core_path();
|
config_get_active_core_path();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user