From e0504bfc626c72a98388f8a57794baaf173c3c9b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 9 Jul 2016 13:05:58 +0200 Subject: [PATCH] Reorganize xmb/MaterialUI settings --- configuration.c | 49 +++++++++++++++++++---------------- configuration.h | 23 +++++++++++----- file_path_special.c | 4 +-- menu/cbs/menu_cbs_get_value.c | 6 ++--- menu/drivers/xmb.c | 20 +++++++------- menu/menu_setting.c | 18 ++++++------- 6 files changed, 66 insertions(+), 54 deletions(-) diff --git a/configuration.c b/configuration.c index b10ffd6f9e..4d5c4d8340 100644 --- a/configuration.c +++ b/configuration.c @@ -465,15 +465,18 @@ static void config_set_defaults(void) if (def_menu) strlcpy(settings->menu.driver, def_menu, sizeof(settings->menu.driver)); - settings->menu.xmb_scale_factor = xmb_scale_factor; - settings->menu.xmb_alpha_factor = xmb_alpha_factor; - settings->menu.xmb_theme = xmb_theme; - settings->menu.background_gradient= menu_background_gradient; - settings->menu.xmb_shadows_enable = xmb_shadows_enable; - settings->menu.shader_pipeline = menu_shader_pipeline; - settings->menu.xmb_font[0] = '\0'; - settings->menu.throttle_framerate = true; - settings->menu.linear_filter = true; +#ifdef HAVE_XMB + settings->menu.xmb.scale_factor = xmb_scale_factor; + settings->menu.xmb.alpha_factor = xmb_alpha_factor; + settings->menu.xmb.theme = xmb_theme; + settings->menu.xmb.menu_color_theme = menu_background_gradient; + settings->menu.xmb.shadows_enable = xmb_shadows_enable; + settings->menu.xmb.shader_pipeline = menu_shader_pipeline; + settings->menu.xmb.font[0] = '\0'; +#endif + + settings->menu.throttle_framerate = true; + settings->menu.linear_filter = true; #endif settings->history_list_enable = def_history_list_enable; @@ -1523,16 +1526,16 @@ static bool config_load_file(const char *path, bool set_defaults) config_get_array(conf, "location_driver", settings->location.driver, sizeof(settings->location.driver)); #ifdef HAVE_MENU config_get_array(conf, "menu_driver", settings->menu.driver, sizeof(settings->menu.driver)); - CONFIG_GET_INT_BASE(conf, settings, menu.xmb_scale_factor, "xmb_scale_factor"); - CONFIG_GET_INT_BASE(conf, settings, menu.xmb_alpha_factor, "xmb_alpha_factor"); - CONFIG_GET_INT_BASE(conf, settings, menu.xmb_theme, "xmb_theme"); + CONFIG_GET_INT_BASE(conf, settings, menu.xmb.scale_factor, "xmb_scale_factor"); + CONFIG_GET_INT_BASE(conf, settings, menu.xmb.alpha_factor, "xmb_alpha_factor"); + CONFIG_GET_INT_BASE(conf, settings, menu.xmb.theme, "xmb_theme"); #ifdef HAVE_XMB - CONFIG_GET_INT_BASE(conf, settings, menu.background_gradient, "xmb_menu_color_theme"); + CONFIG_GET_INT_BASE(conf, settings, menu.xmb.menu_color_theme, "xmb_menu_color_theme"); #endif - CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb_shadows_enable, "xmb_shadows_enable"); - CONFIG_GET_INT_BASE(conf, settings, menu.shader_pipeline, "menu_shader_pipeline"); + CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb.shadows_enable, "xmb_shadows_enable"); + CONFIG_GET_INT_BASE(conf, settings, menu.xmb.shader_pipeline, "menu_shader_pipeline"); if (config_get_path(conf, "xmb_font", tmp_str, sizeof(tmp_str))) - strlcpy(settings->menu.xmb_font, tmp_str, sizeof(settings->menu.xmb_font)); + strlcpy(settings->menu.xmb.font, tmp_str, sizeof(settings->menu.xmb.font)); #endif config_get_array(conf, "video_context_driver", settings->video.context_driver, @@ -2937,16 +2940,16 @@ bool config_save_file(const char *path) *global->dir.savestate ? global->dir.savestate : "default"); #ifdef HAVE_MENU - config_set_int(conf, "xmb_scale_factor", settings->menu.xmb_scale_factor); - config_set_int(conf, "xmb_alpha_factor", settings->menu.xmb_alpha_factor); - config_set_int(conf, "xmb_theme", settings->menu.xmb_theme); + config_set_int(conf, "xmb_scale_factor", settings->menu.xmb.scale_factor); + config_set_int(conf, "xmb_alpha_factor", settings->menu.xmb.alpha_factor); + config_set_int(conf, "xmb_theme", settings->menu.xmb.theme); #ifdef HAVE_XMB - config_set_int(conf, "xmb_menu_color_theme", settings->menu.background_gradient); + config_set_int(conf, "xmb_menu_color_theme", settings->menu.xmb.menu_color_theme); #endif - config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb_shadows_enable); - config_set_int(conf, "menu_shader_pipeline", settings->menu.shader_pipeline); + config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb.shadows_enable); + config_set_int(conf, "menu_shader_pipeline", settings->menu.xmb.shader_pipeline); config_set_path(conf, "xmb_font", - !string_is_empty(settings->menu.xmb_font) ? settings->menu.xmb_font : ""); + !string_is_empty(settings->menu.xmb.font) ? settings->menu.xmb.font : ""); config_set_bool(conf, "rgui_show_start_screen", settings->menu_show_start_screen); config_set_bool(conf, "menu_navigation_wraparound_enable", diff --git a/configuration.h b/configuration.h index 6c41ffc2c4..bf1def2a36 100644 --- a/configuration.h +++ b/configuration.h @@ -158,15 +158,24 @@ typedef struct settings unsigned entry_normal_color; unsigned entry_hover_color; unsigned title_color; - unsigned xmb_scale_factor; - unsigned xmb_alpha_factor; - unsigned xmb_theme; - unsigned background_gradient; - bool xmb_shadows_enable; - unsigned shader_pipeline; - char xmb_font[PATH_MAX_LENGTH]; bool throttle_framerate; bool linear_filter; + + struct + { + unsigned shader_pipeline; + char font[PATH_MAX_LENGTH]; + unsigned scale_factor; + unsigned alpha_factor; + unsigned theme; + unsigned menu_color_theme; + bool shadows_enable; + } xmb; + + struct + { + unsigned menu_color_theme; + } materialui; } menu; #endif diff --git a/file_path_special.c b/file_path_special.c index 3b0118840a..657d73bfd6 100644 --- a/file_path_special.c +++ b/file_path_special.c @@ -410,8 +410,8 @@ void fill_pathname_application_special(char *s, size_t len, enum application_spe { settings_t *settings = config_get_ptr(); - if (!string_is_empty(settings->menu.xmb_font)) - strlcpy(s, settings->menu.xmb_font, len); + if (!string_is_empty(settings->menu.xmb.font)) + strlcpy(s, settings->menu.xmb.font, len); else { char s1[PATH_MAX_LENGTH] = {0}; diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 1bac2873f3..6e76d73ad7 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -208,7 +208,7 @@ static void menu_action_setting_disp_set_label_pipeline( *s = '\0'; *w = 19; - switch (settings->menu.shader_pipeline) + switch (settings->menu.xmb.shader_pipeline) { case 0: strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), len); @@ -662,7 +662,7 @@ static void menu_action_setting_disp_set_label_xmb_theme( strlcpy(s2, path, len2); *w = 19; - switch (settings->menu.xmb_theme) + switch (settings->menu.xmb.theme) { case 0: strlcpy(s, "Monochrome", len); @@ -699,7 +699,7 @@ static void menu_action_setting_disp_set_label_xmb_gradient( if (!settings) return; - switch (settings->menu.background_gradient) + switch (settings->menu.xmb.menu_color_theme) { case 0: strlcpy(s, "Legacy Red", len); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 8c2fd192b8..f9e3285b42 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -312,7 +312,7 @@ float gradient_dark[16] = { const char *xmb_theme_ident(void) { settings_t *settings = config_get_ptr(); - switch (settings->menu.xmb_theme) + switch (settings->menu.xmb.theme) { case 1: return "flatui"; @@ -355,7 +355,7 @@ static float *xmb_gradient_ident(void) { settings_t *settings = config_get_ptr(); - switch (settings->menu.background_gradient) + switch (settings->menu.xmb.menu_color_theme) { case 1: return &gradient_dark_purple[0]; @@ -497,7 +497,7 @@ static void xmb_draw_icon( draw.prim_type = MENU_DISPLAY_PRIM_TRIANGLESTRIP; draw.pipeline.id = 0; - if (settings->menu.xmb_shadows_enable) + if (settings->menu.xmb.shadows_enable) { for (i = 0; i < 16; i++) shadow[i] = 0; @@ -554,7 +554,7 @@ static void xmb_draw_thumbnail(xmb_handle_t *xmb, float *color, draw.prim_type = MENU_DISPLAY_PRIM_TRIANGLESTRIP; draw.pipeline.id = 0; - if (settings->menu.xmb_shadows_enable) + if (settings->menu.xmb.shadows_enable) { for (i = 0; i < 16; i++) shadow[i] = 0; @@ -607,7 +607,7 @@ static void xmb_draw_text(xmb_handle_t *xmb, params.full_screen = true; params.text_align = text_align; - if (settings->menu.xmb_shadows_enable) + if (settings->menu.xmb.shadows_enable) { params.drop_x = xmb->shadow_offset; params.drop_y = -xmb->shadow_offset; @@ -1924,7 +1924,7 @@ static void xmb_draw_bg( menu_display_set_viewport(); #ifdef HAVE_SHADERPIPELINE - if (settings->menu.shader_pipeline > 0) + if (settings->menu.xmb.shader_pipeline > 0) { draw.color = xmb_gradient_ident(); @@ -1936,7 +1936,7 @@ static void xmb_draw_bg( menu_display_draw_gradient(&draw); draw.pipeline.id = VIDEO_SHADER_MENU_SEC; - if (settings->menu.shader_pipeline == 2) + if (settings->menu.xmb.shader_pipeline == 2) draw.pipeline.id = VIDEO_SHADER_MENU; menu_display_draw_pipeline(&draw); @@ -2027,7 +2027,7 @@ static void xmb_frame(void *data) } menu_display_set_alpha(coord_black, MIN( - (float)settings->menu.xmb_alpha_factor/100, xmb->alpha)); + (float)settings->menu.xmb.alpha_factor/100, xmb->alpha)); menu_display_set_alpha(coord_white, xmb->alpha); xmb_draw_bg( @@ -2258,7 +2258,7 @@ static void xmb_layout_ps3(xmb_handle_t *xmb, int width) float scale_factor; settings_t *settings = config_get_ptr(); - scale_factor = (settings->menu.xmb_scale_factor * width) / (1920.0 * 100); + scale_factor = (settings->menu.xmb.scale_factor * width) / (1920.0 * 100); xmb->above_subitem_offset = 1.5; xmb->above_item_offset = -1.0; @@ -2306,7 +2306,7 @@ static void xmb_layout_psp(xmb_handle_t *xmb, int width) float scale_factor; settings_t *settings = config_get_ptr(); - scale_factor = ((settings->menu.xmb_scale_factor * width) / (1920.0 * 100)) * 1.5; + scale_factor = ((settings->menu.xmb.scale_factor * width) / (1920.0 * 100)) * 1.5; xmb->above_subitem_offset = 1.5; xmb->above_item_offset = -1.0; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index d02f4d4e30..df0a5295db 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6834,7 +6834,7 @@ static bool setting_append_list( { CONFIG_UINT( list, list_info, - &settings->menu.xmb_alpha_factor, + &settings->menu.xmb.alpha_factor, msg_hash_to_str(MENU_ENUM_LABEL_XMB_ALPHA_FACTOR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR), xmb_alpha_factor, @@ -6848,7 +6848,7 @@ static bool setting_append_list( CONFIG_UINT( list, list_info, - &settings->menu.xmb_scale_factor, + &settings->menu.xmb.scale_factor, msg_hash_to_str(MENU_ENUM_LABEL_XMB_SCALE_FACTOR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR), xmb_scale_factor, @@ -6862,11 +6862,11 @@ static bool setting_append_list( CONFIG_PATH( list, list_info, - settings->menu.xmb_font, - sizeof(settings->menu.xmb_font), + settings->menu.xmb.font, + sizeof(settings->menu.xmb.font), msg_hash_to_str(MENU_ENUM_LABEL_XMB_FONT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_FONT), - settings->menu.xmb_font, + settings->menu.xmb.font, &group_info, &subgroup_info, parent_group, @@ -6876,7 +6876,7 @@ static bool setting_append_list( CONFIG_UINT( list, list_info, - &settings->menu.xmb_theme, + &settings->menu.xmb.theme, msg_hash_to_str(MENU_ENUM_LABEL_XMB_THEME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_THEME), xmb_theme, @@ -6890,7 +6890,7 @@ static bool setting_append_list( CONFIG_BOOL( list, list_info, - &settings->menu.xmb_shadows_enable, + &settings->menu.xmb.shadows_enable, msg_hash_to_str(MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE), xmb_shadows_enable, @@ -6907,7 +6907,7 @@ static bool setting_append_list( #ifdef HAVE_SHADERPIPELINE CONFIG_UINT( list, list_info, - &settings->menu.shader_pipeline, + &settings->menu.xmb.shader_pipeline, msg_hash_to_str(MENU_ENUM_LABEL_XMB_RIBBON_ENABLE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE), menu_shader_pipeline, @@ -6922,7 +6922,7 @@ static bool setting_append_list( CONFIG_UINT( list, list_info, - &settings->menu.background_gradient, + &settings->menu.xmb.menu_color_theme, msg_hash_to_str(MENU_ENUM_LABEL_XMB_GRADIENT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_GRADIENT), menu_background_gradient,