diff --git a/string_list_special.c b/string_list_special.c index 6309f48aa4..0bce70e4e4 100644 --- a/string_list_special.c +++ b/string_list_special.c @@ -150,7 +150,20 @@ const char *string_list_special_new(enum string_list_type type) string_list_append(s, opt, attr); } break; - case STRING_LIST_CORES: + case STRING_LIST_CORES_PATHS: + for (i = 0; i < core_info_list_num_info_files(global->core_info.list); i++) + { + const core_info_t *info = (const core_info_t*)&global->core_info.list->list[i]; + const char *opt = info ? info->path : NULL; + + if (!opt) + goto end; + + len += strlen(opt) + 1; + string_list_append(s, opt, attr); + } + break; + case STRING_LIST_CORES_NAMES: for (i = 0; i < core_info_list_num_info_files(global->core_info.list); i++) { const core_info_t *info = (const core_info_t*)&global->core_info.list->list[i]; diff --git a/string_list_special.h b/string_list_special.h index c18ac44f99..c293397d9a 100644 --- a/string_list_special.h +++ b/string_list_special.h @@ -29,7 +29,8 @@ enum string_list_type STRING_LIST_INPUT_JOYPAD_DRIVERS, STRING_LIST_INPUT_HID_DRIVERS, STRING_LIST_RECORD_DRIVERS, - STRING_LIST_CORES + STRING_LIST_CORES_PATHS, + STRING_LIST_CORES_NAMES }; const char *string_list_special_new(enum string_list_type type);