diff --git a/frontend/menu/disp/rgui.c b/frontend/menu/disp/rgui.c index d01e6911c6..a9403a0623 100644 --- a/frontend/menu/disp/rgui.c +++ b/frontend/menu/disp/rgui.c @@ -310,6 +310,8 @@ static void rgui_render(void *data) else if (menu_type == RGUI_SETTINGS_SHADER_OPTIONS) strlcpy(title, "SHADER OPTIONS", sizeof(title)); #endif + else if (menu_type == RGUI_SETTINGS_GENERAL_OPTIONS) + strlcpy(title, "GENERAL OPTIONS", sizeof(title)); else if (menu_type == RGUI_SETTINGS_AUDIO_OPTIONS) strlcpy(title, "AUDIO OPTIONS", sizeof(title)); else if (menu_type == RGUI_SETTINGS_DISK_OPTIONS) diff --git a/frontend/menu/menu_common.c b/frontend/menu/menu_common.c index c40a66b01c..0328c3606f 100644 --- a/frontend/menu/menu_common.c +++ b/frontend/menu/menu_common.c @@ -949,6 +949,7 @@ static int menu_settings_iterate(void *data, unsigned action) || menu_type == RGUI_SETTINGS_CORE_OPTIONS || menu_type == RGUI_SETTINGS_AUDIO_OPTIONS || menu_type == RGUI_SETTINGS_DISK_OPTIONS + || menu_type == RGUI_SETTINGS_GENERAL_OPTIONS || menu_type == RGUI_SETTINGS_VIDEO_OPTIONS || menu_type == RGUI_SETTINGS_SHADER_OPTIONS ) @@ -1879,6 +1880,23 @@ void menu_populate_entries(void *data, unsigned menu_type) } break; #endif + case RGUI_SETTINGS_GENERAL_OPTIONS: + file_list_clear(rgui->selection_buf); + file_list_push(rgui->selection_buf, "Configuration Save On Exit", RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT, 0); + file_list_push(rgui->selection_buf, "Configuration Per-Core", RGUI_SETTINGS_PER_CORE_CONFIG, 0); +#ifdef HAVE_SCREENSHOTS + file_list_push(rgui->selection_buf, "GPU Screenshots", RGUI_SETTINGS_GPU_SCREENSHOT, 0); +#endif + file_list_push(rgui->selection_buf, "Show Framerate", RGUI_SETTINGS_DEBUG_TEXT, 0); + file_list_push(rgui->selection_buf, "Rewind", RGUI_SETTINGS_REWIND_ENABLE, 0); + file_list_push(rgui->selection_buf, "Rewind Granularity", RGUI_SETTINGS_REWIND_GRANULARITY, 0); + file_list_push(rgui->selection_buf, "SRAM Block Overwrite", RGUI_SETTINGS_BLOCK_SRAM_OVERWRITE, 0); +#if defined(HAVE_THREADS) + file_list_push(rgui->selection_buf, "SRAM Autosave", RGUI_SETTINGS_SRAM_AUTOSAVE, 0); +#endif + file_list_push(rgui->selection_buf, "Savestate Autosave On Exit", RGUI_SETTINGS_SAVESTATE_AUTO_SAVE, 0); + file_list_push(rgui->selection_buf, "Savestate Autoload", RGUI_SETTINGS_SAVESTATE_AUTO_LOAD, 0); + break; case RGUI_SETTINGS_VIDEO_OPTIONS: file_list_clear(rgui->selection_buf); #if defined(GEKKO) || defined(__CELLOS_LV2__) @@ -1937,6 +1955,7 @@ void menu_populate_entries(void *data, unsigned menu_type) break; case RGUI_SETTINGS_OPTIONS: file_list_clear(rgui->selection_buf); + file_list_push(rgui->selection_buf, "General Options", RGUI_SETTINGS_GENERAL_OPTIONS, 0); file_list_push(rgui->selection_buf, "Video Options", RGUI_SETTINGS_VIDEO_OPTIONS, 0); #ifdef HAVE_SHADER_MANAGER file_list_push(rgui->selection_buf, "Shader Options", RGUI_SETTINGS_SHADER_OPTIONS, 0); @@ -1952,21 +1971,6 @@ void menu_populate_entries(void *data, unsigned menu_type) if (g_extern.system.disk_control.get_num_images) file_list_push(rgui->selection_buf, "Disk Options", RGUI_SETTINGS_DISK_OPTIONS, 0); } - file_list_push(rgui->selection_buf, "Rewind", RGUI_SETTINGS_REWIND_ENABLE, 0); - file_list_push(rgui->selection_buf, "Rewind Granularity", RGUI_SETTINGS_REWIND_GRANULARITY, 0); -#ifdef HAVE_SCREENSHOTS - file_list_push(rgui->selection_buf, "GPU Screenshots", RGUI_SETTINGS_GPU_SCREENSHOT, 0); -#endif - file_list_push(rgui->selection_buf, "Savestate Autosave On Exit", RGUI_SETTINGS_SAVESTATE_AUTO_SAVE, 0); - file_list_push(rgui->selection_buf, "Savestate Autoload", RGUI_SETTINGS_SAVESTATE_AUTO_LOAD, 0); - file_list_push(rgui->selection_buf, "Block SRAM Overwrite", RGUI_SETTINGS_BLOCK_SRAM_OVERWRITE, 0); - - file_list_push(rgui->selection_buf, "Config Save On Exit", RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT, 0); - file_list_push(rgui->selection_buf, "Per-Core Configs", RGUI_SETTINGS_PER_CORE_CONFIG, 0); -#if defined(HAVE_THREADS) - file_list_push(rgui->selection_buf, "SRAM Autosave", RGUI_SETTINGS_SRAM_AUTOSAVE, 0); -#endif - file_list_push(rgui->selection_buf, "Show Framerate", RGUI_SETTINGS_DEBUG_TEXT, 0); break; case RGUI_SETTINGS_DISK_OPTIONS: file_list_clear(rgui->selection_buf); diff --git a/frontend/menu/menu_common.h b/frontend/menu/menu_common.h index 70f1da4d79..6c5fa97a1f 100644 --- a/frontend/menu/menu_common.h +++ b/frontend/menu/menu_common.h @@ -60,6 +60,7 @@ typedef enum RGUI_START_SCREEN, // Shader stuff + RGUI_SETTINGS_GENERAL_OPTIONS, RGUI_SETTINGS_VIDEO_OPTIONS, RGUI_SETTINGS_VIDEO_OPTIONS_FIRST, RGUI_SETTINGS_VIDEO_RESOLUTION, diff --git a/frontend/menu/menu_settings.c b/frontend/menu/menu_settings.c index 4dada70a84..862a097cf2 100644 --- a/frontend/menu/menu_settings.c +++ b/frontend/menu/menu_settings.c @@ -74,6 +74,7 @@ unsigned menu_type_is(unsigned type) type_found = type == RGUI_SETTINGS || + type == RGUI_SETTINGS_GENERAL_OPTIONS || type == RGUI_SETTINGS_CORE_OPTIONS || type == RGUI_SETTINGS_VIDEO_OPTIONS || type == RGUI_SETTINGS_SHADER_OPTIONS || @@ -1900,6 +1901,7 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w, case RGUI_SETTINGS_SHADER_OPTIONS: case RGUI_SETTINGS_SHADER_PRESET: #endif + case RGUI_SETTINGS_GENERAL_OPTIONS: case RGUI_SETTINGS_SHADER_PRESET_SAVE: case RGUI_SETTINGS_CORE: case RGUI_SETTINGS_DISK_APPEND: