Menu icon improvements (#14679)

This commit is contained in:
sonninnos 2022-11-27 20:19:55 +02:00 committed by GitHub
parent bf456b7fe1
commit d03b77d4cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 408 additions and 195 deletions

View File

@ -3642,6 +3642,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES, MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
"video_max_swapchain_images" "video_max_swapchain_images"
) )
MSG_HASH(
MENU_ENUM_LABEL_VIDEO_WAITABLE_SWAPCHAINS,
"video_waitable_swapchains"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VIDEO_MAX_FRAME_LATENCY, MENU_ENUM_LABEL_VIDEO_MAX_FRAME_LATENCY,
"video_max_frame_latency" "video_max_frame_latency"
@ -4430,19 +4434,19 @@ MSG_HASH(
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING, MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING,
"quick_menu_show_start_recording" "quick_menu_start_recording"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING, MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING,
"quick_menu_show_start_streaming" "quick_menu_start_streaming"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING, MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING,
"quick_menu_show_stop_recording" "quick_menu_stop_recording"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING, MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING,
"quick_menu_show_stop_streaming" "quick_menu_stop_streaming"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT, MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT,

View File

@ -8603,8 +8603,7 @@ static void materialui_populate_entries(
/* Check whether this is the core updater menu /* Check whether this is the core updater menu
* (this requires special handling when long * (this requires special handling when long
* pressing an entry) */ * pressing an entry) */
if (string_is_equal(label, if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_UPDATER_LIST)))
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_UPDATER_LIST)))
mui->flags |= MUI_FLAG_IS_CORE_UPDATER_LIST; mui->flags |= MUI_FLAG_IS_CORE_UPDATER_LIST;
else else
mui->flags &= ~(MUI_FLAG_IS_CORE_UPDATER_LIST); mui->flags &= ~(MUI_FLAG_IS_CORE_UPDATER_LIST);
@ -8619,9 +8618,8 @@ static void materialui_populate_entries(
| MUI_FLAG_IS_DROPDOWN_LIST); | MUI_FLAG_IS_DROPDOWN_LIST);
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST)) || if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY)) ||
string_is_equal(label, string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST)))
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST)))
mui->flags |= MUI_FLAG_IS_PLAYLIST; mui->flags |= MUI_FLAG_IS_PLAYLIST;
else else
{ {
@ -8630,39 +8628,37 @@ msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST)))
* as the 'label' when navigating directories after * as the 'label' when navigating directories after
* selecting load content */ * selecting load content */
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_DIRECTORY)) || if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_DIRECTORY)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_FILE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_FILE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_IMAGES_LIST)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_IMAGES_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MUSIC_LIST)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MUSIC_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT_LIST)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PRESET)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PRESET)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PASS)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PASS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_FILE_LOAD)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_FILE_LOAD)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_OVERLAY)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_OVERLAY)) ||
string_is_equal(label, string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_MANAGER_LIST)))
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_MANAGER_LIST)))
mui->flags |= MUI_FLAG_IS_FILE_LIST; mui->flags |= MUI_FLAG_IS_FILE_LIST;
else else
{ {
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST)) || if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_PARAMETER)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_PARAMETER)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_PRESET_PARAMETER)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_PRESET_PARAMETER)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_NUM_PASSES)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_VIDEO_SHADER_NUM_PASSES)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_RIGHT_THUMBNAIL_MODE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_RIGHT_THUMBNAIL_MODE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_SORT_MODE)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_SORT_MODE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_INPUT_DESCRIPTION)) || string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_INPUT_DESCRIPTION)) ||
string_is_equal(label, string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_INPUT_DESCRIPTION_KBD)))
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_INPUT_DESCRIPTION_KBD)))
mui->flags |= MUI_FLAG_IS_DROPDOWN_LIST; mui->flags |= MUI_FLAG_IS_DROPDOWN_LIST;
else else
mui->flags &= ~MUI_FLAG_IS_DROPDOWN_LIST; mui->flags &= ~MUI_FLAG_IS_DROPDOWN_LIST;
@ -10280,7 +10276,6 @@ static void materialui_list_insert(
case MENU_SETTING_ACTION_CORE_MANAGER_OPTIONS: case MENU_SETTING_ACTION_CORE_MANAGER_OPTIONS:
case MENU_SETTING_ACTION_CORE_LOCK: case MENU_SETTING_ACTION_CORE_LOCK:
case MENU_SETTING_ACTION_CORE_SET_STANDALONE_EXEMPT: case MENU_SETTING_ACTION_CORE_SET_STANDALONE_EXEMPT:
case MENU_EXPLORE_TAB:
case MENU_CONTENTLESS_CORES_TAB: case MENU_CONTENTLESS_CORES_TAB:
node->icon_texture_index = MUI_TEXTURE_CORES; node->icon_texture_index = MUI_TEXTURE_CORES;
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
@ -10316,6 +10311,13 @@ static void materialui_list_insert(
node->icon_texture_index = MUI_TEXTURE_DATABASE; node->icon_texture_index = MUI_TEXTURE_DATABASE;
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
break; break;
case MENU_EXPLORE_TAB:
if (!string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_GOTO_EXPLORE)))
node->icon_texture_index = MUI_TEXTURE_FOLDER;
else
node->icon_texture_index = MUI_TEXTURE_DATABASE;
node->icon_type = MUI_ICON_TYPE_INTERNAL;
break;
case FILE_TYPE_RDB_ENTRY: case FILE_TYPE_RDB_ENTRY:
if (string_is_equal(fullpath, msg_hash_to_str(MENU_ENUM_LABEL_INFORMATION))) if (string_is_equal(fullpath, msg_hash_to_str(MENU_ENUM_LABEL_INFORMATION)))
node->icon_texture_index = MUI_TEXTURE_DATABASE; node->icon_texture_index = MUI_TEXTURE_DATABASE;
@ -10324,12 +10326,23 @@ static void materialui_list_insert(
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
break; break;
case FILE_TYPE_IN_CARCHIVE: case FILE_TYPE_IN_CARCHIVE:
case FILE_TYPE_PLAIN:
case FILE_TYPE_DOWNLOAD_CORE_CONTENT: case FILE_TYPE_DOWNLOAD_CORE_CONTENT:
case FILE_TYPE_DOWNLOAD_CORE_SYSTEM_FILES: case FILE_TYPE_DOWNLOAD_CORE_SYSTEM_FILES:
node->icon_texture_index = MUI_TEXTURE_FILE; node->icon_texture_index = MUI_TEXTURE_FILE;
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
break; break;
case FILE_TYPE_PLAIN:
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_ITEM)))
{
if (string_is_equal(path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_SAVE_VIEW)))
node->icon_texture_index = MUI_TEXTURE_SAVE_STATE;
else if (string_is_equal(path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_DELETE_VIEW)))
node->icon_texture_index = MUI_TEXTURE_CLOSE;
}
else
node->icon_texture_index = MUI_TEXTURE_FILE;
node->icon_type = MUI_ICON_TYPE_INTERNAL;
break;
case FILE_TYPE_MUSIC: case FILE_TYPE_MUSIC:
node->icon_texture_index = MUI_TEXTURE_MUSIC; node->icon_texture_index = MUI_TEXTURE_MUSIC;
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
@ -10447,7 +10460,8 @@ static void materialui_list_insert(
node->icon_texture_index = MUI_TEXTURE_INFO; node->icon_texture_index = MUI_TEXTURE_INFO;
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
} }
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DATABASE_MANAGER_LIST)) || else if (
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DATABASE_MANAGER_LIST)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CURSOR_MANAGER_LIST)) string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CURSOR_MANAGER_LIST))
) )
{ {
@ -10563,10 +10577,8 @@ static void materialui_list_insert(
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
} }
else if ( else if (
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_START_CORE)) string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_START_CORE)) ||
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RUN_MUSIC)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RUN_MUSIC))
||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SUBSYSTEM_LOAD)) string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SUBSYSTEM_LOAD))
) )
{ {
@ -10850,7 +10862,10 @@ static void materialui_list_insert(
node->icon_type = MUI_ICON_TYPE_INTERNAL; node->icon_type = MUI_ICON_TYPE_INTERNAL;
} }
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_ITEM))) else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_ITEM)))
{
node->icon_texture_index = MUI_TEXTURE_DATABASE;
node->icon_type = MUI_ICON_TYPE_MENU_EXPLORE; node->icon_type = MUI_ICON_TYPE_MENU_EXPLORE;
}
else if (string_ends_with_size(label, "_input_binds_list", else if (string_ends_with_size(label, "_input_binds_list",
strlen(label), STRLEN_CONST("_input_binds_list"))) strlen(label), STRLEN_CONST("_input_binds_list")))
{ {
@ -10870,6 +10885,16 @@ static void materialui_list_insert(
} }
} }
} }
/* Playlist manager icons */
else if (string_is_equal(fullpath, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LIST)))
{
/* Set defaults */
node->icon_texture_index = MUI_TEXTURE_PLAYLIST;
node->icon_type = MUI_ICON_TYPE_INTERNAL;
if (mui->textures.playlist.size >= 1)
if (!string_is_empty(path))
materialui_set_node_playlist_icon(mui, node, path);
}
break; break;
} }
} }

View File

@ -145,10 +145,10 @@ enum
OZONE_SYSTEM_TAB_NETPLAY, OZONE_SYSTEM_TAB_NETPLAY,
#endif #endif
OZONE_SYSTEM_TAB_ADD, OZONE_SYSTEM_TAB_ADD,
OZONE_SYSTEM_TAB_CONTENTLESS_CORES,
#if defined(HAVE_LIBRETRODB) #if defined(HAVE_LIBRETRODB)
OZONE_SYSTEM_TAB_EXPLORE, OZONE_SYSTEM_TAB_EXPLORE,
#endif #endif
OZONE_SYSTEM_TAB_CONTENTLESS_CORES,
/* End of this enum - use the last one to determine num of possible tabs */ /* End of this enum - use the last one to determine num of possible tabs */
OZONE_SYSTEM_TAB_LAST OZONE_SYSTEM_TAB_LAST
@ -186,8 +186,8 @@ enum OZONE_TAB_TEXTURES
OZONE_TAB_TEXTURE_IMAGE, OZONE_TAB_TEXTURE_IMAGE,
OZONE_TAB_TEXTURE_NETWORK, OZONE_TAB_TEXTURE_NETWORK,
OZONE_TAB_TEXTURE_SCAN_CONTENT, OZONE_TAB_TEXTURE_SCAN_CONTENT,
OZONE_TAB_TEXTURE_EXPLORE,
OZONE_TAB_TEXTURE_CONTENTLESS_CORES, OZONE_TAB_TEXTURE_CONTENTLESS_CORES,
OZONE_TAB_TEXTURE_EXPLORE,
OZONE_TAB_TEXTURE_LAST OZONE_TAB_TEXTURE_LAST
}; };
@ -1756,17 +1756,23 @@ static uintptr_t ozone_entries_icon_get_texture(
#endif #endif
case MENU_ENUM_LABEL_DISC_INFORMATION: case MENU_ENUM_LABEL_DISC_INFORMATION:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DISC]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DISC];
case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE: case MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE_OPTIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE_OPTIONS];
case MENU_ENUM_LABEL_ADD_TO_FAVORITES: case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
case MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST: case MENU_ENUM_LABEL_ADD_TO_FAVORITES_PLAYLIST:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ADD_FAVORITE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ADD_FAVORITE];
case MENU_ENUM_LABEL_PARENT_DIRECTORY:
case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE:
case MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION: case MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UNDO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UNDO];
case MENU_ENUM_LABEL_CORE_INPUT_REMAPPING_OPTIONS: case MENU_ENUM_LABEL_CORE_INPUT_REMAPPING_OPTIONS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_REMAPPING_OPTIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_REMAPPING_OPTIONS];
case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS: case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CHEAT_OPTIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CHEAT_OPTIONS];
case MENU_ENUM_LABEL_DISK_OPTIONS: case MENU_ENUM_LABEL_DISK_OPTIONS:
case MENU_ENUM_LABEL_DISK_TRAY_EJECT: case MENU_ENUM_LABEL_DISK_TRAY_EJECT:
@ -1775,6 +1781,7 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_DISK_INDEX: case MENU_ENUM_LABEL_DISK_INDEX:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DISK_OPTIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DISK_OPTIONS];
case MENU_ENUM_LABEL_SHADER_OPTIONS: case MENU_ENUM_LABEL_SHADER_OPTIONS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SHADERS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SHADER_OPTIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SHADER_OPTIONS];
case MENU_ENUM_LABEL_ACHIEVEMENT_LIST: case MENU_ENUM_LABEL_ACHIEVEMENT_LIST:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENT_LIST]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENT_LIST];
@ -1795,19 +1802,19 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_LOAD_STATE: case MENU_ENUM_LABEL_LOAD_STATE:
case MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST: case MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOADSTATE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOADSTATE];
case MENU_ENUM_LABEL_PARENT_DIRECTORY:
case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UNDO];
case MENU_ENUM_LABEL_TAKE_SCREENSHOT: case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SCREENSHOT]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SCREENSHOT];
case MENU_ENUM_LABEL_DELETE_ENTRY: case MENU_ENUM_LABEL_DELETE_ENTRY:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOSE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOSE];
case MENU_ENUM_LABEL_RESTART_CONTENT: case MENU_ENUM_LABEL_RESTART_CONTENT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RELOAD]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RELOAD];
case MENU_ENUM_LABEL_RENAME_ENTRY: case MENU_ENUM_LABEL_RENAME_ENTRY:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RENAME]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RENAME];
case MENU_ENUM_LABEL_RESUME_CONTENT: case MENU_ENUM_LABEL_RESUME_CONTENT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RESUME]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RESUME];
case MENU_ENUM_LABEL_FAVORITES: case MENU_ENUM_LABEL_FAVORITES:
case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST:
@ -1816,10 +1823,11 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR: case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RDB]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RDB];
/* Menu collection submenus*/ /* Menu collection submenus */
case MENU_ENUM_LABEL_PLAYLISTS_TAB: case MENU_ENUM_LABEL_PLAYLISTS_TAB:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ZIP]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ZIP];
case MENU_ENUM_LABEL_GOTO_FAVORITES: case MENU_ENUM_LABEL_GOTO_FAVORITES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FAVORITE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FAVORITE];
case MENU_ENUM_LABEL_GOTO_IMAGES: case MENU_ENUM_LABEL_GOTO_IMAGES:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_IMAGE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_IMAGE];
@ -1828,6 +1836,8 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_GOTO_MUSIC: case MENU_ENUM_LABEL_GOTO_MUSIC:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MUSIC]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MUSIC];
case MENU_ENUM_LABEL_GOTO_EXPLORE: case MENU_ENUM_LABEL_GOTO_EXPLORE:
if (!string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE)))
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CURSOR];
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RDB]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RDB];
case MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES: case MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE];
@ -1845,12 +1855,14 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_CORE_LIST: case MENU_ENUM_LABEL_CORE_LIST:
case MENU_ENUM_LABEL_SIDELOAD_CORE_LIST: case MENU_ENUM_LABEL_SIDELOAD_CORE_LIST:
case MENU_ENUM_LABEL_CORE_SETTINGS: case MENU_ENUM_LABEL_CORE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_CORE:
case MENU_ENUM_LABEL_CORE_UPDATER_LIST: case MENU_ENUM_LABEL_CORE_UPDATER_LIST:
case MENU_ENUM_LABEL_UPDATE_INSTALLED_CORES: case MENU_ENUM_LABEL_UPDATE_INSTALLED_CORES:
case MENU_ENUM_LABEL_SWITCH_INSTALLED_CORES_PFD: case MENU_ENUM_LABEL_SWITCH_INSTALLED_CORES_PFD:
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_CORE: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_CORE:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE:
case MENU_ENUM_LABEL_SET_CORE_ASSOCIATION: case MENU_ENUM_LABEL_SET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_CORE_INFORMATION: case MENU_ENUM_LABEL_CORE_INFORMATION:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE];
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST: case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
@ -1868,11 +1880,14 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST: case MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST:
case MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_LIST: case MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_LIST:
case MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS: case MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_DOWNLOAD_THUMBNAILS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_IMAGE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_IMAGE];
case MENU_ENUM_LABEL_UPDATE_OVERLAYS: case MENU_ENUM_LABEL_UPDATE_OVERLAYS:
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
#ifdef HAVE_VIDEO_LAYOUT #ifdef HAVE_VIDEO_LAYOUT
case MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_VIDEO_LAYOUT:
#endif #endif
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERLAY]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERLAY];
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS: case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
@ -1885,8 +1900,8 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_INFORMATION_LIST: case MENU_ENUM_LABEL_INFORMATION_LIST:
case MENU_ENUM_LABEL_SYSTEM_INFORMATION: case MENU_ENUM_LABEL_SYSTEM_INFORMATION:
case MENU_ENUM_LABEL_UPDATE_CORE_INFO_FILES: case MENU_ENUM_LABEL_UPDATE_CORE_INFO_FILES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_INFORMATION:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INFO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INFO];
case MENU_ENUM_LABEL_EXPLORE_TAB:
case MENU_ENUM_LABEL_UPDATE_DATABASES: case MENU_ENUM_LABEL_UPDATE_DATABASES:
case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST: case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST:
case MENU_ENUM_LABEL_RDB_ENTRY_DETAIL: case MENU_ENUM_LABEL_RDB_ENTRY_DETAIL:
@ -1904,20 +1919,37 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING: case MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_HELP]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_HELP];
case MENU_ENUM_LABEL_QUIT_RETROARCH: case MENU_ENUM_LABEL_QUIT_RETROARCH:
case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_EXIT]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_EXIT];
/* Settings icons*/
/* Settings icons */
case MENU_ENUM_LABEL_DRIVER_SETTINGS: case MENU_ENUM_LABEL_DRIVER_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_DRIVERS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DRIVERS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DRIVERS];
case MENU_ENUM_LABEL_VIDEO_SETTINGS: case MENU_ENUM_LABEL_VIDEO_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_VIDEO:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_VIDEO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_VIDEO];
case MENU_ENUM_LABEL_AUDIO_SETTINGS: case MENU_ENUM_LABEL_AUDIO_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_AUDIO:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_AUDIO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_AUDIO];
case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS: case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MIXER]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MIXER];
case MENU_ENUM_LABEL_SCREEN_RESOLUTION: case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_CONFIGURATION:
case MENU_ENUM_LABEL_SETTINGS_SHOW_FILE_BROWSER:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SETTING];
case MENU_ENUM_LABEL_GLOBAL_CORE_OPTIONS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_AI_SERVICE:
case MENU_ENUM_LABEL_SETTINGS_SHOW_ACCESSIBILITY:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_SORT_MODE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING];
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LEFT_THUMBNAIL_MODE:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_RIGHT_THUMBNAIL_MODE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING];
case MENU_ENUM_LABEL_INPUT_SETTINGS: case MENU_ENUM_LABEL_INPUT_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_INPUT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS:
case MENU_ENUM_LABEL_UPDATE_AUTOCONFIG_PROFILES: case MENU_ENUM_LABEL_UPDATE_AUTOCONFIG_PROFILES:
case MENU_ENUM_LABEL_INPUT_USER_1_BINDS: case MENU_ENUM_LABEL_INPUT_USER_1_BINDS:
case MENU_ENUM_LABEL_INPUT_USER_2_BINDS: case MENU_ENUM_LABEL_INPUT_USER_2_BINDS:
@ -1940,8 +1972,12 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS: case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_TURBO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_TURBO];
case MENU_ENUM_LABEL_LATENCY_SETTINGS: case MENU_ENUM_LABEL_LATENCY_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY:
case MENU_ENUM_LABEL_SETTINGS_SHOW_LATENCY:
case MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LATENCY]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LATENCY];
case MENU_ENUM_LABEL_SAVING_SETTINGS: case MENU_ENUM_LABEL_SAVING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_SAVING:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG:
case MENU_ENUM_LABEL_SAVE_NEW_CONFIG: case MENU_ENUM_LABEL_SAVE_NEW_CONFIG:
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT: case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
@ -1949,16 +1985,23 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE:
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS:
case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS: case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVESTATE_SUBMENU:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SAVING]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SAVING];
case MENU_ENUM_LABEL_LOGGING_SETTINGS: case MENU_ENUM_LABEL_LOGGING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_LOGGING:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOG]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOG];
case MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS:
case MENU_ENUM_LABEL_FASTFORWARD_RATIO: case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
case MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_FRAME_THROTTLE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FRAMESKIP]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FRAMESKIP];
case MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING: case MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_RECORDING:
case MENU_ENUM_LABEL_RECORDING_SETTINGS: case MENU_ENUM_LABEL_RECORDING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_RECORDING:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RECORD]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RECORD];
case MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING: case MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_STREAMING:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_STREAM]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_STREAM];
case MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING: case MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING:
case MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING: case MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING:
@ -1984,14 +2027,17 @@ static uintptr_t ozone_entries_icon_get_texture(
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UNDO]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UNDO];
case MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH: case MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH:
case MENU_ENUM_LABEL_REMAP_FILE_FLUSH: case MENU_ENUM_LABEL_REMAP_FILE_FLUSH:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CORE_OPTIONS_FLUSH:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FILE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FILE];
case MENU_ENUM_LABEL_CORE_LOCK: case MENU_ENUM_LABEL_CORE_LOCK:
case MENU_ENUM_LABEL_CORE_SET_STANDALONE_EXEMPT: case MENU_ENUM_LABEL_CORE_SET_STANDALONE_EXEMPT:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CORE];
case MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_ONSCREEN_DISPLAY:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OSD]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OSD];
case MENU_ENUM_LABEL_SHOW_WIMP: case MENU_ENUM_LABEL_SHOW_WIMP:
case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS: case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_USER_INTERFACE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UI]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_UI];
#ifdef HAVE_LAKKA_SWITCH #ifdef HAVE_LAKKA_SWITCH
case MENU_ENUM_LABEL_SWITCH_GPU_PROFILE: case MENU_ENUM_LABEL_SWITCH_GPU_PROFILE:
@ -2001,11 +2047,15 @@ static uintptr_t ozone_entries_icon_get_texture(
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_POWER]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_POWER];
#endif #endif
case MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS: case MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_POWER_MANAGEMENT:
case MENU_ENUM_LABEL_FASTFORWARD_FRAMESKIP:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_POWER]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_POWER];
case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS: case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_ACHIEVEMENTS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENTS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENTS];
case MENU_ENUM_LABEL_NETWORK_INFORMATION: case MENU_ENUM_LABEL_NETWORK_INFORMATION:
case MENU_ENUM_LABEL_NETWORK_SETTINGS: case MENU_ENUM_LABEL_NETWORK_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_NETWORK:
case MENU_ENUM_LABEL_WIFI_SETTINGS: case MENU_ENUM_LABEL_WIFI_SETTINGS:
case MENU_ENUM_LABEL_NETWORK_INFO_ENTRY: case MENU_ENUM_LABEL_NETWORK_INFO_ENTRY:
case MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS: case MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS:
@ -2016,10 +2066,13 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_BLUETOOTH_SETTINGS: case MENU_ENUM_LABEL_BLUETOOTH_SETTINGS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_BLUETOOTH]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_BLUETOOTH];
case MENU_ENUM_LABEL_PLAYLIST_SETTINGS: case MENU_ENUM_LABEL_PLAYLIST_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_PLAYLISTS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_PLAYLIST]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_PLAYLIST];
case MENU_ENUM_LABEL_USER_SETTINGS: case MENU_ENUM_LABEL_USER_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_USER:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_USER]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_USER];
case MENU_ENUM_LABEL_DIRECTORY_SETTINGS: case MENU_ENUM_LABEL_DIRECTORY_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_DIRECTORY:
case MENU_ENUM_LABEL_ADD_CONTENT_LIST: case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
case MENU_ENUM_LABEL_SCAN_DIRECTORY: case MENU_ENUM_LABEL_SCAN_DIRECTORY:
case MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST: case MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST:
@ -2028,10 +2081,12 @@ static uintptr_t ozone_entries_icon_get_texture(
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FOLDER]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FOLDER];
case MENU_ENUM_LABEL_PRIVACY_SETTINGS: case MENU_ENUM_LABEL_PRIVACY_SETTINGS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_PRIVACY]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_PRIVACY];
case MENU_ENUM_LABEL_REWIND_SETTINGS: case MENU_ENUM_LABEL_REWIND_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_REWIND:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_REWIND]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_REWIND];
case MENU_ENUM_LABEL_QUICK_MENU_OVERRIDE_OPTIONS: case MENU_ENUM_LABEL_QUICK_MENU_OVERRIDE_OPTIONS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERRIDE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_OVERRIDE];
case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_NOTIFICATIONS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_NOTIFICATIONS];
@ -2053,13 +2108,15 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG: case MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG:
case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS: case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
case MENU_ENUM_LABEL_RESTART_RETROARCH: case MENU_ENUM_LABEL_RESTART_RETROARCH:
case MENU_ENUM_LABEL_VIDEO_AUTOSWITCH_REFRESH_RATE:
case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS: case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RELOAD]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RELOAD];
case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
/* Only show icon in Throttle settings */
if (ozone->depth < 3)
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RELOAD];
break;
case MENU_ENUM_LABEL_SHUTDOWN: case MENU_ENUM_LABEL_SHUTDOWN:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SHUTDOWN]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SHUTDOWN];
case MENU_ENUM_LABEL_CONFIGURATIONS: case MENU_ENUM_LABEL_CONFIGURATIONS:
@ -2070,7 +2127,6 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
case MENU_ENUM_LABEL_CHEAT_FILE_LOAD: case MENU_ENUM_LABEL_CHEAT_FILE_LOAD:
case MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND: case MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND:
case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOADSTATE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LOADSTATE];
case MENU_ENUM_LABEL_CHEAT_APPLY_CHANGES: case MENU_ENUM_LABEL_CHEAT_APPLY_CHANGES:
case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES: case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
@ -2083,10 +2139,7 @@ static uintptr_t ozone_entries_icon_get_texture(
case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE: case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_TOGGLE]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_TOGGLE];
case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD: case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_COG]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_COG];
case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SAVESTATE];
case MENU_ENUM_LABEL_SLOWMOTION_RATIO: case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RESUME]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_RESUME];
case MENU_ENUM_LABEL_START_VIDEO_PROCESSOR: case MENU_ENUM_LABEL_START_VIDEO_PROCESSOR:
@ -2097,6 +2150,12 @@ static uintptr_t ozone_entries_icon_get_texture(
uintptr_t icon = menu_explore_get_entry_icon(type); uintptr_t icon = menu_explore_get_entry_icon(type);
if (icon) if (icon)
return icon; return icon;
else if (string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_SAVE_VIEW)))
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SAVING];
else if (string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_DELETE_VIEW)))
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOSE];
else if (type != FILE_TYPE_RDB)
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CURSOR];
break; break;
} }
#endif #endif
@ -2107,11 +2166,14 @@ static uintptr_t ozone_entries_icon_get_texture(
return icon; return icon;
break; break;
} }
/* No icon */
case MENU_ENUM_LABEL_SCREEN_RESOLUTION:
return 0;
default: default:
break; break;
} }
switch(type) switch (type)
{ {
case MENU_SET_CDROM_INFO: case MENU_SET_CDROM_INFO:
case MENU_SET_CDROM_LIST: case MENU_SET_CDROM_LIST:
@ -2367,7 +2429,8 @@ static uintptr_t ozone_entries_icon_get_texture(
) )
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SETTINGS]; return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SETTINGS];
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING]; /* No icon by default */
return 0;
} }
static const char *ozone_entries_icon_texture_path(unsigned id) static const char *ozone_entries_icon_texture_path(unsigned id)
@ -3089,10 +3152,10 @@ static void ozone_draw_sidebar(
MENU_ENUM_LABEL_VALUE_NETPLAY_TAB, MENU_ENUM_LABEL_VALUE_NETPLAY_TAB,
#endif #endif
MENU_ENUM_LABEL_VALUE_ADD_TAB, MENU_ENUM_LABEL_VALUE_ADD_TAB,
MENU_ENUM_LABEL_VALUE_CONTENTLESS_CORES_TAB,
#ifdef HAVE_LIBRETRODB #ifdef HAVE_LIBRETRODB
MENU_ENUM_LABEL_VALUE_EXPLORE_TAB, MENU_ENUM_LABEL_VALUE_EXPLORE_TAB
#endif #endif
MENU_ENUM_LABEL_VALUE_CONTENTLESS_CORES_TAB
}; };
static const unsigned ozone_system_tabs_icons[OZONE_SYSTEM_TAB_LAST] = { static const unsigned ozone_system_tabs_icons[OZONE_SYSTEM_TAB_LAST] = {
OZONE_TAB_TEXTURE_MAIN_MENU, OZONE_TAB_TEXTURE_MAIN_MENU,
@ -3110,10 +3173,10 @@ static void ozone_draw_sidebar(
OZONE_TAB_TEXTURE_NETWORK, OZONE_TAB_TEXTURE_NETWORK,
#endif #endif
OZONE_TAB_TEXTURE_SCAN_CONTENT, OZONE_TAB_TEXTURE_SCAN_CONTENT,
OZONE_TAB_TEXTURE_CONTENTLESS_CORES,
#ifdef HAVE_LIBRETRODB #ifdef HAVE_LIBRETRODB
OZONE_TAB_TEXTURE_EXPLORE, OZONE_TAB_TEXTURE_EXPLORE
#endif #endif
OZONE_TAB_TEXTURE_CONTENTLESS_CORES
}; };
size_t y; size_t y;
int entry_width; int entry_width;
@ -4406,10 +4469,10 @@ static void ozone_sidebar_goto(
MENU_ENUM_LABEL_NETPLAY_TAB, MENU_ENUM_LABEL_NETPLAY_TAB,
#endif #endif
MENU_ENUM_LABEL_ADD_TAB, MENU_ENUM_LABEL_ADD_TAB,
MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB,
#ifdef HAVE_LIBRETRODB #ifdef HAVE_LIBRETRODB
MENU_ENUM_LABEL_EXPLORE_TAB, MENU_ENUM_LABEL_EXPLORE_TAB
#endif #endif
MENU_ENUM_LABEL_CONTENTLESS_CORES_TAB
}; };
static const enum menu_settings_type ozone_system_tabs_type[OZONE_SYSTEM_TAB_LAST] = { static const enum menu_settings_type ozone_system_tabs_type[OZONE_SYSTEM_TAB_LAST] = {
MENU_SETTINGS, MENU_SETTINGS,
@ -4427,10 +4490,10 @@ static void ozone_sidebar_goto(
MENU_NETPLAY_TAB, MENU_NETPLAY_TAB,
#endif #endif
MENU_ADD_TAB, MENU_ADD_TAB,
MENU_CONTENTLESS_CORES_TAB,
#ifdef HAVE_LIBRETRODB #ifdef HAVE_LIBRETRODB
MENU_EXPLORE_TAB, MENU_EXPLORE_TAB
#endif #endif
MENU_CONTENTLESS_CORES_TAB
}; };
unsigned video_info_height; unsigned video_info_height;
@ -4852,9 +4915,8 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone)
else if (string_ends_with_size(ozone->horizontal_list.list[i].label, ".lvw", else if (string_ends_with_size(ozone->horizontal_list.list[i].label, ".lvw",
strlen(ozone->horizontal_list.list[i].label), STRLEN_CONST(".lvw"))) strlen(ozone->horizontal_list.list[i].label), STRLEN_CONST(".lvw")))
{ {
/* For now use a default icon for views */
node->console_name = strdup(path + strlen(msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_VIEW)) + 2); node->console_name = strdup(path + strlen(msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_VIEW)) + 2);
node->icon = ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_FILE]; node->icon = ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CURSOR];
} }
} }
} }
@ -5639,7 +5701,7 @@ border_iterate:
texture = ozone_entries_icon_get_texture(ozone, texture = ozone_entries_icon_get_texture(ozone,
entry.enum_idx, entry.path, entry.label, entry.type, entry_selected); entry.enum_idx, entry.path, entry.label, entry.type, entry_selected);
if (texture != ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING]) if (texture)
{ {
/* Console specific icons */ /* Console specific icons */
if ( entry.type == FILE_TYPE_RPL_ENTRY if ( entry.type == FILE_TYPE_RPL_ENTRY
@ -5652,6 +5714,22 @@ border_iterate:
if (sidebar_node && sidebar_node->content_icon) if (sidebar_node && sidebar_node->content_icon)
texture = sidebar_node->content_icon; texture = sidebar_node->content_icon;
} }
/* Playlist manager icons */
else if (ozone->depth == 3 && entry.enum_idx == MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS)
{
if (string_is_equal(entry.rich_label, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HISTORY_TAB)))
texture = ozone->tab_textures[OZONE_TAB_TEXTURE_HISTORY];
else if (string_is_equal(entry.rich_label, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB)))
texture = ozone->tab_textures[OZONE_TAB_TEXTURE_FAVORITES];
else if (i < ozone->horizontal_list.size)
{
ozone_node_t *sidebar_node = (ozone_node_t*)
file_list_get_userdata_at_offset(&ozone->horizontal_list, i + 1);
if (sidebar_node && sidebar_node->icon)
texture = sidebar_node->icon;
}
}
/* "Load Content" playlists */ /* "Load Content" playlists */
else if (ozone->tabs[ozone->categories_selection_ptr] == OZONE_SYSTEM_TAB_MAIN) else if (ozone->tabs[ozone->categories_selection_ptr] == OZONE_SYSTEM_TAB_MAIN)
{ {
@ -8197,17 +8275,17 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
&& !settings->bools.kiosk_mode_enable) && !settings->bools.kiosk_mode_enable)
ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_ADD; ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_ADD;
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_EXPLORE;
#endif
#if defined(HAVE_DYNAMIC) #if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores != if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE) MENU_CONTENTLESS_CORES_DISPLAY_NONE)
ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_CONTENTLESS_CORES; ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_CONTENTLESS_CORES;
#endif #endif
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
ozone->tabs[++ozone->system_tab_end] = OZONE_SYSTEM_TAB_EXPLORE;
#endif
for (i = 0; i < OZONE_TAB_MAX_LENGTH; i++) for (i = 0; i < OZONE_TAB_MAX_LENGTH; i++)
ozone->tab_selection[i] = 0; ozone->tab_selection[i] = 0;
@ -8678,8 +8756,8 @@ static void ozone_context_reset(void *data, bool is_threaded)
"image.png", /* IMAGES_TAB */ "image.png", /* IMAGES_TAB */
"netplay.png", /* NETPLAY_TAB */ "netplay.png", /* NETPLAY_TAB */
"add.png", /* ADD_TAB */ "add.png", /* ADD_TAB */
"retroarch.png", /* EXPLORE_TAB */ "core.png", /* CONTENTLESS_CORES_TAB */
"retroarch.png" /* CONTENTLESS_CORES_TAB */ "database.png" /* EXPLORE_TAB */
}; };
static const char *OZONE_TEXTURES_FILES[OZONE_TEXTURE_LAST] = { static const char *OZONE_TEXTURES_FILES[OZONE_TEXTURE_LAST] = {
"retroarch.png", "retroarch.png",
@ -8732,9 +8810,21 @@ static void ozone_context_reset(void *data, bool is_threaded)
/* Sidebar textures */ /* Sidebar textures */
for (i = 0; i < OZONE_TAB_TEXTURE_LAST; i++) for (i = 0; i < OZONE_TAB_TEXTURE_LAST; i++)
{ {
if (!gfx_display_reset_textures_list(OZONE_TAB_TEXTURES_FILES[i], switch (i)
ozone->tab_path, &ozone->tab_textures[i], TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL)) {
ozone->flags &= ~OZONE_FLAG_HAS_ALL_ASSETS; /* Exceptions for icons that don't exist in 'png/sidebar/' */
case OZONE_TAB_TEXTURE_CONTENTLESS_CORES:
case OZONE_TAB_TEXTURE_EXPLORE:
if (!gfx_display_reset_textures_list(OZONE_TAB_TEXTURES_FILES[i],
ozone->icons_path, &ozone->tab_textures[i], TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL))
ozone->flags &= ~OZONE_FLAG_HAS_ALL_ASSETS;
break;
default:
if (!gfx_display_reset_textures_list(OZONE_TAB_TEXTURES_FILES[i],
ozone->tab_path, &ozone->tab_textures[i], TEXTURE_FILTER_MIPMAP_LINEAR, NULL, NULL))
ozone->flags &= ~OZONE_FLAG_HAS_ALL_ASSETS;
break;
}
} }
/* Theme textures */ /* Theme textures */

View File

@ -245,10 +245,10 @@ enum
XMB_SYSTEM_TAB_NETPLAY, XMB_SYSTEM_TAB_NETPLAY,
#endif #endif
XMB_SYSTEM_TAB_ADD, XMB_SYSTEM_TAB_ADD,
XMB_SYSTEM_TAB_CONTENTLESS_CORES,
#if defined(HAVE_LIBRETRODB) #if defined(HAVE_LIBRETRODB)
XMB_SYSTEM_TAB_EXPLORE, XMB_SYSTEM_TAB_EXPLORE,
#endif #endif
XMB_SYSTEM_TAB_CONTENTLESS_CORES,
/* End of this enum - use the last one to determine num of possible tabs */ /* End of this enum - use the last one to determine num of possible tabs */
XMB_SYSTEM_TAB_MAX_LENGTH XMB_SYSTEM_TAB_MAX_LENGTH
@ -303,10 +303,10 @@ typedef struct xmb_handle
xmb_node_t history_tab_node; xmb_node_t history_tab_node;
xmb_node_t favorites_tab_node; xmb_node_t favorites_tab_node;
xmb_node_t add_tab_node; xmb_node_t add_tab_node;
xmb_node_t contentless_cores_tab_node;
#if defined(HAVE_LIBRETRODB) #if defined(HAVE_LIBRETRODB)
xmb_node_t explore_tab_node; xmb_node_t explore_tab_node;
#endif #endif
xmb_node_t contentless_cores_tab_node;
xmb_node_t netplay_tab_node; xmb_node_t netplay_tab_node;
menu_input_pointer_t pointer; menu_input_pointer_t pointer;
@ -2534,8 +2534,7 @@ static void xmb_context_reset_horizontal_list(
else if (string_ends_with_size(xmb->horizontal_list.list[i].label, ".lvw", else if (string_ends_with_size(xmb->horizontal_list.list[i].label, ".lvw",
strlen(xmb->horizontal_list.list[i].label), STRLEN_CONST(".lvw"))) strlen(xmb->horizontal_list.list[i].label), STRLEN_CONST(".lvw")))
{ {
/* For now use a default icon for views */ node->icon = xmb->textures.list[XMB_TEXTURE_CURSOR];
node->icon = xmb->textures.list[XMB_TEXTURE_FILE];
} }
} }
@ -2764,6 +2763,9 @@ static void xmb_populate_entries(void *data,
/* Determine whether to show entry index */ /* Determine whether to show entry index */
/* Update list size & entry index texts */ /* Update list size & entry index texts */
if (show_entry_idx)
xmb->entry_index_str[0] = '\0';
if ((xmb->entry_idx_enabled = show_entry_idx && if ((xmb->entry_idx_enabled = show_entry_idx &&
!xmb->is_quick_menu && !xmb->is_quick_menu &&
(xmb->is_playlist || xmb->is_explore_list))) (xmb->is_playlist || xmb->is_explore_list)))
@ -2850,7 +2852,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
{ {
switch (enum_idx) switch (enum_idx)
{ {
case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE: case MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS:
return xmb->textures.list[XMB_TEXTURE_CORE_OPTIONS]; return xmb->textures.list[XMB_TEXTURE_CORE_OPTIONS];
case MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_LIST: case MENU_ENUM_LABEL_CORE_OPTION_OVERRIDE_LIST:
case MENU_ENUM_LABEL_REMAP_FILE_MANAGER_LIST: case MENU_ENUM_LABEL_REMAP_FILE_MANAGER_LIST:
@ -2861,7 +2863,9 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_PARENT_DIRECTORY: case MENU_ENUM_LABEL_PARENT_DIRECTORY:
case MENU_ENUM_LABEL_UNDO_LOAD_STATE: case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
case MENU_ENUM_LABEL_UNDO_SAVE_STATE: case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE:
case MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION: case MENU_ENUM_LABEL_RESET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES:
return xmb->textures.list[XMB_TEXTURE_UNDO]; return xmb->textures.list[XMB_TEXTURE_UNDO];
case MENU_ENUM_LABEL_CORE_INPUT_REMAPPING_OPTIONS: case MENU_ENUM_LABEL_CORE_INPUT_REMAPPING_OPTIONS:
@ -2875,13 +2879,13 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_DISK_INDEX: case MENU_ENUM_LABEL_DISK_INDEX:
return xmb->textures.list[XMB_TEXTURE_DISK_OPTIONS]; return xmb->textures.list[XMB_TEXTURE_DISK_OPTIONS];
case MENU_ENUM_LABEL_SHADER_OPTIONS: case MENU_ENUM_LABEL_SHADER_OPTIONS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SHADERS:
return xmb->textures.list[XMB_TEXTURE_SHADER_OPTIONS]; return xmb->textures.list[XMB_TEXTURE_SHADER_OPTIONS];
case MENU_ENUM_LABEL_ACHIEVEMENT_LIST: case MENU_ENUM_LABEL_ACHIEVEMENT_LIST:
case MENU_ENUM_LABEL_ACHIEVEMENT_LIST_HARDCORE: case MENU_ENUM_LABEL_ACHIEVEMENT_LIST_HARDCORE:
return xmb->textures.list[XMB_TEXTURE_ACHIEVEMENT_LIST]; return xmb->textures.list[XMB_TEXTURE_ACHIEVEMENT_LIST];
case MENU_ENUM_LABEL_SAVESTATE_LIST: case MENU_ENUM_LABEL_SAVESTATE_LIST:
case MENU_ENUM_LABEL_SAVE_STATE: case MENU_ENUM_LABEL_SAVE_STATE:
case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
case MENU_ENUM_LABEL_CORE_CREATE_BACKUP: case MENU_ENUM_LABEL_CORE_CREATE_BACKUP:
case MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE: case MENU_ENUM_LABEL_GAME_SPECIFIC_CORE_OPTIONS_CREATE:
case MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE: case MENU_ENUM_LABEL_FOLDER_SPECIFIC_CORE_OPTIONS_CREATE:
@ -2899,30 +2903,36 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
case MENU_ENUM_LABEL_CHEAT_FILE_LOAD: case MENU_ENUM_LABEL_CHEAT_FILE_LOAD:
case MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND: case MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND:
case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
case MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST: case MENU_ENUM_LABEL_CORE_RESTORE_BACKUP_LIST:
return xmb->textures.list[XMB_TEXTURE_LOADSTATE]; return xmb->textures.list[XMB_TEXTURE_LOADSTATE];
case MENU_ENUM_LABEL_TAKE_SCREENSHOT: case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT:
return xmb->textures.list[XMB_TEXTURE_SCREENSHOT]; return xmb->textures.list[XMB_TEXTURE_SCREENSHOT];
case MENU_ENUM_LABEL_DELETE_ENTRY: case MENU_ENUM_LABEL_DELETE_ENTRY:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CLOSE_CONTENT:
return xmb->textures.list[XMB_TEXTURE_CLOSE]; return xmb->textures.list[XMB_TEXTURE_CLOSE];
case MENU_ENUM_LABEL_RESTART_CONTENT: case MENU_ENUM_LABEL_RESTART_CONTENT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESTART_CONTENT:
case MENU_ENUM_LABEL_REBOOT: case MENU_ENUM_LABEL_REBOOT:
case MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG: case MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG:
case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS: case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
case MENU_ENUM_LABEL_RESTART_RETROARCH: case MENU_ENUM_LABEL_RESTART_RETROARCH:
case MENU_ENUM_LABEL_VIDEO_AUTOSWITCH_REFRESH_RATE:
case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS: case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST:
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST:
return xmb->textures.list[XMB_TEXTURE_RELOAD]; return xmb->textures.list[XMB_TEXTURE_RELOAD];
case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
/* Only show icon in Throttle settings */
if (xmb->depth < 3)
return xmb->textures.list[XMB_TEXTURE_RELOAD];
break;
case MENU_ENUM_LABEL_RENAME_ENTRY: case MENU_ENUM_LABEL_RENAME_ENTRY:
return xmb->textures.list[XMB_TEXTURE_RENAME]; return xmb->textures.list[XMB_TEXTURE_RENAME];
case MENU_ENUM_LABEL_RESUME_CONTENT: case MENU_ENUM_LABEL_RESUME_CONTENT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_RESUME_CONTENT:
return xmb->textures.list[XMB_TEXTURE_RESUME]; return xmb->textures.list[XMB_TEXTURE_RESUME];
case MENU_ENUM_LABEL_DIRECTORY_SETTINGS: case MENU_ENUM_LABEL_DIRECTORY_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_DIRECTORY:
case MENU_ENUM_LABEL_SCAN_DIRECTORY: case MENU_ENUM_LABEL_SCAN_DIRECTORY:
case MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST: case MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CONTENT_DIR:
@ -2934,12 +2944,14 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_ADD_CONTENT_LIST: case MENU_ENUM_LABEL_ADD_CONTENT_LIST:
return xmb->textures.list[XMB_TEXTURE_ADD]; return xmb->textures.list[XMB_TEXTURE_ADD];
case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR: case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR:
case MENU_ENUM_LABEL_VALUE_CONTENTLESS_CORES_TAB:
return xmb->textures.list[XMB_TEXTURE_RDB]; return xmb->textures.list[XMB_TEXTURE_RDB];
/* Menu collection submenus */ /* Menu collection submenus */
case MENU_ENUM_LABEL_PLAYLISTS_TAB: case MENU_ENUM_LABEL_PLAYLISTS_TAB:
return xmb->textures.list[XMB_TEXTURE_ZIP]; return xmb->textures.list[XMB_TEXTURE_ZIP];
case MENU_ENUM_LABEL_GOTO_FAVORITES: case MENU_ENUM_LABEL_GOTO_FAVORITES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES:
return xmb->textures.list[XMB_TEXTURE_FAVORITE]; return xmb->textures.list[XMB_TEXTURE_FAVORITE];
case MENU_ENUM_LABEL_GOTO_IMAGES: case MENU_ENUM_LABEL_GOTO_IMAGES:
return xmb->textures.list[XMB_TEXTURE_IMAGE]; return xmb->textures.list[XMB_TEXTURE_IMAGE];
@ -2948,9 +2960,11 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_GOTO_MUSIC: case MENU_ENUM_LABEL_GOTO_MUSIC:
return xmb->textures.list[XMB_TEXTURE_MUSIC]; return xmb->textures.list[XMB_TEXTURE_MUSIC];
case MENU_ENUM_LABEL_GOTO_EXPLORE: case MENU_ENUM_LABEL_GOTO_EXPLORE:
return xmb->textures.list[XMB_TEXTURE_MAIN_MENU]; if (!string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE)))
return xmb->textures.list[XMB_TEXTURE_CURSOR];
return xmb->textures.list[XMB_TEXTURE_RDB];
case MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES: case MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES:
return xmb->textures.list[XMB_TEXTURE_MAIN_MENU]; return xmb->textures.list[XMB_TEXTURE_CORE];
case MENU_ENUM_LABEL_LOAD_DISC: case MENU_ENUM_LABEL_LOAD_DISC:
case MENU_ENUM_LABEL_DUMP_DISC: case MENU_ENUM_LABEL_DUMP_DISC:
#ifdef HAVE_LAKKA #ifdef HAVE_LAKKA
@ -2958,7 +2972,6 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
#endif #endif
case MENU_ENUM_LABEL_DISC_INFORMATION: case MENU_ENUM_LABEL_DISC_INFORMATION:
return xmb->textures.list[XMB_TEXTURE_DISC]; return xmb->textures.list[XMB_TEXTURE_DISC];
case MENU_ENUM_LABEL_CONTENT_SETTINGS: case MENU_ENUM_LABEL_CONTENT_SETTINGS:
case MENU_ENUM_LABEL_UPDATE_ASSETS: case MENU_ENUM_LABEL_UPDATE_ASSETS:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME:
@ -2971,12 +2984,14 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_CORE_LIST: case MENU_ENUM_LABEL_CORE_LIST:
case MENU_ENUM_LABEL_SIDELOAD_CORE_LIST: case MENU_ENUM_LABEL_SIDELOAD_CORE_LIST:
case MENU_ENUM_LABEL_CORE_SETTINGS: case MENU_ENUM_LABEL_CORE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_CORE:
case MENU_ENUM_LABEL_CORE_UPDATER_LIST: case MENU_ENUM_LABEL_CORE_UPDATER_LIST:
case MENU_ENUM_LABEL_UPDATE_INSTALLED_CORES: case MENU_ENUM_LABEL_UPDATE_INSTALLED_CORES:
case MENU_ENUM_LABEL_SWITCH_INSTALLED_CORES_PFD: case MENU_ENUM_LABEL_SWITCH_INSTALLED_CORES_PFD:
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_CORE: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_CORE:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE:
case MENU_ENUM_LABEL_SET_CORE_ASSOCIATION: case MENU_ENUM_LABEL_SET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SET_CORE_ASSOCIATION:
case MENU_ENUM_LABEL_CORE_INFORMATION: case MENU_ENUM_LABEL_CORE_INFORMATION:
return xmb->textures.list[XMB_TEXTURE_CORE]; return xmb->textures.list[XMB_TEXTURE_CORE];
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST: case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
@ -2990,15 +3005,19 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_UPDATE_LAKKA: case MENU_ENUM_LABEL_UPDATE_LAKKA:
return xmb->textures.list[XMB_TEXTURE_MAIN_MENU]; return xmb->textures.list[XMB_TEXTURE_MAIN_MENU];
case MENU_ENUM_LABEL_UPDATE_CHEATS: case MENU_ENUM_LABEL_UPDATE_CHEATS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS:
return xmb->textures.list[XMB_TEXTURE_CHEAT_OPTIONS]; return xmb->textures.list[XMB_TEXTURE_CHEAT_OPTIONS];
case MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST: case MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST:
case MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_LIST: case MENU_ENUM_LABEL_PL_THUMBNAILS_UPDATER_LIST:
case MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS: case MENU_ENUM_LABEL_DOWNLOAD_PL_ENTRY_THUMBNAILS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_DOWNLOAD_THUMBNAILS:
return xmb->textures.list[XMB_TEXTURE_IMAGE]; return xmb->textures.list[XMB_TEXTURE_IMAGE];
case MENU_ENUM_LABEL_UPDATE_OVERLAYS: case MENU_ENUM_LABEL_UPDATE_OVERLAYS:
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_OVERLAYS:
#ifdef HAVE_VIDEO_LAYOUT #ifdef HAVE_VIDEO_LAYOUT
case MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_VIDEO_LAYOUT_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_VIDEO_LAYOUT:
#endif #endif
return xmb->textures.list[XMB_TEXTURE_OVERLAY]; return xmb->textures.list[XMB_TEXTURE_OVERLAY];
case MENU_ENUM_LABEL_UPDATE_CG_SHADERS: case MENU_ENUM_LABEL_UPDATE_CG_SHADERS:
@ -3011,6 +3030,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_INFORMATION_LIST: case MENU_ENUM_LABEL_INFORMATION_LIST:
case MENU_ENUM_LABEL_SYSTEM_INFORMATION: case MENU_ENUM_LABEL_SYSTEM_INFORMATION:
case MENU_ENUM_LABEL_UPDATE_CORE_INFO_FILES: case MENU_ENUM_LABEL_UPDATE_CORE_INFO_FILES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_INFORMATION:
return xmb->textures.list[XMB_TEXTURE_INFO]; return xmb->textures.list[XMB_TEXTURE_INFO];
case MENU_ENUM_LABEL_UPDATE_DATABASES: case MENU_ENUM_LABEL_UPDATE_DATABASES:
case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST: case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST:
@ -3027,19 +3047,27 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING: case MENU_ENUM_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING:
return xmb->textures.list[XMB_TEXTURE_HELP]; return xmb->textures.list[XMB_TEXTURE_HELP];
case MENU_ENUM_LABEL_QUIT_RETROARCH: case MENU_ENUM_LABEL_QUIT_RETROARCH:
case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
return xmb->textures.list[XMB_TEXTURE_EXIT]; return xmb->textures.list[XMB_TEXTURE_EXIT];
/* Settings icons */
case MENU_ENUM_LABEL_DRIVER_SETTINGS: case MENU_ENUM_LABEL_DRIVER_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_DRIVERS:
return xmb->textures.list[XMB_TEXTURE_DRIVERS]; return xmb->textures.list[XMB_TEXTURE_DRIVERS];
case MENU_ENUM_LABEL_VIDEO_SETTINGS: case MENU_ENUM_LABEL_VIDEO_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_VIDEO:
return xmb->textures.list[XMB_TEXTURE_VIDEO]; return xmb->textures.list[XMB_TEXTURE_VIDEO];
case MENU_ENUM_LABEL_AUDIO_SETTINGS: case MENU_ENUM_LABEL_AUDIO_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_AUDIO:
return xmb->textures.list[XMB_TEXTURE_AUDIO]; return xmb->textures.list[XMB_TEXTURE_AUDIO];
case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS: case MENU_ENUM_LABEL_AUDIO_MIXER_SETTINGS:
return xmb->textures.list[XMB_TEXTURE_MIXER]; return xmb->textures.list[XMB_TEXTURE_MIXER];
case MENU_ENUM_LABEL_SCREEN_RESOLUTION: case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
return xmb->textures.list[XMB_TEXTURE_SUBSETTING]; case MENU_ENUM_LABEL_SETTINGS_SHOW_CONFIGURATION:
case MENU_ENUM_LABEL_SETTINGS_SHOW_FILE_BROWSER:
return xmb->textures.list[XMB_TEXTURE_SETTING];
case MENU_ENUM_LABEL_INPUT_SETTINGS: case MENU_ENUM_LABEL_INPUT_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_INPUT:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS:
case MENU_ENUM_LABEL_UPDATE_AUTOCONFIG_PROFILES: case MENU_ENUM_LABEL_UPDATE_AUTOCONFIG_PROFILES:
case MENU_ENUM_LABEL_INPUT_USER_1_BINDS: case MENU_ENUM_LABEL_INPUT_USER_1_BINDS:
case MENU_ENUM_LABEL_INPUT_USER_2_BINDS: case MENU_ENUM_LABEL_INPUT_USER_2_BINDS:
@ -3062,8 +3090,12 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS: case MENU_ENUM_LABEL_INPUT_TURBO_FIRE_SETTINGS:
return xmb->textures.list[XMB_TEXTURE_INPUT_TURBO]; return xmb->textures.list[XMB_TEXTURE_INPUT_TURBO];
case MENU_ENUM_LABEL_LATENCY_SETTINGS: case MENU_ENUM_LABEL_LATENCY_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY:
case MENU_ENUM_LABEL_SETTINGS_SHOW_LATENCY:
case MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE:
return xmb->textures.list[XMB_TEXTURE_LATENCY]; return xmb->textures.list[XMB_TEXTURE_LATENCY];
case MENU_ENUM_LABEL_SAVING_SETTINGS: case MENU_ENUM_LABEL_SAVING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_SAVING:
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG:
case MENU_ENUM_LABEL_SAVE_NEW_CONFIG: case MENU_ENUM_LABEL_SAVE_NEW_CONFIG:
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT: case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
@ -3071,16 +3103,23 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE:
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS: case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_SAVE_AS:
case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS: case MENU_ENUM_LABEL_CHEAT_FILE_SAVE_AS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVESTATE_SUBMENU:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_LOAD_STATE:
return xmb->textures.list[XMB_TEXTURE_SAVING]; return xmb->textures.list[XMB_TEXTURE_SAVING];
case MENU_ENUM_LABEL_LOGGING_SETTINGS: case MENU_ENUM_LABEL_LOGGING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_LOGGING:
return xmb->textures.list[XMB_TEXTURE_LOG]; return xmb->textures.list[XMB_TEXTURE_LOG];
case MENU_ENUM_LABEL_FASTFORWARD_RATIO: case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
case MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS: case MENU_ENUM_LABEL_FRAME_THROTTLE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_FRAME_THROTTLE:
return xmb->textures.list[XMB_TEXTURE_FRAMESKIP]; return xmb->textures.list[XMB_TEXTURE_FRAMESKIP];
case MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING: case MENU_ENUM_LABEL_QUICK_MENU_START_RECORDING:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_RECORDING:
case MENU_ENUM_LABEL_RECORDING_SETTINGS: case MENU_ENUM_LABEL_RECORDING_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_RECORDING:
return xmb->textures.list[XMB_TEXTURE_RECORD]; return xmb->textures.list[XMB_TEXTURE_RECORD];
case MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING: case MENU_ENUM_LABEL_QUICK_MENU_START_STREAMING:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_START_STREAMING:
return xmb->textures.list[XMB_TEXTURE_STREAM]; return xmb->textures.list[XMB_TEXTURE_STREAM];
case MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING: case MENU_ENUM_LABEL_QUICK_MENU_STOP_STREAMING:
case MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING: case MENU_ENUM_LABEL_QUICK_MENU_STOP_RECORDING:
@ -3106,14 +3145,17 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
return xmb->textures.list[XMB_TEXTURE_UNDO]; return xmb->textures.list[XMB_TEXTURE_UNDO];
case MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH: case MENU_ENUM_LABEL_CORE_OPTIONS_FLUSH:
case MENU_ENUM_LABEL_REMAP_FILE_FLUSH: case MENU_ENUM_LABEL_REMAP_FILE_FLUSH:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CORE_OPTIONS_FLUSH:
return xmb->textures.list[XMB_TEXTURE_FILE]; return xmb->textures.list[XMB_TEXTURE_FILE];
case MENU_ENUM_LABEL_CORE_LOCK: case MENU_ENUM_LABEL_CORE_LOCK:
case MENU_ENUM_LABEL_CORE_SET_STANDALONE_EXEMPT: case MENU_ENUM_LABEL_CORE_SET_STANDALONE_EXEMPT:
return xmb->textures.list[XMB_TEXTURE_CORE]; return xmb->textures.list[XMB_TEXTURE_CORE];
case MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_ONSCREEN_DISPLAY:
return xmb->textures.list[XMB_TEXTURE_OSD]; return xmb->textures.list[XMB_TEXTURE_OSD];
case MENU_ENUM_LABEL_SHOW_WIMP: case MENU_ENUM_LABEL_SHOW_WIMP:
case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS: case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_USER_INTERFACE:
return xmb->textures.list[XMB_TEXTURE_UI]; return xmb->textures.list[XMB_TEXTURE_UI];
#ifdef HAVE_LAKKA_SWITCH #ifdef HAVE_LAKKA_SWITCH
case MENU_ENUM_LABEL_SWITCH_GPU_PROFILE: case MENU_ENUM_LABEL_SWITCH_GPU_PROFILE:
@ -3123,18 +3165,26 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
return xmb->textures.list[XMB_TEXTURE_POWER]; return xmb->textures.list[XMB_TEXTURE_POWER];
#endif #endif
case MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS: case MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_POWER_MANAGEMENT:
case MENU_ENUM_LABEL_FASTFORWARD_FRAMESKIP:
return xmb->textures.list[XMB_TEXTURE_POWER]; return xmb->textures.list[XMB_TEXTURE_POWER];
case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS: case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_ACHIEVEMENTS:
return xmb->textures.list[XMB_TEXTURE_ACHIEVEMENTS]; return xmb->textures.list[XMB_TEXTURE_ACHIEVEMENTS];
case MENU_ENUM_LABEL_PLAYLIST_SETTINGS: case MENU_ENUM_LABEL_PLAYLIST_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_PLAYLISTS:
return xmb->textures.list[XMB_TEXTURE_PLAYLIST]; return xmb->textures.list[XMB_TEXTURE_PLAYLIST];
case MENU_ENUM_LABEL_USER_SETTINGS: case MENU_ENUM_LABEL_USER_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_USER:
return xmb->textures.list[XMB_TEXTURE_USER]; return xmb->textures.list[XMB_TEXTURE_USER];
case MENU_ENUM_LABEL_PRIVACY_SETTINGS: case MENU_ENUM_LABEL_PRIVACY_SETTINGS:
return xmb->textures.list[XMB_TEXTURE_PRIVACY]; return xmb->textures.list[XMB_TEXTURE_PRIVACY];
case MENU_ENUM_LABEL_REWIND_SETTINGS: case MENU_ENUM_LABEL_REWIND_SETTINGS:
case MENU_ENUM_LABEL_CONTENT_SHOW_REWIND:
return xmb->textures.list[XMB_TEXTURE_REWIND]; return xmb->textures.list[XMB_TEXTURE_REWIND];
case MENU_ENUM_LABEL_QUICK_MENU_OVERRIDE_OPTIONS: case MENU_ENUM_LABEL_QUICK_MENU_OVERRIDE_OPTIONS:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES:
case MENU_ENUM_LABEL_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES:
return xmb->textures.list[XMB_TEXTURE_OVERRIDE]; return xmb->textures.list[XMB_TEXTURE_OVERRIDE];
case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS: case MENU_ENUM_LABEL_ONSCREEN_NOTIFICATIONS_SETTINGS:
return xmb->textures.list[XMB_TEXTURE_NOTIFICATIONS]; return xmb->textures.list[XMB_TEXTURE_NOTIFICATIONS];
@ -3153,6 +3203,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
#endif #endif
case MENU_ENUM_LABEL_NETWORK_INFORMATION: case MENU_ENUM_LABEL_NETWORK_INFORMATION:
case MENU_ENUM_LABEL_NETWORK_SETTINGS: case MENU_ENUM_LABEL_NETWORK_SETTINGS:
case MENU_ENUM_LABEL_SETTINGS_SHOW_NETWORK:
case MENU_ENUM_LABEL_WIFI_SETTINGS: case MENU_ENUM_LABEL_WIFI_SETTINGS:
case MENU_ENUM_LABEL_NETWORK_INFO_ENTRY: case MENU_ENUM_LABEL_NETWORK_INFO_ENTRY:
case MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS: case MENU_ENUM_LABEL_NETWORK_HOSTING_SETTINGS:
@ -3176,7 +3227,6 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE: case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
return xmb->textures.list[XMB_TEXTURE_MENU_APPLY_TOGGLE]; return xmb->textures.list[XMB_TEXTURE_MENU_APPLY_TOGGLE];
case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD: case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
return xmb->textures.list[XMB_TEXTURE_MENU_APPLY_COG]; return xmb->textures.list[XMB_TEXTURE_MENU_APPLY_COG];
case MENU_ENUM_LABEL_SLOWMOTION_RATIO: case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
return xmb->textures.list[XMB_TEXTURE_RESUME]; return xmb->textures.list[XMB_TEXTURE_RESUME];
@ -3188,6 +3238,12 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
uintptr_t icon = menu_explore_get_entry_icon(type); uintptr_t icon = menu_explore_get_entry_icon(type);
if (icon) if (icon)
return icon; return icon;
else if (string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_SAVE_VIEW)))
return xmb->textures.list[XMB_TEXTURE_SAVING];
else if (string_is_equal(enum_path, msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_DELETE_VIEW)))
return xmb->textures.list[XMB_TEXTURE_CLOSE];
else if (type != FILE_TYPE_RDB)
return xmb->textures.list[XMB_TEXTURE_CURSOR];
break; break;
} }
#endif #endif
@ -3202,7 +3258,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
break; break;
} }
switch(type) switch (type)
{ {
case FILE_TYPE_DIRECTORY: case FILE_TYPE_DIRECTORY:
return xmb->textures.list[XMB_TEXTURE_FOLDER]; return xmb->textures.list[XMB_TEXTURE_FOLDER];
@ -3872,6 +3928,10 @@ static int xmb_draw_item(
{ {
float entry_idx_margin = 12 * xmb->last_scale_factor; float entry_idx_margin = 12 * xmb->last_scale_factor;
#if 0
/* Disabled due to overlap with arrow image
* and previous selection icon when enough items */
/* Calculate position depending on the current /* Calculate position depending on the current
* list and if Thumbnail Vertical Disposition * list and if Thumbnail Vertical Disposition
* is enabled (branchless version) */ * is enabled (branchless version) */
@ -3888,6 +3948,10 @@ static int xmb_draw_item(
(xmb->margins_screen_top + xmb->margins_label_top + (xmb->margins_screen_top + xmb->margins_label_top +
xmb->icon_spacing_vertical * xmb->active_item_factor) * xmb->icon_spacing_vertical * xmb->active_item_factor) *
menu_xmb_vertical_thumbnails; menu_xmb_vertical_thumbnails;
#else
float x_position = video_width - entry_idx_margin;
float y_position = video_height - entry_idx_margin;
#endif
xmb_draw_text(xmb_shadows_enable, xmb, settings, xmb_draw_text(xmb_shadows_enable, xmb, settings,
xmb->entry_index_str, x_position, y_position, xmb->entry_index_str, x_position, y_position,
@ -3958,8 +4022,30 @@ static int xmb_draw_item(
float y = icon_y; float y = icon_y;
float scale_factor = node->zoom; float scale_factor = node->zoom;
/* Explore list correction hack for not showing wrong icons as "back" icon */
if (xmb->is_explore_list && !xmb->is_quick_menu && texture)
{
if (node->x < -xmb->icon_spacing_horizontal / 3)
texture = xmb->textures.list[XMB_TEXTURE_CURSOR];
}
/* Playlist manager icons */
else if (xmb->depth == 3 && entry.enum_idx == MENU_ENUM_LABEL_PLAYLIST_MANAGER_SETTINGS)
{
if (string_is_equal(entry.rich_label, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HISTORY_TAB)))
texture = xmb->textures.list[XMB_TEXTURE_HISTORY];
else if (string_is_equal(entry.rich_label, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES_TAB)))
texture = xmb->textures.list[XMB_TEXTURE_FAVORITES];
else if (i < xmb->horizontal_list.size)
{
xmb_node_t *sidebar_node = (xmb_node_t*)
file_list_get_userdata_at_offset(&xmb->horizontal_list, i + 1);
if (sidebar_node && sidebar_node->icon)
texture = sidebar_node->icon;
}
}
/* "Load Content" playlists */ /* "Load Content" playlists */
if (xmb->depth == 3 && entry_type == FILE_TYPE_PLAYLIST_COLLECTION) else if (xmb->depth == 3 && entry_type == FILE_TYPE_PLAYLIST_COLLECTION)
{ {
xmb_node_t *sidebar_node = (xmb_node_t*) file_list_get_userdata_at_offset(&xmb->horizontal_list, list->list[i].entry_idx); xmb_node_t *sidebar_node = (xmb_node_t*) file_list_get_userdata_at_offset(&xmb->horizontal_list, list->list[i].entry_idx);
if (sidebar_node && sidebar_node->icon) if (sidebar_node && sidebar_node->icon)
@ -4122,11 +4208,15 @@ static void xmb_draw_items(
if (node && (uint8_t)(255 * node->alpha) == 0) if (node && (uint8_t)(255 * node->alpha) == 0)
return; return;
i = 0; /* Draw only current item for "back" icon */
first = (unsigned)current;
last = (unsigned)current;
}
else
{
first = (unsigned)i;
last = (unsigned)(end - 1);
} }
first = (unsigned)i;
last = (unsigned)(end - 1);
xmb_calculate_visible_range(xmb, height, xmb_calculate_visible_range(xmb, height,
end, (unsigned)current, &first, &last); end, (unsigned)current, &first, &last);
@ -5041,18 +5131,9 @@ static void xmb_draw_fullscreen_thumbnails(
(!xmb->is_quick_menu || xmb->show_fullscreen_thumbnails)) (!xmb->is_quick_menu || xmb->show_fullscreen_thumbnails))
goto error; goto error;
/* Get thumbnail pointers /* Get thumbnail pointers */
* > Order is swapped when using 'vertical disposition' */ right_thumbnail = &xmb->thumbnails.right;
if (xmb_vertical_thumbnails) left_thumbnail = &xmb->thumbnails.left;
{
right_thumbnail = &xmb->thumbnails.left;
left_thumbnail = &xmb->thumbnails.right;
}
else
{
right_thumbnail = &xmb->thumbnails.right;
left_thumbnail = &xmb->thumbnails.left;
}
/* Get number of 'active' thumbnails */ /* Get number of 'active' thumbnails */
show_right_thumbnail = (right_thumbnail->status == GFX_THUMBNAIL_STATUS_AVAILABLE); show_right_thumbnail = (right_thumbnail->status == GFX_THUMBNAIL_STATUS_AVAILABLE);
@ -5636,7 +5717,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
float thumb_y_base = xmb->margins_title_top + (xmb->icon_size / 4.0f); float thumb_y_base = xmb->margins_title_top + (xmb->icon_size / 4.0f);
float thumb_y_offset = (thumb_height - scaled_thumb_height) / 2.0f; float thumb_y_offset = (thumb_height - scaled_thumb_height) / 2.0f;
float right_thumb_y = thumb_y_base + thumb_y_offset; float right_thumb_y = thumb_y_base + thumb_y_offset;
float left_thumb_y = thumb_y_base + thumb_height + (xmb->icon_size / 4) + thumb_y_offset; float left_thumb_y = thumb_y_base + thumb_height + (xmb->icon_size / 8) + thumb_y_offset;
gfx_thumbnail_draw( gfx_thumbnail_draw(
userdata, userdata,
@ -5933,8 +6014,8 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
if (dispctx && dispctx->blend_begin) if (dispctx && dispctx->blend_begin)
dispctx->blend_begin(userdata); dispctx->blend_begin(userdata);
/* Horizontal tab icons */ /* Horizontal tab icons only needed on root depth */
if (!xmb->assets_missing) if (!xmb->assets_missing && xmb->depth == 1)
{ {
for (i = 0; i <= xmb_list_get_size(xmb, MENU_LIST_HORIZONTAL) for (i = 0; i <= xmb_list_get_size(xmb, MENU_LIST_HORIZONTAL)
+ xmb->system_tab_end; i++) + xmb->system_tab_end; i++)
@ -6023,7 +6104,6 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
&mymat_tmp); &mymat_tmp);
} }
} }
} }
/* Vertical icons */ /* Vertical icons */
@ -6039,9 +6119,9 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
xmb, xmb,
&xmb->selection_buf_old, &xmb->selection_buf_old,
xmb->selection_ptr_old, xmb->selection_ptr_old,
(xmb_list_get_size(xmb, MENU_LIST_PLAIN) > 1) (xmb->depth > 1)
? xmb->categories_selection_ptr : ? xmb->categories_selection_ptr
xmb->categories_selection_ptr_old, : xmb->categories_selection_ptr_old,
&xmb_item_color[0], &xmb_item_color[0],
video_width, video_width,
video_height, video_height,
@ -6049,6 +6129,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info)
selection_buf = menu_entries_get_selection_buf_ptr(0); selection_buf = menu_entries_get_selection_buf_ptr(0);
/* List icons */
xmb_draw_items( xmb_draw_items(
userdata, userdata,
p_disp, p_disp,
@ -6450,17 +6531,17 @@ static void *xmb_init(void **userdata, bool video_is_threaded)
&& !settings->bools.kiosk_mode_enable) && !settings->bools.kiosk_mode_enable)
xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_ADD; xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_ADD;
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_EXPLORE;
#endif
#if defined(HAVE_DYNAMIC) #if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores != if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE) MENU_CONTENTLESS_CORES_DISPLAY_NONE)
xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_CONTENTLESS_CORES; xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_CONTENTLESS_CORES;
#endif #endif
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
xmb->tabs[++xmb->system_tab_end] = XMB_SYSTEM_TAB_EXPLORE;
#endif
menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL); menu_driver_ctl(RARCH_MENU_CTL_UNSET_PREVENT_POPULATE, NULL);
/* TODO/FIXME - we don't use framebuffer at all /* TODO/FIXME - we don't use framebuffer at all
@ -6940,20 +7021,20 @@ static bool xmb_context_reset_textures(
xmb->add_tab_node.alpha = xmb->categories_active_alpha; xmb->add_tab_node.alpha = xmb->categories_active_alpha;
xmb->add_tab_node.zoom = xmb->categories_active_zoom; xmb->add_tab_node.zoom = xmb->categories_active_zoom;
xmb->contentless_cores_tab_node.icon = xmb->textures.list[XMB_TEXTURE_CORE];
xmb->contentless_cores_tab_node.alpha = xmb->categories_active_alpha;
xmb->contentless_cores_tab_node.zoom = xmb->categories_active_zoom;
#if defined(HAVE_LIBRETRODB) #if defined(HAVE_LIBRETRODB)
xmb->explore_tab_node.icon = xmb->textures.list[XMB_TEXTURE_MAIN_MENU]; xmb->explore_tab_node.icon = xmb->textures.list[XMB_TEXTURE_RDB];
xmb->explore_tab_node.alpha = xmb->categories_active_alpha; xmb->explore_tab_node.alpha = xmb->categories_active_alpha;
xmb->explore_tab_node.zoom = xmb->categories_active_zoom; xmb->explore_tab_node.zoom = xmb->categories_active_zoom;
#endif #endif
xmb->contentless_cores_tab_node.icon = xmb->textures.list[XMB_TEXTURE_MAIN_MENU];
xmb->contentless_cores_tab_node.alpha = xmb->categories_active_alpha;
xmb->contentless_cores_tab_node.zoom = xmb->categories_active_zoom;
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
xmb->netplay_tab_node.icon = xmb->textures.list[XMB_TEXTURE_NETPLAY]; xmb->netplay_tab_node.icon = xmb->textures.list[XMB_TEXTURE_NETPLAY];
xmb->netplay_tab_node.alpha = xmb->categories_active_alpha; xmb->netplay_tab_node.alpha = xmb->categories_active_alpha;
xmb->netplay_tab_node.zoom = xmb->categories_active_zoom; xmb->netplay_tab_node.zoom = xmb->categories_active_zoom;
#endif #endif
/* Recolor */ /* Recolor */
@ -7095,6 +7176,12 @@ static void xmb_context_reset_internal(xmb_handle_t *xmb,
if (!xmb_context_reset_textures(xmb, iconpath, menu_xmb_theme)) if (!xmb_context_reset_textures(xmb, iconpath, menu_xmb_theme))
xmb->assets_missing = true; xmb->assets_missing = true;
xmb_context_reset_background(xmb, iconpath); xmb_context_reset_background(xmb, iconpath);
xmb_free_list_nodes(&xmb->selection_buf_old, false);
file_list_deinitialize(&xmb->selection_buf_old);
xmb->selection_buf_old.list = NULL;
xmb->selection_buf_old.capacity = 0;
xmb->selection_buf_old.size = 0;
} }
xmb_context_reset_horizontal_list(xmb); xmb_context_reset_horizontal_list(xmb);

View File

@ -4081,26 +4081,6 @@ static unsigned menu_displaylist_parse_playlists(
MENU_SETTING_ACTION, 0, 0, NULL)) MENU_SETTING_ACTION, 0, 0, NULL))
count++; count++;
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_EXPLORE),
MENU_ENUM_LABEL_GOTO_EXPLORE,
MENU_EXPLORE_TAB, 0, 0, NULL))
count++;
#endif
#if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_CONTENTLESS_CORES),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES),
MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES,
MENU_CONTENTLESS_CORES_TAB, 0, 0, NULL))
count++;
#endif
if (settings->bools.menu_content_show_favorites) if (settings->bools.menu_content_show_favorites)
if (menu_entries_append(info->list, if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_FAVORITES), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_FAVORITES),
@ -4108,6 +4088,7 @@ static unsigned menu_displaylist_parse_playlists(
MENU_ENUM_LABEL_GOTO_FAVORITES, MENU_ENUM_LABEL_GOTO_FAVORITES,
MENU_SETTING_ACTION, 0, 0, NULL)) MENU_SETTING_ACTION, 0, 0, NULL))
count++; count++;
if (settings->bools.menu_content_show_images) if (settings->bools.menu_content_show_images)
if (menu_entries_append(info->list, if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_IMAGES), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_IMAGES),
@ -4133,6 +4114,28 @@ static unsigned menu_displaylist_parse_playlists(
MENU_SETTING_ACTION, 0, 0, NULL)) MENU_SETTING_ACTION, 0, 0, NULL))
count++; count++;
#endif #endif
#if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_CONTENTLESS_CORES),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES),
MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES,
MENU_CONTENTLESS_CORES_TAB, 0, 0, NULL))
count++;
#endif
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
if (menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_EXPLORE),
MENU_ENUM_LABEL_GOTO_EXPLORE,
MENU_EXPLORE_TAB, 0, 0, NULL))
count++;
#endif
} }
if (!dir_list_initialize(&str_list, path, NULL, true, if (!dir_list_initialize(&str_list, path, NULL, true,
@ -6872,26 +6875,6 @@ unsigned menu_displaylist_build_list(
MENU_SETTING_ACTION_FAVORITES_DIR, 0, 0, NULL)) MENU_SETTING_ACTION_FAVORITES_DIR, 0, 0, NULL))
count++; count++;
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_EXPLORE),
MENU_ENUM_LABEL_GOTO_EXPLORE,
MENU_EXPLORE_TAB, 0, 0, NULL))
count++;
#endif
#if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_CONTENTLESS_CORES),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES),
MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES,
MENU_CONTENTLESS_CORES_TAB, 0, 0, NULL))
count++;
#endif
if (menu_content_show_favorites) if (menu_content_show_favorites)
if (menu_entries_append(list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_FAVORITES), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_FAVORITES),
@ -6925,6 +6908,27 @@ unsigned menu_displaylist_build_list(
MENU_SETTING_ACTION, 0, 0, NULL)) MENU_SETTING_ACTION, 0, 0, NULL))
count++; count++;
#endif #endif
#if defined(HAVE_DYNAMIC)
if (settings->uints.menu_content_show_contentless_cores !=
MENU_CONTENTLESS_CORES_DISPLAY_NONE)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_CONTENTLESS_CORES),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES),
MENU_ENUM_LABEL_GOTO_CONTENTLESS_CORES,
MENU_CONTENTLESS_CORES_TAB, 0, 0, NULL))
count++;
#endif
#if defined(HAVE_LIBRETRODB)
if (settings->bools.menu_content_show_explore)
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_GOTO_EXPLORE),
msg_hash_to_str(MENU_ENUM_LABEL_GOTO_EXPLORE),
MENU_ENUM_LABEL_GOTO_EXPLORE,
MENU_EXPLORE_TAB, 0, 0, NULL))
count++;
#endif
} }
{ {
@ -8906,7 +8910,7 @@ unsigned menu_displaylist_build_list(
{ {
menu_displaylist_build_info_selective_t build_list[] = { menu_displaylist_build_info_selective_t build_list[] = {
{MENU_ENUM_LABEL_QUICK_MENU_VIEWS_SETTINGS, PARSE_ACTION, true }, {MENU_ENUM_LABEL_QUICK_MENU_VIEWS_SETTINGS, PARSE_ACTION, true },
{MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS, PARSE_ACTION, true }, {MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS, PARSE_ACTION, true },
{MENU_ENUM_LABEL_MENU_SHOW_LOAD_CORE, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_MENU_SHOW_LOAD_CORE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_MENU_SHOW_LOAD_CONTENT, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_MENU_SHOW_LOAD_CONTENT, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_MENU_SHOW_LOAD_DISC, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_MENU_SHOW_LOAD_DISC, PARSE_ONLY_BOOL, true },
@ -8932,18 +8936,18 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_MENU_SHOW_SHUTDOWN, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_MENU_SHOW_SHUTDOWN, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS_PASSWORD, PARSE_ONLY_STRING, true}, {MENU_ENUM_LABEL_CONTENT_SHOW_SETTINGS_PASSWORD, PARSE_ONLY_STRING, true},
{MENU_ENUM_LABEL_CONTENT_SHOW_EXPLORE, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_ADD, PARSE_ONLY_BOOL, true },
#if defined(HAVE_DYNAMIC) {MENU_ENUM_LABEL_CONTENT_SHOW_ADD_ENTRY, PARSE_ONLY_UINT, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_CONTENTLESS_CORES, PARSE_ONLY_UINT, true },
#endif
{MENU_ENUM_LABEL_CONTENT_SHOW_FAVORITES, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_FAVORITES, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_HISTORY, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_IMAGES, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_IMAGES, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_MUSIC, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_MUSIC, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_VIDEO, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_VIDEO, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_HISTORY, PARSE_ONLY_BOOL, true }, #if defined(HAVE_DYNAMIC)
{MENU_ENUM_LABEL_CONTENT_SHOW_ADD, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_CONTENTLESS_CORES, PARSE_ONLY_UINT, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_ADD_ENTRY, PARSE_ONLY_UINT, true }, #endif
{MENU_ENUM_LABEL_CONTENT_SHOW_EXPLORE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_CONTENT_SHOW_PLAYLISTS, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_CONTENT_SHOW_PLAYLISTS, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_TIMEDATE_ENABLE, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_TIMEDATE_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_TIMEDATE_STYLE, PARSE_ONLY_UINT, true }, {MENU_ENUM_LABEL_TIMEDATE_STYLE, PARSE_ONLY_UINT, true },

View File

@ -1383,8 +1383,11 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RDB_ENTRY_NAME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RDB_ENTRY_NAME),
state->view_search); state->view_search);
state->show_icons = (current_cat == EXPLORE_BY_SYSTEM state->show_icons = (current_cat == EXPLORE_BY_SYSTEM)
? EXPLORE_ICONS_SYSTEM_CATEGORY : EXPLORE_ICONS_OFF); ? EXPLORE_ICONS_SYSTEM_CATEGORY
: (current_type >= EXPLORE_TYPE_FIRSTITEM)
? EXPLORE_ICONS_CONTENT
: EXPLORE_ICONS_OFF;
if ( current_type == MENU_EXPLORE_TAB if ( current_type == MENU_EXPLORE_TAB
|| current_type == EXPLORE_TYPE_ADDITIONALFILTER) || current_type == EXPLORE_TYPE_ADDITIONALFILTER)
@ -1537,6 +1540,7 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
else else
{ {
/* Game list */ /* Game list */
state->show_icons = EXPLORE_ICONS_CONTENT;
explore_menu_entry(list, state, explore_menu_entry(list, state,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_EXPLORE_ADD_ADDITIONAL_FILTER), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_EXPLORE_ADD_ADDITIONAL_FILTER),
EXPLORE_TYPE_ADDITIONALFILTER, explore_action_ok); EXPLORE_TYPE_ADDITIONALFILTER, explore_action_ok);
@ -1544,7 +1548,6 @@ unsigned menu_displaylist_explore(file_list_t *list, settings_t *settings)
msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_SAVE_VIEW), msg_hash_to_str(MENU_ENUM_LABEL_EXPLORE_SAVE_VIEW),
EXPLORE_TYPE_VIEW, explore_action_ok_saveview); EXPLORE_TYPE_VIEW, explore_action_ok_saveview);
explore_menu_add_spacer(list); explore_menu_add_spacer(list);
state->show_icons = EXPLORE_ICONS_CONTENT;
} }
first_list_entry = list->size; first_list_entry = list->size;