Merge pull request #1635 from fr500/master

Auto override / remap loading refinements
This commit is contained in:
Twinaphex 2015-04-18 09:18:01 +02:00
commit 6b15d7d2ea
5 changed files with 57 additions and 8 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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);