diff --git a/config.def.h b/config.def.h index 54eb968b6a..520581b01c 100644 --- a/config.def.h +++ b/config.def.h @@ -406,6 +406,9 @@ static const bool stdin_cmd_enable = false; // Number of entries that will be kept in ROM history file. static const unsigned game_history_size = 100; +// Show RGUI start-up screen on boot. +static const bool rgui_show_start_screen = true; + //////////////////// // Keybinds, Joypad diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index f8e9eef024..438fdcfcd8 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -142,7 +142,8 @@ static void *rgui_init(void) rgui->selection_buf = (rgui_list_t*)calloc(1, sizeof(rgui_list_t)); rgui_list_push(rgui->menu_stack, "", RGUI_SETTINGS, 0); rgui->selection_ptr = 0; - rgui->push_start_screen = true; + rgui->push_start_screen = g_settings.rgui_show_start_screen; + g_settings.rgui_show_start_screen = false; rgui_settings_populate_entries(rgui); // Make sure that custom viewport is something sane incase we use it diff --git a/general.h b/general.h index 5c4c1ab14f..846c68e6b3 100644 --- a/general.h +++ b/general.h @@ -286,6 +286,7 @@ struct settings #if defined(HAVE_RGUI) || defined(HAVE_RMENU) || defined(HAVE_RMENU_XUI) char rgui_browser_directory[PATH_MAX]; char rgui_config_directory[PATH_MAX]; + bool rgui_show_start_screen; #endif }; diff --git a/settings.c b/settings.c index a5c5147a7d..b3cb7883ee 100644 --- a/settings.c +++ b/settings.c @@ -230,6 +230,8 @@ void config_set_defaults(void) g_settings.stdin_cmd_enable = stdin_cmd_enable; g_settings.game_history_size = game_history_size; + g_settings.rgui_show_start_screen = rgui_show_start_screen; + rarch_assert(sizeof(g_settings.input.binds[0]) >= sizeof(retro_keybinds_1)); rarch_assert(sizeof(g_settings.input.binds[1]) >= sizeof(retro_keybinds_rest)); memcpy(g_settings.input.binds[0], retro_keybinds_1, sizeof(retro_keybinds_1)); @@ -750,6 +752,7 @@ bool config_load_file(const char *path) CONFIG_GET_PATH(rgui_config_directory, "rgui_config_directory"); if (!strcmp(g_settings.rgui_config_directory, "default")) *g_settings.rgui_config_directory = '\0'; + CONFIG_GET_BOOL(rgui_show_start_screen, "rgui_show_start_screen"); #endif #ifdef HAVE_OVERLAY @@ -1078,6 +1081,7 @@ bool config_save_file(const char *path) #if defined(HAVE_RGUI) || defined(HAVE_RMENU) || defined(HAVE_RMENU_XUI) 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"); + config_set_bool(conf, "rgui_show_start_screen", g_settings.rgui_show_start_screen); #endif config_set_string(conf, "game_history_path", g_settings.game_history_path);