mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-10 05:33:14 +00:00
Enable configuration of menu ticker text speed
This commit is contained in:
parent
9b84a0f701
commit
bfe0c3fb48
@ -325,6 +325,7 @@ static bool menu_show_core_updater = true;
|
||||
static bool menu_show_sublabels = false;
|
||||
|
||||
static unsigned menu_ticker_type = TICKER_TYPE_BOUNCE;
|
||||
static float menu_ticker_speed = 1.0f;
|
||||
|
||||
static bool content_show_settings = true;
|
||||
static bool content_show_favorites = true;
|
||||
|
@ -1605,6 +1605,7 @@ static struct config_float_setting *populate_settings_float(settings_t *settings
|
||||
SETTING_FLOAT("menu_framebuffer_opacity", &settings->floats.menu_framebuffer_opacity, true, menu_framebuffer_opacity, false);
|
||||
SETTING_FLOAT("menu_footer_opacity", &settings->floats.menu_footer_opacity, true, menu_footer_opacity, false);
|
||||
SETTING_FLOAT("menu_header_opacity", &settings->floats.menu_header_opacity, true, menu_header_opacity, false);
|
||||
SETTING_FLOAT("menu_ticker_speed", &settings->floats.menu_ticker_speed, true, menu_ticker_speed, false);
|
||||
#endif
|
||||
SETTING_FLOAT("video_message_pos_x", &settings->floats.video_msg_pos_x, true, message_pos_offset_x, false);
|
||||
SETTING_FLOAT("video_message_pos_y", &settings->floats.video_msg_pos_y, true, message_pos_offset_y, false);
|
||||
|
@ -329,6 +329,7 @@ typedef struct settings
|
||||
float menu_framebuffer_opacity;
|
||||
float menu_footer_opacity;
|
||||
float menu_header_opacity;
|
||||
float menu_ticker_speed;
|
||||
|
||||
float audio_max_timing_skew;
|
||||
float audio_volume; /* dB scale. */
|
||||
|
@ -1131,6 +1131,8 @@ MSG_HASH(MENU_ENUM_LABEL_TIMEDATE_STYLE,
|
||||
"menu_timedate_style")
|
||||
MSG_HASH(MENU_ENUM_LABEL_MENU_TICKER_TYPE,
|
||||
"menu_ticker_type")
|
||||
MSG_HASH(MENU_ENUM_LABEL_MENU_TICKER_SPEED,
|
||||
"menu_ticker_speed")
|
||||
MSG_HASH(MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
|
||||
"ui_companion_enable")
|
||||
MSG_HASH(MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT,
|
||||
|
@ -3090,6 +3090,14 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_LOOP,
|
||||
"Scroll Left"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_SPEED,
|
||||
"Ticker Text Speed"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_MENU_TICKER_SPEED,
|
||||
"Animation speed when scrolling long menu text strings."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME,
|
||||
"Menu Color Theme"
|
||||
|
@ -519,6 +519,7 @@ default_sublabel_macro(action_bind_sublabel_menu_rgui_thumbnail_downscaler,
|
||||
default_sublabel_macro(action_bind_sublabel_content_runtime_log, MENU_ENUM_SUBLABEL_CONTENT_RUNTIME_LOG)
|
||||
default_sublabel_macro(action_bind_sublabel_menu_rgui_internal_upscale_level, MENU_ENUM_SUBLABEL_MENU_RGUI_INTERNAL_UPSCALE_LEVEL)
|
||||
default_sublabel_macro(action_bind_sublabel_menu_ticker_type, MENU_ENUM_SUBLABEL_MENU_TICKER_TYPE)
|
||||
default_sublabel_macro(action_bind_sublabel_menu_ticker_speed, MENU_ENUM_SUBLABEL_MENU_TICKER_SPEED)
|
||||
|
||||
static int action_bind_sublabel_systeminfo_controller_entry(
|
||||
file_list_t *list,
|
||||
@ -2260,6 +2261,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_MENU_TICKER_TYPE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_ticker_type);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MENU_TICKER_SPEED:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_ticker_speed);
|
||||
break;
|
||||
default:
|
||||
case MSG_UNKNOWN:
|
||||
return -1;
|
||||
|
@ -566,6 +566,12 @@ static void menu_animation_update_time(bool timedate_enable)
|
||||
static retro_time_t
|
||||
last_ticker_slow_update = 0;
|
||||
|
||||
/* Adjust ticker speed */
|
||||
settings_t *settings = config_get_ptr();
|
||||
float speed_factor = settings->floats.menu_ticker_speed > 0.0001f ? settings->floats.menu_ticker_speed : 1.0f;
|
||||
unsigned ticker_speed = (unsigned)(((float)TICKER_SPEED / speed_factor) + 0.5);
|
||||
unsigned ticker_slow_speed = (unsigned)(((float)TICKER_SLOW_SPEED / speed_factor) + 0.5);
|
||||
|
||||
cur_time = cpu_features_get_time_usec() / 1000;
|
||||
delta_time = old_time == 0 ? 0 : cur_time - old_time;
|
||||
|
||||
@ -579,14 +585,14 @@ static void menu_animation_update_time(bool timedate_enable)
|
||||
}
|
||||
|
||||
if (ticker_is_active
|
||||
&& cur_time - last_ticker_update >= TICKER_SPEED)
|
||||
&& cur_time - last_ticker_update >= ticker_speed)
|
||||
{
|
||||
ticker_idx++;
|
||||
last_ticker_update = cur_time;
|
||||
}
|
||||
|
||||
if (ticker_is_active
|
||||
&& cur_time - last_ticker_slow_update >= TICKER_SLOW_SPEED)
|
||||
&& cur_time - last_ticker_slow_update >= ticker_slow_speed)
|
||||
{
|
||||
ticker_slow_idx++;
|
||||
last_ticker_slow_update = cur_time;
|
||||
@ -899,4 +905,4 @@ uint64_t menu_animation_get_ticker_idx(void)
|
||||
uint64_t menu_animation_get_ticker_slow_idx(void)
|
||||
{
|
||||
return ticker_slow_idx;
|
||||
}
|
||||
}
|
||||
|
@ -6136,6 +6136,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
|
||||
MENU_ENUM_LABEL_MENU_TICKER_TYPE,
|
||||
PARSE_ONLY_UINT, false) == 0)
|
||||
count++;
|
||||
if (menu_displaylist_parse_settings_enum(menu, info,
|
||||
MENU_ENUM_LABEL_MENU_TICKER_SPEED,
|
||||
PARSE_ONLY_FLOAT, false) == 0)
|
||||
count++;
|
||||
|
||||
if (count == 0)
|
||||
menu_entries_append_enum(info->list,
|
||||
|
@ -8205,6 +8205,21 @@ static bool setting_append_list(
|
||||
&setting_get_string_representation_uint_menu_ticker_type;
|
||||
menu_settings_list_current_add_range(list, list_info, 0, TICKER_TYPE_LAST-1, 1, true, true);
|
||||
|
||||
CONFIG_FLOAT(
|
||||
list, list_info,
|
||||
&settings->floats.menu_ticker_speed,
|
||||
MENU_ENUM_LABEL_MENU_TICKER_SPEED,
|
||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_SPEED,
|
||||
menu_ticker_speed,
|
||||
"%.1fx",
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
menu_settings_list_current_add_range(list, list_info, 0.2, 6.0, 0.1, true, true);
|
||||
|
||||
END_SUB_GROUP(list, list_info, parent_group);
|
||||
|
||||
START_SUB_GROUP(list, list_info, "Navigation", &group_info, &subgroup_info, parent_group);
|
||||
|
@ -921,6 +921,7 @@ enum msg_hash_enums
|
||||
MENU_LABEL(QUICK_MENU_START_STREAMING),
|
||||
MENU_LABEL(QUICK_MENU_STOP_STREAMING),
|
||||
MENU_LABEL(MENU_TICKER_TYPE),
|
||||
MENU_LABEL(MENU_TICKER_SPEED),
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_BOUNCE,
|
||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_LOOP,
|
||||
|
Loading…
x
Reference in New Issue
Block a user