diff --git a/config.def.h b/config.def.h index 4c49f4db51..a8ce88e325 100644 --- a/config.def.h +++ b/config.def.h @@ -561,6 +561,7 @@ static bool default_block_config_read = false; static bool default_game_specific_options = false; static bool default_auto_overrides_enable = true; static bool default_auto_remaps_enable = true; +static bool default_auto_shaders_enable = true; static bool default_sort_savefiles_enable = false; static bool default_sort_savestates_enable = false; diff --git a/configuration.c b/configuration.c index b77935f285..22bf49275a 100644 --- a/configuration.c +++ b/configuration.c @@ -782,6 +782,7 @@ static void config_set_defaults(void) settings->game_specific_options = default_game_specific_options; settings->auto_overrides_enable = default_auto_overrides_enable; settings->auto_remaps_enable = default_auto_remaps_enable; + settings->auto_shaders_enable = default_auto_shaders_enable; settings->sort_savefiles_enable = default_sort_savefiles_enable; settings->sort_savestates_enable = default_sort_savestates_enable; @@ -1264,6 +1265,7 @@ static bool config_load_file(const char *path, bool set_defaults) { "game_specific_options", &settings->game_specific_options}, { "auto_overrides_enable", &settings->auto_overrides_enable}, { "auto_remaps_enable", &settings->auto_remaps_enable}, + { "auto_shaders_enable", &settings->auto_shaders_enable}, { "sort_savefiles_enable", &settings->sort_savefiles_enable}, { "sort_savestates_enable", &settings->sort_savestates_enable}, { "config_save_on_exit", &settings->config_save_on_exit}, @@ -2655,6 +2657,7 @@ bool config_save_file(const char *path) { "game_specific_options", settings->game_specific_options}, { "auto_overrides_enable", settings->auto_overrides_enable}, { "auto_remaps_enable", settings->auto_remaps_enable}, + { "auto_shaders_enable", settings->auto_shaders_enable}, { "sort_savefiles_enable", settings->sort_savefiles_enable}, { "sort_savestates_enable", settings->sort_savestates_enable}, { "config_save_on_exit", settings->config_save_on_exit}, diff --git a/configuration.h b/configuration.h index fc266e1087..faf684a92e 100644 --- a/configuration.h +++ b/configuration.h @@ -465,6 +465,7 @@ typedef struct settings bool game_specific_options; bool auto_overrides_enable; bool auto_remaps_enable; + bool auto_shaders_enable; bool sort_savefiles_enable; bool sort_savestates_enable; diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c index 690e1bda51..43f26d2ef0 100644 --- a/intl/msg_hash_us.c +++ b/intl/msg_hash_us.c @@ -2404,6 +2404,8 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg) return "fastforward_ratio"; case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE: return "auto_remaps_enable"; + case MENU_ENUM_LABEL_AUTO_SHADERS_ENABLE: + return "auto_shaders_enable"; case MENU_ENUM_LABEL_SLOWMOTION_RATIO: return "slowmotion_ratio"; case MENU_ENUM_LABEL_CORE_SPECIFIC_CONFIG: @@ -3686,6 +3688,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg) return "Maximum Run Speed"; case MENU_ENUM_LABEL_VALUE_AUTO_REMAPS_ENABLE: return "Load Remap Files Automatically"; + case MENU_ENUM_LABEL_VALUE_AUTO_SHADERS_ENABLE: + return "Load Shader Presets Automatically"; case MENU_ENUM_LABEL_VALUE_SLOWMOTION_RATIO: return "Slow-Motion Ratio"; case MENU_ENUM_LABEL_VALUE_CORE_SPECIFIC_CONFIG: diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 3b6194485f..a753a2233c 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4710,6 +4710,22 @@ static bool setting_append_list( SD_FLAG_NONE); menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE); + CONFIG_BOOL( + list, list_info, + &settings->auto_shaders_enable, + msg_hash_to_str(MENU_ENUM_LABEL_AUTO_SHADERS_ENABLE), + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_AUTO_SHADERS_ENABLE), + default_auto_shaders_enable, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON), + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_AUTO_SHADERS_ENABLE); + END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); break; diff --git a/msg_hash.h b/msg_hash.h index 6da350277b..a6d10e4b9f 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1027,6 +1027,8 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_AUTO_OVERRIDES_ENABLE, MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE, MENU_ENUM_LABEL_VALUE_AUTO_REMAPS_ENABLE, + MENU_ENUM_LABEL_AUTO_SHADERS_ENABLE, + MENU_ENUM_LABEL_VALUE_AUTO_SHADERS_ENABLE, MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN, MENU_ENUM_LABEL_VALUE_RGUI_SHOW_START_SCREEN, MENU_ENUM_LABEL_SCREENSHOT,