diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 56b07c6a2f..9a4ae85a39 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7778,5 +7778,5 @@ MSG_HASH( ) MSG_HASH( MSG_MISSING_ASSETS, - "Warning: Some assets are missing, use the Online Updater if available" + "Warning: Missing assets, use the Online Updater if available" ) \ No newline at end of file diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 51748cf1c5..9993d46512 100755 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -4936,13 +4936,12 @@ static void xmb_context_reset_textures( xmb_handle_t *xmb, const char *iconpath) { unsigned i; - bool missing_assets = false; + settings_t *settings = config_get_ptr(); for (i = 0; i < XMB_TEXTURE_LAST; i++) { if (xmb_texture_path(i) == NULL) { - missing_assets = true; /* If the icon doesn't exist at least try to return the subsetting icon*/ if (!(i == XMB_TEXTURE_DIALOG_SLICE || i == XMB_TEXTURE_KEY_HOVER || i == XMB_TEXTURE_KEY_HOVER)) menu_display_reset_textures_list(xmb_texture_path(XMB_TEXTURE_SUBSETTING), iconpath, &xmb->textures.list[i], TEXTURE_FILTER_MIPMAP_LINEAR); @@ -4951,6 +4950,12 @@ static void xmb_context_reset_textures( menu_display_reset_textures_list(xmb_texture_path(i), iconpath, &xmb->textures.list[i], TEXTURE_FILTER_MIPMAP_LINEAR); } + /* Warn only if critical assets are missing, some themes are incomplete */ + if ( + ((xmb_texture_path(XMB_TEXTURE_SUBSETTING) == NULL)) && !(settings->uints.menu_xmb_theme == XMB_ICON_THEME_CUSTOM) + ) + runloop_msg_queue_push(msg_hash_to_str(MSG_MISSING_ASSETS), 1, 256, false); + menu_display_allocate_white_texture(); xmb->main_menu_node.icon = xmb->textures.list[XMB_TEXTURE_MAIN_MENU]; @@ -4995,9 +5000,6 @@ static void xmb_context_reset_textures( xmb->netplay_tab_node.zoom = xmb->categories_active_zoom; #endif - if (missing_assets) - runloop_msg_queue_push(msg_hash_to_str(MSG_MISSING_ASSETS), 1, 256, false); - } static void xmb_context_reset_background(const char *iconpath)