From 80ac9f511cf6e0666193e49f155024f0e12d9ef8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 16:20:43 +0100 Subject: [PATCH] Combine Load Content and Load Content (Detect Core) --- intl/msg_hash_chs.c | 2 -- intl/msg_hash_de.c | 18 -------------- intl/msg_hash_de.h | 4 +-- intl/msg_hash_eo.h | 4 +-- intl/msg_hash_es.c | 4 --- intl/msg_hash_fr.h | 4 +-- intl/msg_hash_it.c | 2 -- intl/msg_hash_ja.h | 2 -- intl/msg_hash_lbl.h | 2 -- intl/msg_hash_nl.h | 4 +-- intl/msg_hash_pl.c | 2 -- intl/msg_hash_pt.c | 22 ----------------- intl/msg_hash_ru.h | 4 +-- intl/msg_hash_us.h | 4 +-- intl/msg_hash_vn.c | 2 -- menu/cbs/menu_cbs_deferred_push.c | 9 ++++++- menu/cbs/menu_cbs_get_value.c | 2 +- menu/cbs/menu_cbs_ok.c | 5 ++-- menu/cbs/menu_cbs_title.c | 2 +- menu/drivers/materialui.c | 14 ++++------- menu/drivers/xmb.c | 2 ++ menu/menu_displaylist.c | 41 ++++++++++++++++++++++--------- msg_hash.h | 4 +-- 23 files changed, 58 insertions(+), 101 deletions(-) diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c index b709742a9e..3071107e6b 100644 --- a/intl/msg_hash_chs.c +++ b/intl/msg_hash_chs.c @@ -2452,8 +2452,6 @@ const char *msg_hash_to_str_chs(enum msg_hash_enums msg) return "线性"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "使用核心加载压缩包"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "选择文件"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "加载最近的游戏内容"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_de.c b/intl/msg_hash_de.c index f733340ef1..7d5127f881 100644 --- a/intl/msg_hash_de.c +++ b/intl/msg_hash_de.c @@ -103,24 +103,6 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) break; } break; - case MENU_ENUM_LABEL_LOAD_CONTENT: - snprintf(s, len, - "Lade Content. \n" - "Suche nach Content. \n" - " \n" - "Um Content zu laden benötigst du den passenden \n" - "Libretro-Core und die Content-Datei. \n" - " \n" - "Um einzustellen, welcher Ordner standardmäßig \n" - "geöffnet wird, um nach Content zu suchen, solltest \n" - "du das Content-Verzeichnis setzen. Wenn es nicht \n" - "gesetzt ist, wird es im Root-Verzeichen starten. \n" - " \n" - "Der Browser wird nur Dateierweiterungen des \n" - "zuletzt geladenen Cores zeigen und diesen Core \n" - "nutzen, wenn Content geladen wird." - ); - break; case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: snprintf(s, len, "Lade Content aus dem Verlauf. \n" diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 09fb655303..0f56a79ab8 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -147,7 +147,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Von der Playlist löschen") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Lade Content (Core erkennen)") /* FIXME */ + "Lade Content") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -280,8 +280,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Lade Archiv") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Lade Content") /* FIXME */ MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Lade Content (Verlauf)") /* FIXME/UPDATE */ MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 9fd9252a77..7d59beaea6 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 6b9d709e88..597ec252f8 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -1372,8 +1372,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Error:"; case MSG_FAILED_TO_APPLY_SHADER: return "Error al aplicar shader."; - case MSG_FAILED_TO_LOAD_CONTENT: - return "Error al cargar el contenido"; case MSG_FAILED_TO_LOAD_MOVIE_FILE: return "Error al cargar el archivo de película"; case MSG_FAILED_TO_LOAD_OVERLAY: @@ -1794,8 +1792,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Nivel de registro del núcleo"; case MENU_ENUM_LABEL_VALUE_LINEAR: return "Lineal"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Seleccionar archivo"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Cargar archivos recientes"; case MENU_ENUM_LABEL_VALUE_LOAD_STATE: diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 8b27411d2f..72ae42d881 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -481,7 +481,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Via les fichiers (détecter le coeur)") + "Via les fichiers") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -812,8 +812,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linéaire") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Charger l'archive") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Via les fichiers") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Récemment ouvert") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c index c2159671d6..ea90c6ac77 100644 --- a/intl/msg_hash_it.c +++ b/intl/msg_hash_it.c @@ -1729,8 +1729,6 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg) return "Nessun oggetto."; case MENU_ENUM_LABEL_VALUE_CORE_LIST: return "Carica Core"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Seleziona contenuto"; case MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT: return "Chiudi"; case MENU_ENUM_LABEL_VALUE_MANAGEMENT: diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index e583fe216d..1661a6df37 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -834,8 +834,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "コアでアーカイブをロード") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "ファイル選択") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "最近のものをロード") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 77618556b5..b3127be120 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -517,8 +517,6 @@ MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE, "load_archive") MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE_DETECT_CORE, "load_archive_detect_core") -MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT, - "load_content_default") MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY, "load_recent") MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 9229711edc..121122af4d 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Verwijderen") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Selecteer Bestand En Detecteer Core") + "Selecteer Bestand") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Laad Archief Met Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Selecteer Bestand") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Recentelijk gebruikt") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_pl.c b/intl/msg_hash_pl.c index c32a710bd4..60da28dd16 100644 --- a/intl/msg_hash_pl.c +++ b/intl/msg_hash_pl.c @@ -312,8 +312,6 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg) return "Liniowe"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Wczytaj archiwum"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Wybierz plik"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Wczytaj z ostatnio używanych"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_pt.c b/intl/msg_hash_pt.c index dcf67ab273..d3d895f85f 100644 --- a/intl/msg_hash_pt.c +++ b/intl/msg_hash_pt.c @@ -90,26 +90,6 @@ int menu_hash_get_help_pt_enum(enum msg_hash_enums msg, char *s, size_t len) break; } break; - case MENU_ENUM_LABEL_LOAD_CONTENT: - snprintf(s, len, - "Carregar Conteúdo. \n" - "Busca conteúdo. \n" - " \n" - "Para carregar conteúdo, você precisa de \n" - "um core libretro para usar, e um arquivo \n" - "de conteúdo. \n" - " \n" - "Para controlar onde o menu começa a \n" - "buscar conteúdo, defina o Diretório \n" - "de Navegação. Se não estiver definido, \n" - "o Retroarch começará no diretório raiz. \n" - " \n" - "O navegador vai filtrar pelas extensões \n" - "do mais recente core definido em 'Core', \n" - "e o usará quando o conteúdo estiver \n" - "carregado." - ); - break; case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: snprintf(s, len, "Carregando conteúdo do histórico. \n" @@ -1246,8 +1226,6 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg) return "Linear"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Carregar Arquivo"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Selecionar Arquivo"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Selecionar do Histórico"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 27bdd8a455..a98010cde3 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index bc7e9dd724..f5ec34fa09 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -489,7 +489,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -826,8 +826,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index 8766639869..12daf54ef0 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -2497,8 +2497,6 @@ const char *msg_hash_to_str_vn(enum msg_hash_enums msg) return "Linear"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Tải Archive With Core"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Select File"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Tải Recent"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 299108bfec..e7e397d4f1 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -533,12 +533,13 @@ static int general_push(menu_displaylist_info_t *info, strlcpy(info->exts, list->all_ext, sizeof(info->exts)); else if (system_menu->valid_extensions) { - if (*system_menu->valid_extensions) + if (!string_is_empty(system_menu->valid_extensions)) strlcpy(info->exts, system_menu->valid_extensions, sizeof(info->exts)); } else strlcpy(info->exts, system->valid_extensions, sizeof(info->exts)); + break; case PUSH_ARCHIVE_OPEN: if (system_menu->valid_extensions) @@ -569,6 +570,12 @@ static int general_push(menu_displaylist_info_t *info, case PUSH_DETECT_CORE_LIST: if (!string_is_empty(list->all_ext)) strlcpy(info->exts, list->all_ext, sizeof(info->exts)); + else if (system_menu->valid_extensions) + { + if (!string_is_empty(system_menu->valid_extensions)) + strlcpy(info->exts, system_menu->valid_extensions, + sizeof(info->exts)); + } break; } diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index eb56c8eb51..361d88808b 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -1704,7 +1704,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: case MENU_ENUM_LABEL_DETECT_CORE_LIST: - case MENU_ENUM_LABEL_LOAD_CONTENT: case MENU_ENUM_LABEL_CORE_OPTIONS: case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS: case MENU_ENUM_LABEL_SHADER_OPTIONS: @@ -1778,6 +1777,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_type( menu_action_setting_disp_set_label_core_option_create); break; case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_menu_file_core); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 314598f6fb..fa27e2ffaa 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -3789,7 +3789,6 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, BIND_ACTION_OK(cbs, action_ok_scan_directory_list); break; case MENU_ENUM_LABEL_SCAN_FILE: - case MENU_ENUM_LABEL_LOAD_CONTENT: case MENU_ENUM_LABEL_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; @@ -3994,7 +3993,6 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, break; case MENU_LABEL_SCAN_FILE: case MENU_LABEL_SCAN_DIRECTORY: - case MENU_LABEL_LOAD_CONTENT: case MENU_LABEL_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; @@ -4306,6 +4304,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, /* TODO/FIXME - handle scan case */ BIND_ACTION_OK(cbs, action_ok_file_load_imageviewer); break; + case FILE_TYPE_DIRECT_LOAD: + BIND_ACTION_OK(cbs, action_ok_file_load); + break; case MENU_SETTINGS: case MENU_SETTING_GROUP: case MENU_SETTING_SUBGROUP: diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 79f0d22f8d..67bc323dbb 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -229,7 +229,7 @@ default_title_generic_macro(action_get_title_list_rdb_entry_database_info,MENU_E static int action_get_title_default(const char *path, const char *label, unsigned menu_type, char *s, size_t len) { - snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), path); + snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), path); return 0; } diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 447d294615..888b7e50b7 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -664,6 +664,7 @@ static void mui_render_label_value(mui_handle_t *mui, case FILE_TYPE_COMPRESSED: case FILE_TYPE_MORE: case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: case FILE_TYPE_RDB: case FILE_TYPE_CURSOR: case FILE_TYPE_PLAIN: @@ -1673,21 +1674,16 @@ static int mui_list_push(void *data, void *userdata, { case DISPLAYLIST_LOAD_CONTENT_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); + menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT), - MENU_ENUM_LABEL_LOAD_CONTENT, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + MENU_ENUM_LABEL_DETECT_CORE_LIST, MENU_SETTING_ACTION, 0, 0); core_info_get_list(&list); if (core_info_list_num_info_files(list)) { - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, - MENU_SETTING_ACTION, 0, 0); - menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST), msg_hash_to_str(MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST), diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 7c12d1bc2e..d519e75a0d 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1908,6 +1908,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case FILE_TYPE_MOVIE: return xmb->textures.list[XMB_TEXTURE_MOVIE]; case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: return xmb->textures.list[XMB_TEXTURE_CORE]; case FILE_TYPE_RDB: return xmb->textures.list[XMB_TEXTURE_RDB]; @@ -2126,6 +2127,7 @@ static void xmb_draw_items(xmb_handle_t *xmb, case FILE_TYPE_COMPRESSED: case FILE_TYPE_MORE: case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: case FILE_TYPE_RDB: case FILE_TYPE_CURSOR: case FILE_TYPE_PLAIN: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 1868c1eae3..55eb4f58fb 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5536,19 +5536,13 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) break; case DISPLAYLIST_LOAD_CONTENT_LIST: menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT), - MENU_ENUM_LABEL_LOAD_CONTENT, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + MENU_ENUM_LABEL_DETECT_CORE_LIST, MENU_SETTING_ACTION, 0, 0); if (core_info_list_num_info_files(list)) { - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, - MENU_SETTING_ACTION, 0, 0); - menu_entries_append_enum(info->list, msg_hash_to_str( MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST), @@ -5906,7 +5900,30 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) (void*)menu->deferred_path, &cores_names_len, &cores_names_size); - if (cores_names_size == 0) + if (!path_is_empty(RARCH_PATH_CORE)) + { + const char *core_name = NULL; + struct retro_system_info *system = NULL; + + menu_entries_append_enum(info->list, + path_get(RARCH_PATH_CORE), + path_get(RARCH_PATH_CORE), + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + FILE_TYPE_DIRECT_LOAD, + 0, + 0); + + menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET, + &system); + + if (system) + core_name = system->library_name; + + if (!string_is_empty(core_name)) + menu_entries_set_alt_at_offset(info->list, 0, + core_name); + } + else if (cores_names_size == 0) { menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE), @@ -5915,7 +5932,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) 0, 0, 0); info->download_core = true; } - else + + if (cores_names_size != 0) { struct string_list *cores_paths = string_list_new_special(STRING_LIST_SUPPORTED_CORES_PATHS, @@ -5947,6 +5965,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) } string_list_free(cores_names); + } break; case DISPLAYLIST_CORE_INFO: diff --git a/msg_hash.h b/msg_hash.h index 777a62f85d..4e3b79348d 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -125,6 +125,8 @@ enum msg_file_type FILE_TYPE_ISO, FILE_TYPE_LUTRO, + FILE_TYPE_DIRECT_LOAD, + FILE_TYPE_LAST }; @@ -1169,7 +1171,6 @@ enum msg_hash_enums MENU_LABEL(DETECT_CORE_LIST_OK), MENU_LABEL(DETECT_CORE_LIST), MENU_LABEL(START_CORE), - MENU_LABEL(LOAD_CONTENT), MENU_LABEL(CORE_UPDATER_LIST), MENU_LABEL(CORE_UPDATER_AUTO_EXTRACT_ARCHIVE), MENU_LABEL(CORE_UPDATER_BUILDBOT_URL), @@ -1749,7 +1750,6 @@ enum msg_hash_enums #define MENU_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING 0xd44d395cU /* Main menu */ -#define MENU_LABEL_LOAD_CONTENT 0x828943c3U #define MENU_LABEL_LOAD_CONTENT_LIST 0x5745de1fU #define MENU_LABEL_LOAD_CONTENT_HISTORY 0xfe1d79e5U #define MENU_LABEL_ADD_CONTENT_LIST 0x046f4668U