mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Some cleanups in settings saving/load defaults.
This commit is contained in:
parent
aecbf71a90
commit
ce6de72181
@ -564,8 +564,6 @@ void menu_init(void)
|
||||
rgui->current_pad = 0;
|
||||
|
||||
menu_update_libretro_info();
|
||||
if (*g_extern.config_path)
|
||||
fill_pathname_basedir(rgui->config_dir, g_extern.config_path, sizeof(rgui->config_dir));
|
||||
|
||||
#ifdef HAVE_FILEBROWSER
|
||||
if (!(strlen(g_settings.rgui_browser_directory) > 0))
|
||||
|
@ -248,7 +248,6 @@ typedef struct
|
||||
#ifdef HAVE_DYNAMIC
|
||||
char libretro_dir[PATH_MAX];
|
||||
#endif
|
||||
char config_dir[PATH_MAX];
|
||||
struct retro_system_info info;
|
||||
bool load_no_rom;
|
||||
|
||||
|
@ -2380,7 +2380,7 @@ static int rgui_settings_iterate(rgui_handle_t *rgui, rgui_action_t action)
|
||||
#endif
|
||||
}
|
||||
else if (type == RGUI_SETTINGS_CONFIG)
|
||||
label = rgui->config_dir;
|
||||
label = g_settings.rgui_config_directory;
|
||||
else if (type == RGUI_SETTINGS_DISK_APPEND)
|
||||
label = rgui->base_path;
|
||||
|
||||
|
@ -286,6 +286,7 @@ struct settings
|
||||
|
||||
#if defined(HAVE_RGUI) || defined(HAVE_RMENU)
|
||||
char rgui_browser_directory[PATH_MAX];
|
||||
char rgui_config_directory[PATH_MAX];
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -43,6 +43,9 @@
|
||||
# Sets start directory for RGUI ROM browser.
|
||||
# rgui_browser_directory =
|
||||
|
||||
# Sets start directory for RGUI config browser.
|
||||
# rgui_config_directory =
|
||||
|
||||
# Flushes config to disk on exit. Useful for RGUI as settings can be modified.
|
||||
# Overwrites the config. #include's and comments are not preserved.
|
||||
# config_save_on_exit = false
|
||||
|
83
settings.c
83
settings.c
@ -244,6 +244,7 @@ void config_set_defaults(void)
|
||||
g_settings.input.autoconf_binds[i][j].joyaxis = AXIS_NONE;
|
||||
}
|
||||
}
|
||||
memset(g_settings.input.autoconfigured, 0, sizeof(g_settings.input.autoconfigured));
|
||||
|
||||
// Verify that binds are in proper order.
|
||||
for (int i = 0; i < MAX_PLAYERS; i++)
|
||||
@ -275,6 +276,20 @@ void config_set_defaults(void)
|
||||
g_extern.console.screen.viewports.custom_vp.x = 0;
|
||||
g_extern.console.screen.viewports.custom_vp.y = 0;
|
||||
|
||||
// Make sure settings from other configs carry over into defaults for another config.
|
||||
*g_settings.core_options_path = '\0';
|
||||
*g_settings.game_history_path = '\0';
|
||||
*g_settings.cheat_database = '\0';
|
||||
*g_settings.cheat_settings_path = '\0';
|
||||
*g_settings.screenshot_directory = '\0';
|
||||
*g_settings.system_directory = '\0';
|
||||
*g_settings.input.autoconfig_dir = '\0';
|
||||
*g_settings.input.overlay = '\0';
|
||||
#if defined(HAVE_RGUI) || defined(HAVE_RMENU)
|
||||
*g_settings.rgui_browser_directory = '\0';
|
||||
*g_settings.rgui_config_directory = '\0';
|
||||
#endif
|
||||
|
||||
#ifdef RARCH_CONSOLE
|
||||
g_extern.lifecycle_mode_state |= ((1ULL << MODE_INFO_DRAW) | (1ULL << MODE_MENU));
|
||||
|
||||
@ -684,6 +699,9 @@ bool config_load_file(const char *path)
|
||||
CONFIG_GET_PATH(rgui_browser_directory, "rgui_browser_directory");
|
||||
if (!strcmp(g_settings.rgui_browser_directory, "default"))
|
||||
*g_settings.rgui_browser_directory = '\0';
|
||||
CONFIG_GET_PATH(rgui_config_directory, "rgui_config_directory");
|
||||
if (!strcmp(g_settings.rgui_config_directory, "default"))
|
||||
*g_settings.rgui_config_directory = '\0';
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
@ -1014,39 +1032,18 @@ bool config_save_file(const char *path)
|
||||
config_set_bool(conf, "audio_rate_control", g_settings.audio.rate_control);
|
||||
config_set_float(conf, "audio_rate_control_delta", g_settings.audio.rate_control_delta);
|
||||
|
||||
if (*g_settings.system_directory)
|
||||
config_set_string(conf, "system_directory", g_settings.system_directory);
|
||||
else
|
||||
config_set_string(conf, "system_directory", "default");
|
||||
|
||||
if (*g_extern.savefile_dir)
|
||||
config_set_string(conf, "savefile_directory", g_extern.savefile_dir);
|
||||
else
|
||||
config_set_string(conf, "savefile_directory", "default");
|
||||
|
||||
if (*g_extern.savestate_dir)
|
||||
config_set_string(conf, "savestate_directory", g_extern.savestate_dir);
|
||||
else
|
||||
config_set_string(conf, "savestate_directory", "default");
|
||||
|
||||
if (*g_settings.video.shader_dir)
|
||||
config_set_string(conf, "video_shader_dir", g_settings.video.shader_dir);
|
||||
else
|
||||
config_set_string(conf, "video_shader_dir", "default");
|
||||
config_set_string(conf, "system_directory", *g_settings.system_directory ? g_settings.system_directory : "default");
|
||||
config_set_string(conf, "savefile_directory", *g_extern.savefile_dir ? g_extern.savefile_dir : "default");
|
||||
config_set_string(conf, "savestate_directory", *g_extern.savestate_dir ? g_extern.savestate_dir : "default");
|
||||
config_set_string(conf, "video_shader_dir", *g_settings.video.shader_dir ? g_settings.video.shader_dir : "default");
|
||||
|
||||
#if defined(HAVE_RGUI) || defined(HAVE_RMENU)
|
||||
if (*g_settings.rgui_browser_directory)
|
||||
config_set_string(conf, "rgui_browser_directory", g_settings.rgui_browser_directory);
|
||||
else
|
||||
config_set_string(conf, "rgui_browser_directory", "default");
|
||||
config_set_string(conf, "rgui_browser_directory", *g_settings.rgui_browser_directory ? g_settings.rgui_browser_directory : "default");
|
||||
config_set_string(conf, "rgui_config_directory", *g_settings.rgui_config_directory ? g_settings.rgui_config_directory : "default");
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OVERLAY
|
||||
if (*g_extern.overlay_dir)
|
||||
config_set_string(conf, "overlay_directory", g_extern.overlay_dir);
|
||||
else
|
||||
config_set_string(conf, "overlay_directory", "default");
|
||||
|
||||
config_set_string(conf, "overlay_directory", *g_extern.overlay_dir ? g_extern.overlay_dir : "default");
|
||||
config_set_string(conf, "input_overlay", g_settings.input.overlay);
|
||||
config_set_float(conf, "input_overlay_opacity", g_settings.input.overlay_opacity);
|
||||
config_set_float(conf, "input_overlay_scale", g_settings.input.overlay_scale);
|
||||
@ -1064,25 +1061,10 @@ bool config_save_file(const char *path)
|
||||
#ifdef _XBOX1
|
||||
config_set_int(conf, "sound_volume_level", g_extern.console.sound.volume_level);
|
||||
#endif
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_TRIPLE_BUFFERING_ENABLE))
|
||||
config_set_bool(conf, "triple_buffering_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "triple_buffering_enable", false);
|
||||
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW))
|
||||
config_set_bool(conf, "info_msg_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "info_msg_enable", false);
|
||||
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE))
|
||||
config_set_bool(conf, "soft_filter_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "soft_filter_enable", false);
|
||||
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_FLICKER_FILTER_ENABLE))
|
||||
config_set_bool(conf, "flicker_filter_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "flicker_filter_enable", false);
|
||||
config_set_bool(conf, "triple_buffering_enable", g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_TRIPLE_BUFFERING_ENABLE));
|
||||
config_set_bool(conf, "info_msg_enable", g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW));
|
||||
config_set_bool(conf, "soft_filter_enable", g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE));
|
||||
config_set_bool(conf, "flicker_filter_enable", g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_FLICKER_FILTER_ENABLE));
|
||||
|
||||
config_set_int(conf, "flicker_filter_index", g_extern.console.screen.flicker_filter_index);
|
||||
config_set_int(conf, "soft_filter_index", g_extern.console.screen.soft_filter_index);
|
||||
@ -1101,11 +1083,8 @@ bool config_save_file(const char *path)
|
||||
config_set_int(conf, "sound_mode", g_extern.console.sound.mode);
|
||||
config_set_int(conf, "state_slot", g_extern.state_slot);
|
||||
config_set_int(conf, "audio_mute", g_extern.audio_data.mute);
|
||||
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE))
|
||||
config_set_bool(conf, "custom_bgm_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "custom_bgm_enable", false);
|
||||
config_set_int(conf, "screen_orientation", g_extern.console.screen.orientation);
|
||||
config_set_bool(conf, "custom_bgm_enable", g_extern.lifecycle_mode_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE));
|
||||
|
||||
for (unsigned i = 0; i < MAX_PLAYERS; i++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user