From 8a2cd64889b82b4d0ccc5d080de40fbf4dcb1df0 Mon Sep 17 00:00:00 2001 From: jdgleaver Date: Thu, 7 Mar 2019 16:54:46 +0000 Subject: [PATCH] Always use core display name when populating playlists --- core_info.c | 5 +++-- core_info.h | 3 ++- menu/cbs/menu_cbs_ok.c | 3 ++- tasks/task_content.c | 17 ++++++++++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/core_info.c b/core_info.c index bc09d86b3b..0f84ad9d15 100644 --- a/core_info.c +++ b/core_info.c @@ -800,7 +800,8 @@ void core_info_list_get_supported_cores(core_info_list_t *core_info_list, void core_info_get_name(const char *path, char *s, size_t len, const char *path_info, const char *dir_cores, - const char *exts, bool dir_show_hidden_files) + const char *exts, bool dir_show_hidden_files, + bool get_display_name) { size_t i; const char *path_basedir = !string_is_empty(path_info) ? @@ -842,7 +843,7 @@ void core_info_get_name(const char *path, char *s, size_t len, continue; } - if (config_get_string(conf, "corename", + if (config_get_string(conf, get_display_name ? "display_name" : "corename", &new_core_name)) { strlcpy(s, new_core_name, len); diff --git a/core_info.h b/core_info.h index 839f5bfe28..530405c719 100644 --- a/core_info.h +++ b/core_info.h @@ -101,7 +101,8 @@ bool core_info_get_display_name(const char *path, char *s, size_t len); void core_info_get_name(const char *path, char *s, size_t len, const char *path_info, const char *dir_cores, - const char *exts, bool show_hidden_files); + const char *exts, bool show_hidden_files, + bool get_display_name); core_info_t *core_info_get(core_info_list_t *list, size_t i); diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 9eccfdba6e..5577e0b55e 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -2672,7 +2672,8 @@ static int action_ok_core_deferred_set(const char *new_core_path, settings->paths.path_libretro_info, settings->paths.directory_libretro, ext_name, - settings->bools.show_hidden_files); + settings->bools.show_hidden_files, + true); command_playlist_update_write( NULL, menu->scratchpad.unsigned_var, diff --git a/tasks/task_content.c b/tasks/task_content.c index da0bd0d500..92ab0ef396 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -1041,9 +1041,24 @@ static bool task_load_content(content_ctx_info_t *content_info, #endif break; default: + { + core_info_t *core_info = NULL; + + /* Set core path */ core_path = path_get(RARCH_PATH_CORE); - core_name = info->library_name; + + /* Set core display name + * (As far as I can tell, core_info_get_current_core() + * should always provide a valid pointer here...) */ + core_info_get_current_core(&core_info); + if (core_info) + core_name = core_info->display_name; + + if (string_is_empty(core_name)) + core_name = info->library_name; + break; + } } if (launched_from_cli)