diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 4a621005ce..c4b8e0bb0d 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -549,6 +549,15 @@ void menu_settings_list_current_add_enum_idx( (*list)[idx].enum_idx = enum_idx; } +void menu_settings_list_current_add_enum_value_idx( + rarch_setting_t **list, + rarch_setting_info_t *list_info, + enum msg_hash_enums enum_idx) +{ + unsigned idx = list_info->index - 1; + (*list)[idx].enum_value_idx = enum_idx; +} + int menu_setting_generic(rarch_setting_t *setting, bool wraparound) { diff --git a/menu/menu_setting.h b/menu/menu_setting.h index 700928508a..9da1cb9dc5 100644 --- a/menu/menu_setting.h +++ b/menu/menu_setting.h @@ -157,6 +157,11 @@ void menu_settings_list_current_add_enum_idx( rarch_setting_info_t *list_info, enum msg_hash_enums enum_idx); +void menu_settings_list_current_add_enum_value_idx( + rarch_setting_t **list, + rarch_setting_info_t *list_info, + enum msg_hash_enums enum_idx); + bool menu_setting_free(void *data); bool settings_list_append(rarch_setting_t **list, diff --git a/setting_list.c b/setting_list.c index 4ea37df337..12ad59f496 100644 --- a/setting_list.c +++ b/setting_list.c @@ -1495,6 +1495,7 @@ bool CONFIG_BOOL( if (flags != SD_FLAG_NONE) settings_data_list_current_add_flags(list, list_info, flags); menu_settings_list_current_add_enum_idx(list, list_info, name_enum_idx); + menu_settings_list_current_add_enum_value_idx(list, list_info, SHORT_enum_idx); return true; } @@ -1592,6 +1593,7 @@ bool CONFIG_FLOAT( value.name_hash = msg_hash_calculate(value.name); (*list)[list_info->index++] = value; menu_settings_list_current_add_enum_idx(list, list_info, name_enum_idx); + menu_settings_list_current_add_enum_value_idx(list, list_info, SHORT_enum_idx); return true; } @@ -1651,6 +1653,7 @@ bool CONFIG_DIR( SD_FLAG_ALLOW_EMPTY | SD_FLAG_PATH_DIR | SD_FLAG_BROWSER_ACTION); menu_settings_list_current_add_enum_idx(list, list_info, name_enum_idx); + menu_settings_list_current_add_enum_value_idx(list, list_info, SHORT_enum_idx); return true; } diff --git a/setting_list.h b/setting_list.h index 1d8e621739..571cf93250 100644 --- a/setting_list.h +++ b/setting_list.h @@ -90,6 +90,7 @@ struct rarch_setting_group_info struct rarch_setting { enum msg_hash_enums enum_idx; + enum msg_hash_enums enum_value_idx; enum setting_type type; uint32_t size;