Merge pull request #4871 from Monroe88/menu_settings

Add Fullscreen resolution and Config Aspect Ratio settings to the menu
This commit is contained in:
Twinaphex 2017-05-02 03:31:46 +02:00 committed by GitHub
commit edd4f46bbf
6 changed files with 89 additions and 0 deletions

View File

@ -979,6 +979,8 @@ MSG_HASH(MENU_ENUM_LABEL_USE_THIS_DIRECTORY,
"use_this_directory")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE,
"video_allow_rotate")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO,
"video_aspect_ratio")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_AUTO,
"video_aspect_ratio_auto")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX,
@ -1093,6 +1095,10 @@ MSG_HASH(MENU_ENUM_LABEL_VIDEO_WINDOW_WIDTH,
"video_window_width")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT,
"video_window_height")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X,
"video_fullscreen_x")
MSG_HASH(MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y,
"video_fullscreen_y")
MSG_HASH(MENU_ENUM_LABEL_WIFI_DRIVER,
"wifi_driver")
MSG_HASH(MENU_ENUM_LABEL_WIFI_SETTINGS,

View File

@ -1547,6 +1547,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY,
"<Use this directory>")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_ALLOW_ROTATE,
"Allow rotation")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO,
"Config Aspect Ratio")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO_AUTO,
"Auto Aspect Ratio")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO_INDEX,
@ -1659,6 +1661,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_WINDOW_WIDTH,
"Window Width")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_WINDOW_HEIGHT,
"Window Height")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_FULLSCREEN_X,
"Fullscreen Width")
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_FULLSCREEN_Y,
"Fullscreen Height")
MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_DRIVER,
"Wi-Fi Driver")
MSG_HASH(MENU_ENUM_LABEL_VALUE_WIFI_SETTINGS,
@ -2462,6 +2468,10 @@ MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_WINDOW_WIDTH,
"Set the custom width size for the display window. Leaving it at 0 will attempt to scale the window as large as possible.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_WINDOW_HEIGHT,
"Set the custom height size for the display window. Leaving it at 0 will attempt to scale the window as large as possible.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_FULLSCREEN_X,
"Set the custom width size for the non-windowed fullscreen mode. Leaving it at 0 will use the desktop resolution.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_FULLSCREEN_Y,
"Set the custom height size for the non-windowed fullscreen mode. Leaving it at 0 will use the desktop resolution")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_X,
"Specify custom X axis position for onscreen text.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_Y,
@ -2981,6 +2991,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_CONTENT_SETTINGS,
"Quickly access all relevant in-game settings.")
MSG_HASH(MENU_ENUM_SUBLABEL_CORE_INFORMATION,
"View information pertaining to the application/core.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_ASPECT_RATIO,
"Floating point value for video aspect ratio (width / height), used if the Aspect Ratio is set to 'Config'.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT,
"Custom viewport height that is used if the Aspect Ratio is set to 'Custom'.")
MSG_HASH(MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH,

View File

@ -136,6 +136,8 @@ default_sublabel_macro(action_bind_sublabel_system_information, MENU_
default_sublabel_macro(action_bind_sublabel_quit_retroarch, MENU_ENUM_SUBLABEL_QUIT_RETROARCH)
default_sublabel_macro(action_bind_sublabel_video_window_width, MENU_ENUM_SUBLABEL_VIDEO_WINDOW_WIDTH)
default_sublabel_macro(action_bind_sublabel_video_window_height, MENU_ENUM_SUBLABEL_VIDEO_WINDOW_HEIGHT)
default_sublabel_macro(action_bind_sublabel_video_fullscreen_x, MENU_ENUM_SUBLABEL_VIDEO_FULLSCREEN_X)
default_sublabel_macro(action_bind_sublabel_video_fullscreen_y, MENU_ENUM_SUBLABEL_VIDEO_FULLSCREEN_Y)
default_sublabel_macro(action_bind_sublabel_video_message_pos_x, MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_X)
default_sublabel_macro(action_bind_sublabel_video_message_pos_y, MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_Y)
default_sublabel_macro(action_bind_sublabel_video_font_size, MENU_ENUM_SUBLABEL_VIDEO_FONT_SIZE)
@ -315,6 +317,7 @@ default_sublabel_macro(action_bind_sublabel_cheat_file_load,
default_sublabel_macro(action_bind_sublabel_cheat_file_save_as, MENU_ENUM_SUBLABEL_CHEAT_FILE_SAVE_AS)
default_sublabel_macro(action_bind_sublabel_quick_menu, MENU_ENUM_SUBLABEL_CONTENT_SETTINGS)
default_sublabel_macro(action_bind_sublabel_core_information, MENU_ENUM_SUBLABEL_CORE_INFORMATION)
default_sublabel_macro(action_bind_sublabel_video_aspect_ratio, MENU_ENUM_SUBLABEL_VIDEO_ASPECT_RATIO)
default_sublabel_macro(action_bind_sublabel_video_viewport_custom_height, MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_CUSTOM_HEIGHT)
default_sublabel_macro(action_bind_sublabel_video_viewport_custom_width, MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH)
default_sublabel_macro(action_bind_sublabel_video_viewport_custom_x, MENU_ENUM_SUBLABEL_VIDEO_VIEWPORT_CUSTOM_X)
@ -393,6 +396,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_viewport_custom_y);
break;
case MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_aspect_ratio);
break;
case MENU_ENUM_LABEL_CORE_INFORMATION:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_core_information);
break;
@ -940,6 +946,12 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_VIDEO_WINDOW_HEIGHT:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_window_height);
break;
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_fullscreen_x);
break;
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_fullscreen_y);
break;
case MENU_ENUM_LABEL_QUIT_RETROARCH:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quit_retroarch);
break;

View File

@ -5160,6 +5160,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_REFRESH_RATE,
PARSE_ONLY_FLOAT, false);
@ -5172,6 +5178,9 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO,
PARSE_ONLY_FLOAT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X,
PARSE_ONLY_INT, false);

View File

@ -3191,6 +3191,34 @@ static bool setting_append_list(
general_read_handler,
SD_FLAG_NONE);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_UINT(
list, list_info,
&settings->uints.video_fullscreen_x,
MENU_ENUM_LABEL_VIDEO_FULLSCREEN_X,
MENU_ENUM_LABEL_VALUE_VIDEO_FULLSCREEN_X,
fullscreen_x,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
menu_settings_list_current_add_range(list, list_info, 0, 7680, 8, true, true);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_UINT(
list, list_info,
&settings->uints.video_fullscreen_y,
MENU_ENUM_LABEL_VIDEO_FULLSCREEN_Y,
MENU_ENUM_LABEL_VALUE_VIDEO_FULLSCREEN_Y,
fullscreen_y,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
menu_settings_list_current_add_range(list, list_info, 0, 4320, 8, true, true);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
}
CONFIG_FLOAT(
list, list_info,
@ -3275,6 +3303,25 @@ static bool setting_append_list(
(*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_uint_aspect_ratio_index;
CONFIG_FLOAT(
list, list_info,
&settings->floats.video_aspect_ratio,
MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO,
MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO,
1.33,
"%.2f",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
menu_settings_list_current_add_cmd(
list,
list_info,
CMD_EVENT_VIDEO_SET_ASPECT_RATIO);
menu_settings_list_current_add_range(list, list_info, 0.1, 16.0, 0.01, true, false);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_INT(
list, list_info,
&custom_vp->x,

View File

@ -606,6 +606,8 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_WINDOWED_FULLSCREEN),
MENU_LABEL(VIDEO_WINDOW_WIDTH),
MENU_LABEL(VIDEO_WINDOW_HEIGHT),
MENU_LABEL(VIDEO_FULLSCREEN_X),
MENU_LABEL(VIDEO_FULLSCREEN_Y),
MENU_LABEL(VIDEO_FORCE_SRGB_DISABLE),
MENU_LABEL(VIDEO_ROTATION),
MENU_LABEL(VIDEO_SCALE),
@ -1352,6 +1354,7 @@ enum msg_hash_enums
MENU_LABEL(USER_LANGUAGE),
MENU_LABEL(NETPLAY_NICKNAME),
MENU_LABEL(VIDEO_VI_WIDTH),
MENU_LABEL(VIDEO_ASPECT_RATIO),
MENU_LABEL(VIDEO_FORCE_ASPECT),
MENU_LABEL(VIDEO_ASPECT_RATIO_AUTO),
MENU_LABEL(VIDEO_ASPECT_RATIO_INDEX),