Reorganize xmb/MaterialUI settings

This commit is contained in:
twinaphex 2016-07-09 13:05:58 +02:00
parent 968dcf4d39
commit e0504bfc62
6 changed files with 66 additions and 54 deletions

View File

@ -465,15 +465,18 @@ static void config_set_defaults(void)
if (def_menu) if (def_menu)
strlcpy(settings->menu.driver, strlcpy(settings->menu.driver,
def_menu, sizeof(settings->menu.driver)); def_menu, sizeof(settings->menu.driver));
settings->menu.xmb_scale_factor = xmb_scale_factor; #ifdef HAVE_XMB
settings->menu.xmb_alpha_factor = xmb_alpha_factor; settings->menu.xmb.scale_factor = xmb_scale_factor;
settings->menu.xmb_theme = xmb_theme; settings->menu.xmb.alpha_factor = xmb_alpha_factor;
settings->menu.background_gradient= menu_background_gradient; settings->menu.xmb.theme = xmb_theme;
settings->menu.xmb_shadows_enable = xmb_shadows_enable; settings->menu.xmb.menu_color_theme = menu_background_gradient;
settings->menu.shader_pipeline = menu_shader_pipeline; settings->menu.xmb.shadows_enable = xmb_shadows_enable;
settings->menu.xmb_font[0] = '\0'; settings->menu.xmb.shader_pipeline = menu_shader_pipeline;
settings->menu.throttle_framerate = true; settings->menu.xmb.font[0] = '\0';
settings->menu.linear_filter = true; #endif
settings->menu.throttle_framerate = true;
settings->menu.linear_filter = true;
#endif #endif
settings->history_list_enable = def_history_list_enable; 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)); config_get_array(conf, "location_driver", settings->location.driver, sizeof(settings->location.driver));
#ifdef HAVE_MENU #ifdef HAVE_MENU
config_get_array(conf, "menu_driver", settings->menu.driver, sizeof(settings->menu.driver)); 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.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.alpha_factor, "xmb_alpha_factor");
CONFIG_GET_INT_BASE(conf, settings, menu.xmb_theme, "xmb_theme"); CONFIG_GET_INT_BASE(conf, settings, menu.xmb.theme, "xmb_theme");
#ifdef HAVE_XMB #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 #endif
CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb_shadows_enable, "xmb_shadows_enable"); 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_INT_BASE(conf, settings, menu.xmb.shader_pipeline, "menu_shader_pipeline");
if (config_get_path(conf, "xmb_font", tmp_str, sizeof(tmp_str))) 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 #endif
config_get_array(conf, "video_context_driver", config_get_array(conf, "video_context_driver",
settings->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"); *global->dir.savestate ? global->dir.savestate : "default");
#ifdef HAVE_MENU #ifdef HAVE_MENU
config_set_int(conf, "xmb_scale_factor", settings->menu.xmb_scale_factor); 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_alpha_factor", settings->menu.xmb.alpha_factor);
config_set_int(conf, "xmb_theme", settings->menu.xmb_theme); config_set_int(conf, "xmb_theme", settings->menu.xmb.theme);
#ifdef HAVE_XMB #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 #endif
config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb_shadows_enable); 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_int(conf, "menu_shader_pipeline", settings->menu.xmb.shader_pipeline);
config_set_path(conf, "xmb_font", 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", config_set_bool(conf, "rgui_show_start_screen",
settings->menu_show_start_screen); settings->menu_show_start_screen);
config_set_bool(conf, "menu_navigation_wraparound_enable", config_set_bool(conf, "menu_navigation_wraparound_enable",

View File

@ -158,15 +158,24 @@ typedef struct settings
unsigned entry_normal_color; unsigned entry_normal_color;
unsigned entry_hover_color; unsigned entry_hover_color;
unsigned title_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 throttle_framerate;
bool linear_filter; 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; } menu;
#endif #endif

View File

@ -410,8 +410,8 @@ void fill_pathname_application_special(char *s, size_t len, enum application_spe
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
if (!string_is_empty(settings->menu.xmb_font)) if (!string_is_empty(settings->menu.xmb.font))
strlcpy(s, settings->menu.xmb_font, len); strlcpy(s, settings->menu.xmb.font, len);
else else
{ {
char s1[PATH_MAX_LENGTH] = {0}; char s1[PATH_MAX_LENGTH] = {0};

View File

@ -208,7 +208,7 @@ static void menu_action_setting_disp_set_label_pipeline(
*s = '\0'; *s = '\0';
*w = 19; *w = 19;
switch (settings->menu.shader_pipeline) switch (settings->menu.xmb.shader_pipeline)
{ {
case 0: case 0:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), len); 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); strlcpy(s2, path, len2);
*w = 19; *w = 19;
switch (settings->menu.xmb_theme) switch (settings->menu.xmb.theme)
{ {
case 0: case 0:
strlcpy(s, "Monochrome", len); strlcpy(s, "Monochrome", len);
@ -699,7 +699,7 @@ static void menu_action_setting_disp_set_label_xmb_gradient(
if (!settings) if (!settings)
return; return;
switch (settings->menu.background_gradient) switch (settings->menu.xmb.menu_color_theme)
{ {
case 0: case 0:
strlcpy(s, "Legacy Red", len); strlcpy(s, "Legacy Red", len);

View File

@ -312,7 +312,7 @@ float gradient_dark[16] = {
const char *xmb_theme_ident(void) const char *xmb_theme_ident(void)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
switch (settings->menu.xmb_theme) switch (settings->menu.xmb.theme)
{ {
case 1: case 1:
return "flatui"; return "flatui";
@ -355,7 +355,7 @@ static float *xmb_gradient_ident(void)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
switch (settings->menu.background_gradient) switch (settings->menu.xmb.menu_color_theme)
{ {
case 1: case 1:
return &gradient_dark_purple[0]; return &gradient_dark_purple[0];
@ -497,7 +497,7 @@ static void xmb_draw_icon(
draw.prim_type = MENU_DISPLAY_PRIM_TRIANGLESTRIP; draw.prim_type = MENU_DISPLAY_PRIM_TRIANGLESTRIP;
draw.pipeline.id = 0; draw.pipeline.id = 0;
if (settings->menu.xmb_shadows_enable) if (settings->menu.xmb.shadows_enable)
{ {
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
shadow[i] = 0; 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.prim_type = MENU_DISPLAY_PRIM_TRIANGLESTRIP;
draw.pipeline.id = 0; draw.pipeline.id = 0;
if (settings->menu.xmb_shadows_enable) if (settings->menu.xmb.shadows_enable)
{ {
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
shadow[i] = 0; shadow[i] = 0;
@ -607,7 +607,7 @@ static void xmb_draw_text(xmb_handle_t *xmb,
params.full_screen = true; params.full_screen = true;
params.text_align = text_align; 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_x = xmb->shadow_offset;
params.drop_y = -xmb->shadow_offset; params.drop_y = -xmb->shadow_offset;
@ -1924,7 +1924,7 @@ static void xmb_draw_bg(
menu_display_set_viewport(); menu_display_set_viewport();
#ifdef HAVE_SHADERPIPELINE #ifdef HAVE_SHADERPIPELINE
if (settings->menu.shader_pipeline > 0) if (settings->menu.xmb.shader_pipeline > 0)
{ {
draw.color = xmb_gradient_ident(); draw.color = xmb_gradient_ident();
@ -1936,7 +1936,7 @@ static void xmb_draw_bg(
menu_display_draw_gradient(&draw); menu_display_draw_gradient(&draw);
draw.pipeline.id = VIDEO_SHADER_MENU_SEC; 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; draw.pipeline.id = VIDEO_SHADER_MENU;
menu_display_draw_pipeline(&draw); menu_display_draw_pipeline(&draw);
@ -2027,7 +2027,7 @@ static void xmb_frame(void *data)
} }
menu_display_set_alpha(coord_black, MIN( 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); menu_display_set_alpha(coord_white, xmb->alpha);
xmb_draw_bg( xmb_draw_bg(
@ -2258,7 +2258,7 @@ static void xmb_layout_ps3(xmb_handle_t *xmb, int width)
float scale_factor; float scale_factor;
settings_t *settings = config_get_ptr(); 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_subitem_offset = 1.5;
xmb->above_item_offset = -1.0; xmb->above_item_offset = -1.0;
@ -2306,7 +2306,7 @@ static void xmb_layout_psp(xmb_handle_t *xmb, int width)
float scale_factor; float scale_factor;
settings_t *settings = config_get_ptr(); 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_subitem_offset = 1.5;
xmb->above_item_offset = -1.0; xmb->above_item_offset = -1.0;

View File

@ -6834,7 +6834,7 @@ static bool setting_append_list(
{ {
CONFIG_UINT( CONFIG_UINT(
list, list_info, 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_XMB_ALPHA_FACTOR),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR),
xmb_alpha_factor, xmb_alpha_factor,
@ -6848,7 +6848,7 @@ static bool setting_append_list(
CONFIG_UINT( CONFIG_UINT(
list, list_info, 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_XMB_SCALE_FACTOR),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SCALE_FACTOR),
xmb_scale_factor, xmb_scale_factor,
@ -6862,11 +6862,11 @@ static bool setting_append_list(
CONFIG_PATH( CONFIG_PATH(
list, list_info, list, list_info,
settings->menu.xmb_font, settings->menu.xmb.font,
sizeof(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_XMB_FONT),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_FONT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_FONT),
settings->menu.xmb_font, settings->menu.xmb.font,
&group_info, &group_info,
&subgroup_info, &subgroup_info,
parent_group, parent_group,
@ -6876,7 +6876,7 @@ static bool setting_append_list(
CONFIG_UINT( CONFIG_UINT(
list, list_info, 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_XMB_THEME),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_THEME), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_THEME),
xmb_theme, xmb_theme,
@ -6890,7 +6890,7 @@ static bool setting_append_list(
CONFIG_BOOL( CONFIG_BOOL(
list, list_info, 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_XMB_SHADOWS_ENABLE),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE),
xmb_shadows_enable, xmb_shadows_enable,
@ -6907,7 +6907,7 @@ static bool setting_append_list(
#ifdef HAVE_SHADERPIPELINE #ifdef HAVE_SHADERPIPELINE
CONFIG_UINT( CONFIG_UINT(
list, list_info, 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_XMB_RIBBON_ENABLE),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE),
menu_shader_pipeline, menu_shader_pipeline,
@ -6922,7 +6922,7 @@ static bool setting_append_list(
CONFIG_UINT( CONFIG_UINT(
list, list_info, 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_XMB_GRADIENT),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_GRADIENT), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_GRADIENT),
menu_background_gradient, menu_background_gradient,