diff --git a/config.def.h b/config.def.h index 6eaa94cb2e..848fc1df96 100644 --- a/config.def.h +++ b/config.def.h @@ -273,6 +273,9 @@ static bool menu_show_core_updater = true; #ifdef HAVE_XMB static unsigned xmb_scale_factor = 100; static unsigned xmb_alpha_factor = 75; +static unsigned xmb_font_color_red = 255; +static unsigned xmb_font_color_green = 255; +static unsigned xmb_font_color_blue = 255; static unsigned xmb_icon_theme = XMB_ICON_THEME_MONOCHROME; static unsigned xmb_theme = XMB_THEME_ELECTRIC_BLUE; #ifdef HAVE_LAKKA diff --git a/configuration.c b/configuration.c index a0c7005568..c1356640ab 100644 --- a/configuration.c +++ b/configuration.c @@ -1412,6 +1412,9 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings, SETTING_UINT("xmb_scale_factor", &settings->uints.menu_xmb_scale_factor, true, xmb_scale_factor, false); SETTING_UINT("xmb_theme", &settings->uints.menu_xmb_theme, true, xmb_icon_theme, false); SETTING_UINT("xmb_menu_color_theme", &settings->uints.menu_xmb_color_theme, true, xmb_theme, false); + SETTING_UINT("xmb_menu_font_color_red", &settings->uints.menu_xmb_font_color_red, true, xmb_font_color_red, false); + SETTING_UINT("xmb_menu_font_color_green", &settings->uints.menu_xmb_font_color_green, true, xmb_font_color_green, false); + SETTING_UINT("xmb_menu_font_color_blue", &settings->uints.menu_xmb_font_color_blue, true, xmb_font_color_blue, false); #endif SETTING_UINT("materialui_menu_color_theme", &settings->uints.menu_materialui_color_theme, true, MATERIALUI_THEME_BLUE, false); SETTING_UINT("menu_shader_pipeline", &settings->uints.menu_xmb_shader_pipeline, true, menu_shader_pipeline, false); @@ -1442,7 +1445,7 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings, SETTING_UINT("video_msg_bgcolor_red", &settings->uints.video_msg_bgcolor_red, true, message_bgcolor_red, false); SETTING_UINT("video_msg_bgcolor_green", &settings->uints.video_msg_bgcolor_green, true, message_bgcolor_green, false); SETTING_UINT("video_msg_bgcolor_blue", &settings->uints.video_msg_bgcolor_blue, true, message_bgcolor_blue, false); - + *size = count; return tmp; @@ -2483,7 +2486,7 @@ static bool config_load_file(const char *path, bool set_defaults, snprintf(buf, sizeof(buf), "led%u_map", i + 1); CONFIG_GET_INT_BASE(conf, settings, uints.led_map[i], buf); } - + { /* ugly hack around C89 not allowing mixing declarations and code */ int buffer_size = 0; diff --git a/configuration.h b/configuration.h index eb73bb1819..88273399d0 100644 --- a/configuration.h +++ b/configuration.h @@ -352,6 +352,9 @@ typedef struct settings unsigned menu_xmb_theme; unsigned menu_xmb_color_theme; unsigned menu_materialui_color_theme; + unsigned menu_xmb_font_color_red; + unsigned menu_xmb_font_color_green; + unsigned menu_xmb_font_color_blue; unsigned camera_width; unsigned camera_height; diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 8879be108e..c6e732177a 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -1,4 +1,4 @@ -MSG_HASH( +MSG_HASH( MSG_COMPILER, "编译器" ) @@ -1698,6 +1698,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "菜单透明度因子") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "菜单字体") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 26ac4331ac..9f64b3ab82 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -1749,6 +1749,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "WLAN") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Menü-Transparenz") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Menü-Schriftart") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index d5d1d0258b..5bb4573b09 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -1594,6 +1594,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Menu Alpha Factor") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Menu Font") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 631d53b609..bbe4d6b1cc 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -2315,6 +2315,12 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Pantalla completa en ventana"; case MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR: return "Transparencia del XMB"; + case MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED: + return "Fuente del XMB Red"; + case MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN: + return "Fuente del XMB Green"; + case MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE: + return "Fuente del XMB Blue"; case MENU_ENUM_LABEL_VALUE_XMB_FONT: return "Fuente del XMB"; case MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR: diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 7fe0883274..22f05ff4cf 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -1719,6 +1719,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Transparence du fond") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Police du menu") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index d6b420f08b..e6ce9e2b94 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -1747,6 +1747,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Menu del fattore Alfa") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Font del Menu") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index ab498da29b..47a7e6d636 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -1,4 +1,4 @@ -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") #endif @@ -1773,6 +1773,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "メニューの透明性") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "メニューのフォント") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 46c001d5aa..aab934caf7 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -1,4 +1,4 @@ -MSG_HASH( +MSG_HASH( MSG_COMPILER, "컴파일러" ) @@ -1695,6 +1695,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "메뉴 알파 요소") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "메뉴 폰트") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index bc5721bce0..801904c5d5 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1161,6 +1161,12 @@ MSG_HASH(MENU_ENUM_LABEL_WIFI_SETTINGS, "wifi_settings") MSG_HASH(MENU_ENUM_LABEL_XMB_ALPHA_FACTOR, "xmb_alpha_factor") +MSG_HASH(MENU_ENUM_LABEL_XMB_FONT_COLOR_RED, + "xmb_font_color_red") +MSG_HASH(MENU_ENUM_LABEL_XMB_FONT_COLOR_GREEN, + "xmb_font_color_green") +MSG_HASH(MENU_ENUM_LABEL_XMB_FONT_COLOR_BLUE, + "xmb_font_color_blue") MSG_HASH(MENU_ENUM_LABEL_XMB_FONT, "xmb_font") MSG_HASH(MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS, diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index f2a3b58f4b..fc798fff68 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -1592,6 +1592,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Menu Alpha Factor") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Menu Font") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index b48e9717cd..dc53f3f949 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -1687,6 +1687,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Fator Alfa do Menu") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Fonte do Menu") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 4eac6397c2..e261627d0e 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -1,4 +1,4 @@ -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") #endif @@ -1728,6 +1728,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Меню Alpha Factor") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Шрифт") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 72f5c9c5bc..4d3f68ca81 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -1761,6 +1761,12 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS, "Wi-Fi") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR, "Menu Alpha Factor") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + "Menu Font Red Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + "Menu Font Green Color") +MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + "Menu Font Blue Color") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_FONT, "Menu Font") MSG_HASH(MENU_ENUM_LABEL_VALUE_XMB_ICON_THEME_CUSTOM, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index ff66dd8c2e..a74b461a32 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2016-2017 - Brad Parker * diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 6b4a6305ea..9cd62b6fe5 100755 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -31,6 +31,7 @@ #include #include #include +#include #ifdef HAVE_CONFIG_H #include "../../config.h" @@ -740,7 +741,7 @@ static void xmb_draw_text( if (a8 == 0) return; - color = FONT_COLOR_RGBA(255, 255, 255, a8); + color = FONT_COLOR_RGBA(xmb_font_color_red, xmb_font_color_green, xmb_font_color_blue, a8); menu_display_draw_text(font, str, x, y, width, height, color, text_align, scale_factor, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 44fe89d7ee..5e75220a75 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5266,6 +5266,15 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_XMB_FONT, PARSE_ONLY_PATH, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_XMB_FONT_COLOR_RED, + PARSE_ONLY_PATH, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_XMB_FONT_COLOR_GREEN, + PARSE_ONLY_PATH, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_XMB_FONT_COLOR_BLUE, + PARSE_ONLY_PATH, false); menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_XMB_THEME, PARSE_ONLY_UINT, false); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 6929da58f8..1c8c8c6c55 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -5535,6 +5535,49 @@ static bool setting_append_list( settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); menu_settings_list_current_add_cmd(list, list_info, CMD_EVENT_REINIT); + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_font_color_red, + MENU_ENUM_LABEL_XMB_FONT_COLOR_RED, + MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_RED, + xmb_font_color_red, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + menu_settings_list_current_add_range(list, list_info, 0, 255, 1, true, true); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); + + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_font_color_green, + MENU_ENUM_LABEL_XMB_FONT_COLOR_GREEN, + MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_GREEN, + xmb_font_color_green, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + menu_settings_list_current_add_range(list, list_info, 0, 255, 1, true, true); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); + + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_font_color_blue, + MENU_ENUM_LABEL_XMB_FONT_COLOR_BLUE, + MENU_ENUM_LABEL_VALUE_XMB_FONT_COLOR_BLUE, + xmb_font_color_blue, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + menu_settings_list_current_add_range(list, list_info, 0, 255, 1, true, true); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); + + CONFIG_UINT( list, list_info, &settings->uints.menu_xmb_theme, diff --git a/msg_hash.h b/msg_hash.h index 48b55122ee..01c159e2bd 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -740,6 +740,9 @@ enum msg_hash_enums MENU_LABEL(ENTRY_HOVER_COLOR), MENU_LABEL(XMB_ALPHA_FACTOR), MENU_LABEL(XMB_SCALE_FACTOR), + MENU_LABEL(XMB_FONT_COLOR_RED), + MENU_LABEL(XMB_FONT_COLOR_GREEN), + MENU_LABEL(XMB_FONT_COLOR_BLUE), MENU_LABEL(XMB_FONT), MENU_LABEL(XMB_THEME), MENU_LABEL(XMB_MAIN_MENU_ENABLE_SETTINGS),