This commit is contained in:
twinaphex 2020-02-21 04:01:21 +01:00
parent 23d521935f
commit 47dc7e3db8

View File

@ -1107,6 +1107,8 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
database_info_list_t *db_info = NULL; database_info_list_t *db_info = NULL;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
bool show_advanced_settings = settings->bools.menu_show_advanced_settings; bool show_advanced_settings = settings->bools.menu_show_advanced_settings;
const char *dir_playlist = settings->paths.directory_playlist;
const char *menu_driver = settings->arrays.menu_driver;
path_playlist[0] = path_base[0] = query[0] = '\0'; path_playlist[0] = path_base[0] = query[0] = '\0';
@ -1124,8 +1126,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
strlcat(path_base, ".lpl", sizeof(path_base)); strlcat(path_base, ".lpl", sizeof(path_base));
fill_pathname_join(path_playlist, fill_pathname_join(path_playlist, dir_playlist, path_base,
settings->paths.directory_playlist, path_base,
sizeof(path_playlist)); sizeof(path_playlist));
playlist = playlist_init(path_playlist, COLLECTION_SIZE); playlist = playlist_init(path_playlist, COLLECTION_SIZE);
@ -1154,8 +1155,8 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
* RGUI and GLUI, since this functionality is handled elsewhere * RGUI and GLUI, since this functionality is handled elsewhere
* (and doing it here creates harmful conflicts) */ * (and doing it here creates harmful conflicts) */
if ((i == 0) && if ((i == 0) &&
!string_is_equal(settings->arrays.menu_driver, "rgui") && !string_is_equal(menu_driver, "rgui") &&
!string_is_equal(settings->arrays.menu_driver, "glui")) !string_is_equal(menu_driver, "glui"))
{ {
if (!string_is_empty(db_info_entry->name)) if (!string_is_empty(db_info_entry->name))
strlcpy(thumbnail_content, db_info_entry->name, strlcpy(thumbnail_content, db_info_entry->name,
@ -1233,6 +1234,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
MENU_ENUM_LABEL_RDB_ENTRY_NAME, MENU_ENUM_LABEL_RDB_ENTRY_NAME,
0, 0, 0); 0, 0, 0);
} }
if (db_info_entry->description) if (db_info_entry->description)
{ {
fill_pathname_join_concat_noext(tmp, fill_pathname_join_concat_noext(tmp,
@ -1245,6 +1247,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
MENU_ENUM_LABEL_RDB_ENTRY_DESCRIPTION, MENU_ENUM_LABEL_RDB_ENTRY_DESCRIPTION,
0, 0, 0); 0, 0, 0);
} }
if (db_info_entry->genre) if (db_info_entry->genre)
{ {
fill_pathname_join_concat_noext(tmp, fill_pathname_join_concat_noext(tmp,
@ -1257,6 +1260,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
MENU_ENUM_LABEL_RDB_ENTRY_GENRE, MENU_ENUM_LABEL_RDB_ENTRY_GENRE,
0, 0, 0); 0, 0, 0);
} }
if (db_info_entry->publisher) if (db_info_entry->publisher)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1293,6 +1297,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->origin, info->path, info->list) == -1) db_info_entry->origin, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->franchise) if (db_info_entry->franchise)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1302,6 +1307,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->franchise, info->path, info->list) == -1) db_info_entry->franchise, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->max_users) if (db_info_entry->max_users)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1312,6 +1318,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->tgdb_rating) if (db_info_entry->tgdb_rating)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1322,6 +1329,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->famitsu_magazine_rating) if (db_info_entry->famitsu_magazine_rating)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1332,6 +1340,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->edge_magazine_review) if (db_info_entry->edge_magazine_review)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1341,6 +1350,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->edge_magazine_review, info->path, info->list) == -1) db_info_entry->edge_magazine_review, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->edge_magazine_rating) if (db_info_entry->edge_magazine_rating)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1351,6 +1361,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->edge_magazine_issue) if (db_info_entry->edge_magazine_issue)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1361,6 +1372,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->releasemonth) if (db_info_entry->releasemonth)
{ {
if (create_string_list_rdb_entry_int( if (create_string_list_rdb_entry_int(
@ -1382,6 +1394,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
info->path, info->list) == -1) info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->bbfc_rating) if (db_info_entry->bbfc_rating)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1391,6 +1404,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->bbfc_rating, info->path, info->list) == -1) db_info_entry->bbfc_rating, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->esrb_rating) if (db_info_entry->esrb_rating)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1400,6 +1414,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->esrb_rating, info->path, info->list) == -1) db_info_entry->esrb_rating, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->elspa_rating) if (db_info_entry->elspa_rating)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1409,6 +1424,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->elspa_rating, info->path, info->list) == -1) db_info_entry->elspa_rating, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->pegi_rating) if (db_info_entry->pegi_rating)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1418,6 +1434,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->pegi_rating, info->path, info->list) == -1) db_info_entry->pegi_rating, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->enhancement_hw) if (db_info_entry->enhancement_hw)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1427,6 +1444,7 @@ static int menu_displaylist_parse_database_entry(menu_handle_t *menu,
db_info_entry->enhancement_hw, info->path, info->list) == -1) db_info_entry->enhancement_hw, info->path, info->list) == -1)
goto error; goto error;
} }
if (db_info_entry->cero_rating) if (db_info_entry->cero_rating)
{ {
if (create_string_list_rdb_entry_string( if (create_string_list_rdb_entry_string(
@ -1700,6 +1718,8 @@ static void menu_displaylist_set_new_playlist(
unsigned playlist_size = COLLECTION_SIZE; unsigned playlist_size = COLLECTION_SIZE;
const char *playlist_file_name = path_basename(path); const char *playlist_file_name = path_basename(path);
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
int content_favorites_size = settings->ints.content_favorites_size;
unsigned content_history_size = settings->uints.content_history_size;
menu->db_playlist_file[0] = '\0'; menu->db_playlist_file[0] = '\0';
@ -1713,10 +1733,10 @@ static void menu_displaylist_set_new_playlist(
string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_MUSIC_HISTORY)) || string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_MUSIC_HISTORY)) ||
string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_VIDEO_HISTORY)) || string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_VIDEO_HISTORY)) ||
string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_IMAGE_HISTORY))) string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_IMAGE_HISTORY)))
playlist_size = settings->uints.content_history_size; playlist_size = content_history_size;
else if (string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_FAVORITES))) else if (string_is_equal(playlist_file_name, file_path_str(FILE_PATH_CONTENT_FAVORITES)))
if (settings->ints.content_favorites_size >= 0) if (content_favorites_size >= 0)
playlist_size = (unsigned)settings->ints.content_favorites_size; playlist_size = (unsigned)content_favorites_size;
} }
if (playlist_init_cached(path, playlist_size)) if (playlist_init_cached(path, playlist_size))
@ -1756,15 +1776,13 @@ static int menu_displaylist_parse_horizontal_list(
{ {
char path_playlist[PATH_MAX_LENGTH]; char path_playlist[PATH_MAX_LENGTH];
char lpl_basename[PATH_MAX_LENGTH]; char lpl_basename[PATH_MAX_LENGTH];
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
const char *dir_playlist = settings->paths.directory_playlist;
lpl_basename[0] = '\0'; lpl_basename[0] = '\0';
path_playlist[0] = '\0'; path_playlist[0] = '\0';
fill_pathname_join( fill_pathname_join(path_playlist, dir_playlist, item->path,
path_playlist,
settings->paths.directory_playlist,
item->path,
sizeof(path_playlist)); sizeof(path_playlist));
menu_displaylist_set_new_playlist(menu, path_playlist); menu_displaylist_set_new_playlist(menu, path_playlist);
@ -1798,11 +1816,13 @@ static int menu_displaylist_parse_load_content_settings(
if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
{ {
#ifdef HAVE_LAKKA #ifdef HAVE_LAKKA
bool show_advanced_settings = settings->bools.menu_show_advanced_settings; bool show_advanced_settings = settings->bools.menu_show_advanced_settings;
#endif #endif
rarch_system_info_t *system = runloop_get_system_info(); bool quickmenu_show_resume_content = settings->bools.quick_menu_show_resume_content;
bool quickmenu_show_restart_content = settings->bools.quick_menu_show_restart_content;
rarch_system_info_t *system = runloop_get_system_info();
if (settings->bools.quick_menu_show_resume_content) if (quickmenu_show_resume_content)
if (menu_entries_append_enum(list, if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESUME_CONTENT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESUME_CONTENT),
msg_hash_to_str(MENU_ENUM_LABEL_RESUME_CONTENT), msg_hash_to_str(MENU_ENUM_LABEL_RESUME_CONTENT),
@ -1810,7 +1830,7 @@ static int menu_displaylist_parse_load_content_settings(
MENU_SETTING_ACTION_RUN, 0, 0)) MENU_SETTING_ACTION_RUN, 0, 0))
count++; count++;
if (settings->bools.quick_menu_show_restart_content) if (quickmenu_show_restart_content)
if (menu_entries_append_enum(list, if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESTART_CONTENT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESTART_CONTENT),
msg_hash_to_str(MENU_ENUM_LABEL_RESTART_CONTENT), msg_hash_to_str(MENU_ENUM_LABEL_RESTART_CONTENT),
@ -2151,40 +2171,45 @@ static int menu_displaylist_parse_horizontal_content_actions(
{ {
bool remove_entry_enabled = false; bool remove_entry_enabled = false;
if (settings->uints.playlist_entry_remove_enable == PLAYLIST_ENTRY_REMOVE_ENABLE_ALL) switch (settings->uints.playlist_entry_remove_enable)
remove_entry_enabled = true;
else if (settings->uints.playlist_entry_remove_enable == PLAYLIST_ENTRY_REMOVE_ENABLE_HIST_FAV)
{ {
char system[PATH_MAX_LENGTH]; case PLAYLIST_ENTRY_REMOVE_ENABLE_ALL:
system[0] = '\0'; remove_entry_enabled = true;
break;
menu_driver_get_thumbnail_system(system, sizeof(system)); case PLAYLIST_ENTRY_REMOVE_ENABLE_HIST_FAV:
if (!string_is_empty(system))
remove_entry_enabled = string_is_equal(system, "history") ||
string_is_equal(system, "favorites") ||
string_is_equal(system, "images_history") ||
string_is_equal(system, "music_history") ||
string_is_equal(system, "video_history");
/* An annoyance: if the user navigates to the information menu,
* then to the database entry, the thumbnail system will be changed.
* This breaks the above 'remove_entry_enabled' check for the
* history and favorites playlists. We therefore have to check
* the playlist file name as well... */
if (!remove_entry_enabled && settings->bools.quick_menu_show_information)
{
const char *playlist_path = playlist_get_conf_path(playlist);
if (!string_is_empty(playlist_path))
{ {
const char *playlist_file = path_basename(playlist_path); char system[PATH_MAX_LENGTH];
system[0] = '\0';
if (!string_is_empty(playlist_file)) menu_driver_get_thumbnail_system(system, sizeof(system));
remove_entry_enabled = string_is_equal(playlist_file, file_path_str(FILE_PATH_CONTENT_HISTORY)) ||
string_is_equal(playlist_file, file_path_str(FILE_PATH_CONTENT_FAVORITES)); if (!string_is_empty(system))
remove_entry_enabled = string_is_equal(system, "history") ||
string_is_equal(system, "favorites") ||
string_is_equal(system, "images_history") ||
string_is_equal(system, "music_history") ||
string_is_equal(system, "video_history");
/* An annoyance: if the user navigates to the information menu,
* then to the database entry, the thumbnail system will be changed.
* This breaks the above 'remove_entry_enabled' check for the
* history and favorites playlists. We therefore have to check
* the playlist file name as well... */
if (!remove_entry_enabled && settings->bools.quick_menu_show_information)
{
const char *playlist_path = playlist_get_conf_path(playlist);
if (!string_is_empty(playlist_path))
{
const char *playlist_file = path_basename(playlist_path);
if (!string_is_empty(playlist_file))
remove_entry_enabled = string_is_equal(playlist_file, file_path_str(FILE_PATH_CONTENT_HISTORY)) ||
string_is_equal(playlist_file, file_path_str(FILE_PATH_CONTENT_FAVORITES));
}
}
} }
} break;
} }
if (remove_entry_enabled) if (remove_entry_enabled)
@ -2206,7 +2231,8 @@ static int menu_displaylist_parse_horizontal_content_actions(
MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST, FILE_TYPE_PLAYLIST_ENTRY, 0, 0); MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST, FILE_TYPE_PLAYLIST_ENTRY, 0, 0);
} }
if (settings->bools.quick_menu_show_set_core_association && !settings->bools.kiosk_mode_enable) if ( settings->bools.quick_menu_show_set_core_association &&
!settings->bools.kiosk_mode_enable)
{ {
menu_entries_append_enum(info->list, menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SET_CORE_ASSOCIATION),
@ -2214,7 +2240,9 @@ static int menu_displaylist_parse_horizontal_content_actions(
MENU_ENUM_LABEL_SET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0); MENU_ENUM_LABEL_SET_CORE_ASSOCIATION, FILE_TYPE_PLAYLIST_ENTRY, 0, 0);
} }
if (settings->bools.quick_menu_show_reset_core_association && !settings->bools.kiosk_mode_enable) if (
settings->bools.quick_menu_show_reset_core_association &&
!settings->bools.kiosk_mode_enable)
{ {
menu_entries_append_enum(info->list, menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_CORE_ASSOCIATION), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_CORE_ASSOCIATION),
@ -2232,7 +2260,9 @@ static int menu_displaylist_parse_horizontal_content_actions(
} }
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
if (settings->bools.quick_menu_show_download_thumbnails && !settings->bools.kiosk_mode_enable) if (
settings->bools.quick_menu_show_download_thumbnails &&
!settings->bools.kiosk_mode_enable)
{ {
bool download_enabled = true; bool download_enabled = true;
@ -2382,6 +2412,7 @@ static unsigned menu_displaylist_parse_playlists(
unsigned count = 0; unsigned count = 0;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
const char *path = info->path; const char *path = info->path;
bool show_hidden_files = settings->bools.show_hidden_files;
if (string_is_empty(path)) if (string_is_empty(path))
{ {
@ -2391,7 +2422,8 @@ static unsigned menu_displaylist_parse_playlists(
count++; count++;
else else
if (menu_entries_append_enum(info->list, "/", "", if (menu_entries_append_enum(info->list, "/", "",
MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, FILE_TYPE_DIRECTORY, 0, 0)) MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR,
FILE_TYPE_DIRECTORY, 0, 0))
count++; count++;
return count; return count;
} }
@ -2457,7 +2489,7 @@ static unsigned menu_displaylist_parse_playlists(
} }
str_list = dir_list_new(path, NULL, true, str_list = dir_list_new(path, NULL, true,
settings->bools.show_hidden_files, true, false); show_hidden_files, true, false);
if (!str_list) if (!str_list)
return count; return count;
@ -2532,7 +2564,8 @@ static unsigned menu_displaylist_parse_cores(
unsigned items_found = 0; unsigned items_found = 0;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
const char *path = info->path; const char *path = info->path;
bool ok; bool ok = false;
bool show_hidden_files = settings->bools.show_hidden_files;
if (string_is_empty(path)) if (string_is_empty(path))
{ {
@ -2544,8 +2577,8 @@ static unsigned menu_displaylist_parse_cores(
} }
str_list = string_list_new(); str_list = string_list_new();
ok = dir_list_append(str_list, path, info->exts, ok = dir_list_append(str_list, path, info->exts,
true, settings->bools.show_hidden_files, false, false); true, show_hidden_files, false, false);
#if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP #if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
/* UWP: browse the optional packages for additional cores */ /* UWP: browse the optional packages for additional cores */
@ -2553,7 +2586,7 @@ static unsigned menu_displaylist_parse_cores(
uwp_fill_installed_core_packages(core_packages); uwp_fill_installed_core_packages(core_packages);
for (i = 0; i < core_packages->size; i++) for (i = 0; i < core_packages->size; i++)
dir_list_append(str_list, core_packages->elems[i].data, info->exts, dir_list_append(str_list, core_packages->elems[i].data, info->exts,
true, settings->bools.show_hidden_files, true, false); true, show_hidden_files, true, false);
string_list_free(core_packages); string_list_free(core_packages);
#else #else
@ -2729,9 +2762,9 @@ static unsigned menu_displaylist_parse_cores(
static unsigned menu_displaylist_parse_playlist_manager_list( static unsigned menu_displaylist_parse_playlist_manager_list(
menu_displaylist_info_t *info) menu_displaylist_info_t *info)
{ {
settings_t *settings = config_get_ptr();
unsigned count = 0; unsigned count = 0;
struct string_list *str_list = NULL; struct string_list *str_list = NULL;
settings_t *settings = config_get_ptr();
if (!settings) if (!settings)
return count; return count;
@ -3955,6 +3988,7 @@ static int menu_displaylist_parse_disc_info(file_list_t *info_list,
static unsigned menu_displaylist_populate_subsystem( static unsigned menu_displaylist_populate_subsystem(
const struct retro_subsystem_info* subsystem, file_list_t *list) const struct retro_subsystem_info* subsystem, file_list_t *list)
{ {
char star_char[16];
unsigned count = 0; unsigned count = 0;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
/* Note: Create this string here explicitly (rather than /* Note: Create this string here explicitly (rather than
@ -3968,15 +4002,15 @@ static unsigned menu_displaylist_populate_subsystem(
* UCN equivalent: "\u2605" */ * UCN equivalent: "\u2605" */
static const char utf8_star_char[] = "\xE2\x98\x85"; static const char utf8_star_char[] = "\xE2\x98\x85";
#endif #endif
char star_char[16]; unsigned i = 0;
unsigned i = 0; int n = 0;
int n = 0;
bool is_rgui = string_is_equal(settings->arrays.menu_driver, "rgui"); bool is_rgui = string_is_equal(settings->arrays.menu_driver, "rgui");
/* Select appropriate 'star' marker for subsystem menu entries /* Select appropriate 'star' marker for subsystem menu entries
* (i.e. RGUI does not support unicode, so use a 'standard' * (i.e. RGUI does not support unicode, so use a 'standard'
* character fallback) */ * character fallback) */
snprintf(star_char, sizeof(star_char), "%s", is_rgui ? "*" : utf8_star_char); snprintf(star_char, sizeof(star_char),
"%s", is_rgui ? "*" : utf8_star_char);
if (menu_displaylist_has_subsystems()) if (menu_displaylist_has_subsystems())
{ {