diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index ef6d76105b..2848a28d5a 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5459,21 +5459,29 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct break; case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST: { - menu_displaylist_build_info_t build_list[] = { - {MENU_ENUM_LABEL_CHEEVOS_ENABLE, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_USERNAME, PARSE_ONLY_STRING}, - {MENU_ENUM_LABEL_CHEEVOS_PASSWORD, PARSE_ONLY_STRING}, - {MENU_ENUM_LABEL_CHEEVOS_HARDCORE_MODE_ENABLE, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_LEADERBOARDS_ENABLE, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_BADGES_ENABLE, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_TEST_UNOFFICIAL, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_VERBOSE_ENABLE, PARSE_ONLY_BOOL }, - {MENU_ENUM_LABEL_CHEEVOS_AUTO_SCREENSHOT, PARSE_ONLY_BOOL }, + settings_t *settings = config_get_ptr(); + menu_displaylist_build_info_selective_t build_list[] = { + {MENU_ENUM_LABEL_CHEEVOS_ENABLE, PARSE_ONLY_BOOL, true }, + {MENU_ENUM_LABEL_CHEEVOS_USERNAME, PARSE_ONLY_STRING, false }, + {MENU_ENUM_LABEL_CHEEVOS_PASSWORD, PARSE_ONLY_STRING, false }, + {MENU_ENUM_LABEL_CHEEVOS_HARDCORE_MODE_ENABLE, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_CHEEVOS_LEADERBOARDS_ENABLE, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_CHEEVOS_BADGES_ENABLE, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_CHEEVOS_TEST_UNOFFICIAL, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_CHEEVOS_VERBOSE_ENABLE, PARSE_ONLY_BOOL, false }, + {MENU_ENUM_LABEL_CHEEVOS_AUTO_SCREENSHOT, PARSE_ONLY_BOOL, false }, }; for (i = 0; i < ARRAY_SIZE(build_list); i++) { - if (menu_displaylist_parse_settings_enum(list, + if (settings->bools.cheevos_enable) + build_list[i].checked = true; + } + + for (i = 0; i < ARRAY_SIZE(build_list); i++) + { + if (build_list[i].checked && + menu_displaylist_parse_settings_enum(list, build_list[i].enum_idx, build_list[i].parse_type, false) == 0) count++; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index feec909fc8..3973a0f5ec 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -15177,6 +15177,8 @@ static bool setting_append_list( general_read_handler, SD_FLAG_NONE ); + (*list)[list_info->index - 1].action_left = setting_bool_action_left_with_refresh; + (*list)[list_info->index - 1].action_right = setting_bool_action_right_with_refresh; CONFIG_BOOL( list, list_info,