diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index bfe620e278..5bce843e5d 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1389,7 +1389,8 @@ static void xmb_context_reset(void *data) strlcat(content_texturepath, core_id, sizeof(content_texturepath)); strlcat(content_texturepath, "-content.png", sizeof(content_texturepath)); - node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha : xmb->c_passive_alpha; + node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha + : (xmb->depth <= 1) ? xmb->c_passive_alpha : 0; node->zoom = (i == xmb->active_category) ? xmb->c_active_zoom : xmb->c_passive_zoom; node->icon = xmb_png_texture_load(texturepath); node->content_icon = xmb_png_texture_load(content_texturepath); @@ -1589,6 +1590,8 @@ static void xmb_toggle(bool menu_on) if (!xmb) return; + xmb->depth = file_list_get_size(driver.menu->menu_list->menu_stack); + if (menu_on) { add_tween(XMB_DELAY, 1.0f, &xmb->alpha, &inOutQuad, NULL); @@ -1604,6 +1607,8 @@ static void xmb_toggle(bool menu_on) node->alpha = (i == xmb->active_category) ? xmb->c_active_alpha : (xmb->depth <= 1) ? xmb->c_passive_alpha : 0; + node->zoom = (i == xmb->active_category) ? xmb->c_active_zoom + : xmb->c_passive_zoom; } } }