diff --git a/frontend/info/core_info.c b/frontend/info/core_info.c index 5db7667c2d..1d2e263747 100644 --- a/frontend/info/core_info.c +++ b/frontend/info/core_info.c @@ -57,8 +57,7 @@ static void core_info_list_resolve_all_firmware(core_info_list_t *core_info_list { size_t i; unsigned c; - - + for (i = 0; i < core_info_list->count; i++) { core_info_t *info = &core_info_list->list[i]; @@ -73,8 +72,7 @@ static void core_info_list_resolve_all_firmware(core_info_list_t *core_info_list info->firmware = (core_info_firmware_t*)calloc(count, sizeof(*info->firmware)); if (!info->firmware) continue; - - + for (c = 0; c < count; c++) { char path_key[64], desc_key[64]; @@ -84,7 +82,6 @@ static void core_info_list_resolve_all_firmware(core_info_list_t *core_info_list config_get_string(info->data, path_key, &info->firmware[c].path); config_get_string(info->data, desc_key, &info->firmware[c].desc); } - } } @@ -136,10 +133,10 @@ core_info_list_t *core_info_list_new(const char *modules_path) if (core_info[i].data) { - unsigned count=0; + unsigned count = 0; config_get_string(core_info[i].data, "display_name", &core_info[i].display_name); - config_get_uint(core_info[i].data, "firmware_count", &count); - core_info[i].firmware_count=count; + config_get_uint(core_info[i].data, "firmware_count", &count); + core_info[i].firmware_count = count; if (config_get_string(core_info[i].data, "supported_extensions", &core_info[i].supported_extensions) && core_info[i].supported_extensions) core_info[i].supported_extensions_list = string_split(core_info[i].supported_extensions, "|"); @@ -151,9 +148,9 @@ core_info_list_t *core_info_list_new(const char *modules_path) if (config_get_string(core_info[i].data, "permissions", &core_info[i].permissions) && core_info[i].permissions) core_info[i].permissions_list = string_split(core_info[i].permissions, "|"); - if (config_get_string(core_info[i].data, "notes", &core_info[i].notes) && + if (config_get_string(core_info[i].data, "notes", &core_info[i].notes) && core_info[i].notes) - core_info[i].note_list = string_split(core_info[i].notes, "|"); + core_info[i].note_list = string_split(core_info[i].notes, "|"); } if (!core_info[i].display_name) @@ -188,10 +185,10 @@ void core_info_list_free(core_info_list_t *core_info_list) free(info->supported_extensions); free(info->authors); free(info->permissions); - free(info->notes); + free(info->notes); string_list_free(info->supported_extensions_list); string_list_free(info->authors_list); - string_list_free(info->note_list); + string_list_free(info->note_list); string_list_free(info->permissions_list); config_file_free(info->data); @@ -320,7 +317,7 @@ void core_info_list_get_supported_cores(core_info_list_t *core_info_list, const #ifdef HAVE_ZLIB && !core_info_does_support_any_file(core, list) #endif - ) + ) break; } @@ -369,13 +366,12 @@ void core_info_list_update_missing_firmware(core_info_list_t *core_info_list, for (i = 0; i < info->firmware_count; i++) { - if(info->firmware[i].path) - { - fill_pathname_join(path, systemdir, info->firmware[i].path, sizeof(path)); - info->firmware[i].missing = !path_file_exists(path); - } + if (info->firmware[i].path) + { + fill_pathname_join(path, systemdir, info->firmware[i].path, sizeof(path)); + info->firmware[i].missing = !path_file_exists(path); + } } - } void core_info_list_get_missing_firmware(core_info_list_t *core_info_list, diff --git a/frontend/menu/menu_common.c b/frontend/menu/menu_common.c index aa10b55e79..a87bbe1e20 100644 --- a/frontend/menu/menu_common.c +++ b/frontend/menu/menu_common.c @@ -974,7 +974,7 @@ static int menu_settings_iterate(void *data, unsigned action) || menu_type == RGUI_SETTINGS_NETPLAY_OPTIONS || menu_type == RGUI_SETTINGS_OPTIONS || menu_type == RGUI_SETTINGS_DRIVERS - || menu_type == RGUI_SETTINGS_CORE_INFO + || menu_type == RGUI_SETTINGS_CORE_INFO || menu_type == RGUI_SETTINGS_CORE_OPTIONS || menu_type == RGUI_SETTINGS_AUDIO_OPTIONS || menu_type == RGUI_SETTINGS_DISK_OPTIONS @@ -1910,7 +1910,7 @@ void menu_populate_entries(void *data, unsigned menu_type) file_list_push(rgui->selection_buf, "Crop Overscan (reload)", RGUI_SETTINGS_VIDEO_CROP_OVERSCAN, 0); file_list_push(rgui->selection_buf, "Estimated Monitor FPS", RGUI_SETTINGS_VIDEO_REFRESH_RATE_AUTO, 0); break; - case RGUI_SETTINGS_CORE_OPTIONS: + case RGUI_SETTINGS_CORE_OPTIONS: file_list_clear(rgui->selection_buf); if (g_extern.system.core_options) @@ -1926,54 +1926,49 @@ void menu_populate_entries(void *data, unsigned menu_type) file_list_push(rgui->selection_buf, "No options available.", RGUI_SETTINGS_CORE_OPTION_NONE, 0); break; case RGUI_SETTINGS_CORE_INFO: - - if(rgui->core_info_current.data) - { - - - file_list_clear(rgui->selection_buf); - snprintf(tmp, sizeof(tmp), "Core name: %s", rgui->core_info_current.display_name ? rgui->core_info_current.display_name : ""); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - snprintf(tmp, sizeof(tmp), "Authors: %s", rgui->core_info_current.authors ? rgui->core_info_current.authors : ""); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - snprintf(tmp, sizeof(tmp), "Permissions: %s", rgui->core_info_current.permissions ? rgui->core_info_current.permissions : ""); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - snprintf(tmp, sizeof(tmp), "Supported extensions: %s", rgui->core_info_current.supported_extensions ? rgui->core_info_current.supported_extensions : ""); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - - if(rgui->core_info_current.firmware_count>0) - { - - core_info_list_update_missing_firmware(rgui->core_info, rgui->core_info_current.path, g_settings.system_directory); - - file_list_push(rgui->selection_buf, "Required firmware:", RGUI_SETTINGS_CORE_INFO_NONE, 0); - for(i=0;icore_info_current.firmware_count;i++) - { - if(rgui->core_info_current.firmware[i].desc) - { - snprintf(tmp, sizeof(tmp), " Name: %s, %s", rgui->core_info_current.firmware[i].desc ? rgui->core_info_current.firmware[i].desc : "",rgui->core_info_current.firmware[i].missing ? "missing" : "present"); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - } - } - } - if(rgui->core_info_current.notes) - { - snprintf(tmp, sizeof(tmp), "Core notes: "); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + file_list_clear(rgui->selection_buf); + if (rgui->core_info_current.data) + { + snprintf(tmp, sizeof(tmp), "Core name: %s", rgui->core_info_current.display_name ? rgui->core_info_current.display_name : ""); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + snprintf(tmp, sizeof(tmp), "Authors: %s", rgui->core_info_current.authors ? rgui->core_info_current.authors : ""); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + snprintf(tmp, sizeof(tmp), "Permissions: %s", rgui->core_info_current.permissions ? rgui->core_info_current.permissions : ""); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + snprintf(tmp, sizeof(tmp), "Supported extensions: %s", rgui->core_info_current.supported_extensions ? rgui->core_info_current.supported_extensions : ""); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - for(i=0;icore_info_current.note_list->size;i++) - { - snprintf(tmp, sizeof(tmp), " %s", rgui->core_info_current.note_list->elems[i].data); - file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); - } - } - - } - else - { - file_list_clear(rgui->selection_buf); - file_list_push(rgui->selection_buf, "No information available.", RGUI_SETTINGS_CORE_OPTION_NONE, 0); - } + if (rgui->core_info_current.firmware_count > 0) + { + core_info_list_update_missing_firmware(rgui->core_info, rgui->core_info_current.path, g_settings.system_directory); + + file_list_push(rgui->selection_buf, "Required firmware:", RGUI_SETTINGS_CORE_INFO_NONE, 0); + for (i = 0; i < rgui->core_info_current.firmware_count; i++) + { + if (rgui->core_info_current.firmware[i].desc) + { + snprintf(tmp, sizeof(tmp), " Name: %s, %s", + rgui->core_info_current.firmware[i].desc ? rgui->core_info_current.firmware[i].desc : "", + rgui->core_info_current.firmware[i].missing ? "missing" : "present"); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + } + } + } + + if (rgui->core_info_current.notes) + { + snprintf(tmp, sizeof(tmp), "Core notes: "); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + + for (i = 0; i < rgui->core_info_current.note_list->size; i++) + { + snprintf(tmp, sizeof(tmp), " %s", rgui->core_info_current.note_list->elems[i].data); + file_list_push(rgui->selection_buf, tmp, RGUI_SETTINGS_CORE_INFO_NONE, 0); + } + } + } + else + file_list_push(rgui->selection_buf, "No information available.", RGUI_SETTINGS_CORE_OPTION_NONE, 0); break; case RGUI_SETTINGS_OPTIONS: file_list_clear(rgui->selection_buf); diff --git a/frontend/menu/menu_settings.c b/frontend/menu/menu_settings.c index 8e500795d8..601a8c569f 100644 --- a/frontend/menu/menu_settings.c +++ b/frontend/menu/menu_settings.c @@ -2066,6 +2066,7 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w, case RGUI_SETTINGS_OPEN_FILEBROWSER_DEFERRED_CORE: case RGUI_SETTINGS_OPEN_HISTORY: case RGUI_SETTINGS_CORE_OPTIONS: + case RGUI_SETTINGS_CORE_INFO: case RGUI_SETTINGS_CUSTOM_VIEWPORT: case RGUI_SETTINGS_TOGGLE_FULLSCREEN: case RGUI_SETTINGS_VIDEO_OPTIONS: