mirror of
https://github.com/libretro/RetroArch
synced 2025-03-17 01:21:27 +00:00
Merge pull request #1635 from fr500/master
Auto override / remap loading refinements
This commit is contained in:
commit
6b15d7d2ea
@ -657,16 +657,21 @@ end:
|
||||
|
||||
static bool event_init_core(void)
|
||||
{
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
if (config_load_override())
|
||||
global->overrides_active = true;
|
||||
else
|
||||
global->overrides_active = false;
|
||||
global_t *global = global_get_ptr();
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if(settings->auto_overrides_enable)
|
||||
{
|
||||
if (config_load_override())
|
||||
global->overrides_active = true;
|
||||
else
|
||||
global->overrides_active = false;
|
||||
}
|
||||
|
||||
pretro_set_environment(rarch_environment_cb);
|
||||
|
||||
config_load_remap();
|
||||
if(settings->auto_remaps_enable)
|
||||
config_load_remap();
|
||||
|
||||
rarch_verify_api_version();
|
||||
pretro_init();
|
||||
@ -725,6 +730,7 @@ static bool event_save_core_config(void)
|
||||
config_path[PATH_MAX_LENGTH], msg[PATH_MAX_LENGTH];
|
||||
bool ret = false;
|
||||
bool found_path = false;
|
||||
bool overrides_active = false;
|
||||
settings_t *settings = config_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
|
||||
@ -786,6 +792,13 @@ static bool event_save_core_config(void)
|
||||
sizeof(config_path));
|
||||
}
|
||||
|
||||
/* Overrides block config file saving, make it appear as overrides weren't enabled for a manual save */
|
||||
if (global->overrides_active)
|
||||
{
|
||||
global->overrides_active = false;
|
||||
overrides_active = true;
|
||||
}
|
||||
|
||||
if ((ret = config_save_file(config_path)))
|
||||
{
|
||||
strlcpy(global->config_path, config_path,
|
||||
@ -802,7 +815,7 @@ static bool event_save_core_config(void)
|
||||
}
|
||||
|
||||
rarch_main_msg_queue_push(msg, 1, 180, true);
|
||||
|
||||
global->overrides_active = overrides_active;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -491,6 +491,9 @@ static bool default_core_specific_config = true;
|
||||
static bool default_core_specific_config = false;
|
||||
#endif
|
||||
|
||||
static bool default_auto_overrides_enable = false;
|
||||
static bool default_auto_remaps_enable = false;
|
||||
|
||||
/* Crop overscanned frames. */
|
||||
static const bool crop_overscan = true;
|
||||
|
||||
|
@ -681,6 +681,8 @@ static void config_set_defaults(void)
|
||||
*settings->menu_config_directory = '\0';
|
||||
#endif
|
||||
settings->core_specific_config = default_core_specific_config;
|
||||
settings->auto_overrides_enable = default_auto_overrides_enable;
|
||||
settings->auto_remaps_enable = default_auto_remaps_enable;
|
||||
settings->user_language = 0;
|
||||
|
||||
global->console.sound.system_bgm_enable = false;
|
||||
@ -1595,6 +1597,8 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||
config_read_keybinds_conf(conf);
|
||||
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, core_specific_config, "core_specific_config");
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, auto_overrides_enable, "auto_overrides_enable");
|
||||
CONFIG_GET_BOOL_BASE(conf, settings, auto_remaps_enable, "auto_remaps_enable");
|
||||
|
||||
config_file_free(conf);
|
||||
return true;
|
||||
@ -2467,6 +2471,10 @@ bool config_save_file(const char *path)
|
||||
|
||||
config_set_bool(conf, "core_specific_config",
|
||||
settings->core_specific_config);
|
||||
config_set_bool(conf, "auto_overrides_enable",
|
||||
settings->auto_overrides_enable);
|
||||
config_set_bool(conf, "auto_remaps_enable",
|
||||
settings->auto_remaps_enable);
|
||||
config_set_int(conf, "libretro_log_level", settings->libretro_log_level);
|
||||
config_set_bool(conf, "log_verbosity", global->verbosity);
|
||||
config_set_bool(conf, "perfcnt_enable", global->perfcnt_enable);
|
||||
|
@ -308,6 +308,8 @@ typedef struct settings
|
||||
bool load_dummy_on_core_shutdown;
|
||||
|
||||
bool core_specific_config;
|
||||
bool auto_overrides_enable;
|
||||
bool auto_remaps_enable;
|
||||
|
||||
char username[32];
|
||||
unsigned int user_language;
|
||||
|
23
settings.c
23
settings.c
@ -3626,6 +3626,29 @@ static bool setting_append_list_general_options(
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
|
||||
CONFIG_BOOL(
|
||||
settings->auto_overrides_enable,
|
||||
"auto_overrides_enable",
|
||||
"Load Override Files Automatically",
|
||||
default_auto_overrides_enable,
|
||||
"OFF",
|
||||
"ON",
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
|
||||
CONFIG_BOOL(
|
||||
settings->auto_remaps_enable,
|
||||
"auto_remaps_enable",
|
||||
"Load Remap Files Automatically",
|
||||
default_auto_remaps_enable,
|
||||
"OFF",
|
||||
"ON",
|
||||
group_info.name,
|
||||
subgroup_info.name,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
|
||||
END_SUB_GROUP(list, list_info);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user