diff --git a/CHANGES.md b/CHANGES.md index d5b8122b4d..c15ae1dc99 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -72,8 +72,9 @@ - UWP: Initial UWP port. - VFS: Update to version 3. - XBONE: Initial Xbox One port. -- XMB/OZONE: Add more icons. -- ???: Easter Egg. +- XMB/OZONE: Add more icons +- XMB: Add Automatic Inverted theme +- ???: Easter Egg # 1.7.5 - CAMERA: Fix Video4Linux2 driver that broke years ago. diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 6da8531040..80b743b396 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -3602,6 +3602,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC, "Automatic" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC_INVERTED, + "Automatic Inverted" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME, "Menu Color Theme" diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 6d3fb4cfe9..a965d9477d 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -480,9 +480,11 @@ const char* xmb_theme_ident(void) case XMB_ICON_THEME_CUSTOM: return "custom"; case XMB_ICON_THEME_MONOCHROME_INVERTED: - return "monochrome-inverted"; + return "monochrome"; case XMB_ICON_THEME_AUTOMATIC: return "automatic"; + case XMB_ICON_THEME_AUTOMATIC_INVERTED: + return "automatic"; case XMB_ICON_THEME_MONOCHROME: default: break; @@ -3754,7 +3756,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) } /* Clock image */ - menu_display_set_alpha(coord_white, MIN(xmb->alpha, 1.00f)); + menu_display_set_alpha(item_color, MIN(xmb->alpha, 1.00f)); if (video_info->battery_level_enable) { @@ -3794,7 +3796,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) 1, 0, 1, - &coord_white[0], + &item_color[0], xmb->shadow_offset); snprintf(msg, sizeof(msg), "%d%%", percent); @@ -3834,7 +3836,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) 1, 0, 1, - &coord_white[0], + &item_color[0], xmb->shadow_offset); } @@ -3856,7 +3858,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) } /* Arrow image */ - menu_display_set_alpha(coord_white, + menu_display_set_alpha(item_color, MIN(xmb->textures_arrow_alpha, xmb->alpha)); if (coord_white[3] != 0 && !xmb->assets_missing) @@ -3875,7 +3877,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) xmb->textures_arrow_alpha, 0, 1, - &coord_white[0], + &item_color[0], xmb->shadow_offset); menu_display_blend_begin(video_info); @@ -4978,6 +4980,35 @@ static void xmb_context_reset_textures( xmb->netplay_tab_node.zoom = xmb->categories_active_zoom; #endif + /* Recolor */ + if ( + (settings->uints.menu_xmb_theme == XMB_ICON_THEME_MONOCHROME_INVERTED) || + (settings->uints.menu_xmb_theme == XMB_ICON_THEME_AUTOMATIC_INVERTED) + ) + memcpy(item_color, coord_black, sizeof(item_color)); + else + { + if ( + (settings->uints.menu_xmb_theme == XMB_ICON_THEME_MONOCHROME) || + (settings->uints.menu_xmb_theme == XMB_ICON_THEME_AUTOMATIC) + ) + { + for (i=0;i<16;i++) + { + if ((i==3) || (i==7) || (i==11) || (i==15)) + { + item_color[i] = 1; + continue; + } + item_color[i] = 0.95; + } + } + else + memcpy(item_color, coord_white, sizeof(item_color)); + } + + + return; error: diff --git a/menu/menu_defines.h b/menu/menu_defines.h index c64b778c66..d2a4126a0c 100644 --- a/menu/menu_defines.h +++ b/menu/menu_defines.h @@ -174,6 +174,7 @@ enum xmb_icon_theme XMB_ICON_THEME_RETROSYSTEM, XMB_ICON_THEME_MONOCHROME_INVERTED, XMB_ICON_THEME_AUTOMATIC, + XMB_ICON_THEME_AUTOMATIC_INVERTED, XMB_ICON_THEME_LAST }; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 0b7ef0c1cf..c8a1c92321 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -870,6 +870,10 @@ static void setting_get_string_representation_uint_xmb_icon_theme( strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC), len); break; + case XMB_ICON_THEME_AUTOMATIC_INVERTED: + strlcpy(s, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC_INVERTED), len); + break; } } diff --git a/msg_hash.h b/msg_hash.h index 270f3ba65c..96cbbb8185 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -533,6 +533,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_DOTART, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC, + MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_AUTOMATIC_INVERTED, MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED, MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE,