diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index f68fd02e85..edfe014a7e 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8366,6 +8366,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY, "Boysenberry" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL, + "Hacking the Kernel" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LEFT_THUMBNAILS_OZONE, "Second Thumbnail" diff --git a/menu/drivers/ozone/ozone_theme.c b/menu/drivers/ozone/ozone_theme.c index 6c5b9df203..b1e1bfb80d 100644 --- a/menu/drivers/ozone/ozone_theme.c +++ b/menu/drivers/ozone/ozone_theme.c @@ -161,6 +161,34 @@ static float ozone_sidebar_gradient_bottom_boysenberry[16] = { 0.27058823529, 0.09803921568, 0.14117647058, 1.00, }; +static float ozone_background_libretro_running_hacking_the_kernel[16] = { + 0.0, 0.0666666f, 0.0, 0.75f, + 0.0, 0.0666666f, 0.0, 0.75f, + 0.0, 0.0666666f, 0.0, 1.0f, + 0.0, 0.0666666f, 0.0, 1.0f, +}; + +static float ozone_sidebar_background_hacking_the_kernel[16] = { + 0.0, 0.1333333f, 0.0, 1.0f, + 0.0, 0.1333333f, 0.0, 1.0f, + 0.0, 0.1333333f, 0.0, 1.0f, + 0.0, 0.1333333f, 0.0, 1.0f, +}; + +static float ozone_sidebar_gradient_top_hacking_the_kernel[16] = { + 0.0, 0.13333333, 0.0, 1.0f, + 0.0, 0.13333333, 0.0, 1.0f, + 0.0, 0.13333333, 0.0, 1.0f, + 0.0, 0.13333333, 0.0, 1.0f, +}; + +static float ozone_sidebar_gradient_bottom_hacking_the_kernel[16] = { + 0.0, 0.0666666f, 0.0, 1.0f, + 0.0, 0.0666666f, 0.0, 1.0f, + 0.0, 0.13333333, 0.0, 1.0f, + 0.0, 0.13333333, 0.0, 1.0f, +}; + static float ozone_border_0_light[16] = COLOR_HEX_TO_FLOAT(0x50EFD9, 1.00); static float ozone_border_1_light[16] = COLOR_HEX_TO_FLOAT(0x0DB6D5, 1.00); @@ -177,6 +205,10 @@ static float ozone_border_1_gruvbox_dark[16] = COLOR_HEX_TO_FLOAT(0xFE8019, 1.0f static float ozone_border_0_boysenberry[16] = COLOR_HEX_TO_FLOAT(0x50EFD9, 1.00); static float ozone_border_1_boysenberry[16] = COLOR_HEX_TO_FLOAT(0x0DB6D5, 1.00); +static float ozone_border_0_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x008c00, 1.0f); +static float ozone_border_1_hacking_the_kernel[16] = COLOR_HEX_TO_FLOAT(0x00e000, 1.0f); + + ozone_theme_t ozone_theme_light = { COLOR_HEX_TO_FLOAT(0xEBEBEB, 1.00), ozone_background_libretro_running_light, @@ -337,13 +369,48 @@ ozone_theme_t ozone_theme_boysenberry = { "boysenberry" /* name */ }; +ozone_theme_t ozone_theme_hacking_the_kernel = { + /* Background color */ + COLOR_HEX_TO_FLOAT(0x001100, 1.0f), /* background */ + ozone_background_libretro_running_hacking_the_kernel, /* background_libretro_running */ + + /* Float colors for quads and icons */ + COLOR_HEX_TO_FLOAT(0x17C936, 1.0f), /* header_footer_separator */ + COLOR_HEX_TO_FLOAT(0x00FF29, 1.0f), /* text */ + COLOR_HEX_TO_FLOAT(0x003400, 1.0f), /* selection */ + COLOR_HEX_TO_FLOAT(0x1BDA3C, 1.0f), /* selection_border */ + COLOR_HEX_TO_FLOAT(0x008C00, 0.1f), /* entries_border */ + COLOR_HEX_TO_FLOAT(0x00FF00, 1.0f), /* entries_icon */ + COLOR_HEX_TO_FLOAT(0x8EC07C, 1.0f), /* text_selected */ + COLOR_HEX_TO_FLOAT(0x0D0E0F, 1.0f), /* message_background */ + + /* RGBA colors for text */ + 0x00E528FF, /* text_rgba */ + 0x83FF83FF, /* text_selected_rgba */ + 0x53E63DFF, /* text_sublabel_rgba */ + + /* Sidebar color */ + ozone_sidebar_background_hacking_the_kernel, /* sidebar_background */ + ozone_sidebar_gradient_top_hacking_the_kernel, /* sidebar_top_gradient */ + ozone_sidebar_gradient_bottom_hacking_the_kernel, /* sidebar_bottom_gradient */ + + /* Fancy cursor colors */ + ozone_border_0_hacking_the_kernel, /* cursor_border_0 */ + ozone_border_1_hacking_the_kernel, /* cursor_border_1 */ + + {0}, /* textures */ + + "hacking_the_kernel" /* name */ +}; + ozone_theme_t *ozone_themes[] = { &ozone_theme_light, &ozone_theme_dark, &ozone_theme_nord, &ozone_theme_gruvbox_dark, - &ozone_theme_boysenberry + &ozone_theme_boysenberry, + &ozone_theme_hacking_the_kernel }; @@ -379,7 +446,10 @@ void ozone_set_color_theme(ozone_handle_t *ozone, unsigned color_theme) break; case 4: theme = &ozone_theme_boysenberry; - break; + break; + case 5: + theme = &ozone_theme_hacking_the_kernel; + break; default: break; } diff --git a/menu/drivers/ozone/ozone_theme.h b/menu/drivers/ozone/ozone_theme.h index d5293be630..0b09e9db15 100644 --- a/menu/drivers/ozone/ozone_theme.h +++ b/menu/drivers/ozone/ozone_theme.h @@ -69,6 +69,7 @@ extern ozone_theme_t ozone_theme_dark; extern ozone_theme_t ozone_theme_nord; extern ozone_theme_t ozone_theme_gruvbox_dark; extern ozone_theme_t ozone_theme_boysenberry; +extern ozone_theme_t ozone_theme_hacking_the_kernel; extern ozone_theme_t *ozone_themes[]; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 1be994469f..9ca1b316a7 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -4486,7 +4486,12 @@ static void setting_get_string_representation_uint_ozone_menu_color_theme( strlcpy(s, msg_hash_to_str( MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY), len); - break; + break; + case 5: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL), len); + break; case 0: default: strlcpy(s, @@ -14683,7 +14688,7 @@ static bool setting_append_list( (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_ozone_menu_color_theme; - menu_settings_list_current_add_range(list, list_info, 0, 4, 1, true, true); + menu_settings_list_current_add_range(list, list_info, 0, 5, 1, true, true); (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; CONFIG_BOOL( diff --git a/msg_hash.h b/msg_hash.h index 14bc3502c8..1501db1654 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -578,6 +578,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_NORD, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_GRUVBOX_DARK, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BOYSENBERRY, + MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_HACKING_THE_KERNEL, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME, MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_MONOCHROME_INVERTED,