From fb5f557d91cdfbee79a9baff9bcc79043ee49f95 Mon Sep 17 00:00:00 2001 From: parport0 Date: Mon, 9 Mar 2020 14:22:24 +0100 Subject: [PATCH 1/2] Add PSP-style menu scroll option --- config.def.h | 2 ++ configuration.c | 1 + configuration.h | 1 + intl/msg_hash_lbl.h | 2 ++ intl/msg_hash_us.h | 8 ++++++++ menu/cbs/menu_cbs_sublabel.c | 4 ++++ menu/menu_displaylist.c | 1 + menu/menu_setting.c | 15 +++++++++++++++ msg_hash.h | 1 + retroarch.c | 11 +++++++++-- 10 files changed, 44 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index fd86393c2b..a7c5e4a3a6 100644 --- a/config.def.h +++ b/config.def.h @@ -510,6 +510,8 @@ static const bool menu_show_core_updater = true; static const bool menu_show_legacy_thumbnail_updater = false; static const bool menu_show_sublabels = true; +static const bool menu_scroll_psp_style = false; + #define DEFAULT_MENU_TICKER_TYPE (TICKER_TYPE_BOUNCE) static const float menu_ticker_speed = 1.0f; diff --git a/configuration.c b/configuration.c index 157295aabb..a1913541ae 100644 --- a/configuration.c +++ b/configuration.c @@ -1465,6 +1465,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("menu_show_sublabels", &settings->bools.menu_show_sublabels, true, menu_show_sublabels, false); SETTING_BOOL("menu_dynamic_wallpaper_enable", &settings->bools.menu_dynamic_wallpaper_enable, true, false, false); SETTING_BOOL("menu_ticker_smooth", &settings->bools.menu_ticker_smooth, true, DEFAULT_MENU_TICKER_SMOOTH, false); + SETTING_BOOL("menu_scroll_psp_style", &settings->bools.menu_scroll_psp_style, true, false, false); SETTING_BOOL("settings_show_drivers", &settings->bools.settings_show_drivers, true, DEFAULT_SETTINGS_SHOW_DRIVERS, false); SETTING_BOOL("settings_show_video", &settings->bools.settings_show_video, true, DEFAULT_SETTINGS_SHOW_VIDEO, false); SETTING_BOOL("settings_show_audio", &settings->bools.settings_show_audio, true, DEFAULT_SETTINGS_SHOW_AUDIO, false); diff --git a/configuration.h b/configuration.h index 506c00067e..3396b7edc0 100644 --- a/configuration.h +++ b/configuration.h @@ -176,6 +176,7 @@ typedef struct settings bool menu_throttle_framerate; bool menu_linear_filter; bool menu_horizontal_animation; + bool menu_scroll_psp_style; bool menu_show_online_updater; bool menu_show_core_updater; bool menu_show_load_core; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index b83471a93b..bc858bc0f5 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1718,6 +1718,8 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_CORE_UPDATER, "menu_show_core_updater") MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER, "menu_show_legacy_thumbnail_updater") +MSG_HASH(MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, + "menu_scroll_psp_style") MSG_HASH(MENU_ENUM_LABEL_CORE_DELETE, "core_delete") MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_ENTRY_RENAME, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 582ca6dd8f..cad38e8674 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7145,6 +7145,14 @@ MSG_HASH( MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER, "Show/hide the ability to download legacy thumbnail packages." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_MENU_SCROLL_PSP_STYLE, + "PSP-style fast scroll" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_MENU_SCROLL_PSP_STYLE, + "When holding a direction to scroll, cursor has a slower maximum speed." + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS, "Views" diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index f47aba9483..2bf2ea6cb0 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -619,6 +619,7 @@ default_sublabel_macro(action_bind_sublabel_menu_show_shutdown, default_sublabel_macro(action_bind_sublabel_menu_show_online_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_ONLINE_UPDATER) default_sublabel_macro(action_bind_sublabel_menu_show_core_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_CORE_UPDATER) default_sublabel_macro(action_bind_sublabel_menu_show_legacy_thumbnail_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER) +default_sublabel_macro(action_bind_sublabel_menu_scroll_psp_style, MENU_ENUM_SUBLABEL_MENU_SCROLL_PSP_STYLE) default_sublabel_macro(action_bind_sublabel_menu_music_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_MUSIC) default_sublabel_macro(action_bind_sublabel_menu_video_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_VIDEO) default_sublabel_macro(action_bind_sublabel_menu_netplay_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_NETPLAY) @@ -1759,6 +1760,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_show_legacy_thumbnail_updater); break; + case MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_scroll_psp_style); + break; case MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_netplay_tab); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 9d93405bb1..e991a3335a 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5994,6 +5994,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_PAUSE_NONACTIVE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, PARSE_ONLY_BOOL, true}, + {MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_COMPANION_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, PARSE_ONLY_BOOL, true}, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 6fa9c46e73..030e76f9bb 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -15212,6 +15212,21 @@ static bool setting_append_list( SD_FLAG_NONE); #endif + CONFIG_BOOL( + list, list_info, + &settings->bools.menu_scroll_psp_style, + MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, + MENU_ENUM_LABEL_VALUE_MENU_SCROLL_PSP_STYLE, + menu_scroll_psp_style, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_NONE); + CONFIG_BOOL( list, list_info, &settings->bools.ui_companion_enable, diff --git a/msg_hash.h b/msg_hash.h index e672c3ac90..e4dd925afc 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -973,6 +973,7 @@ enum msg_hash_enums MENU_LABEL(MENU_SHOW_ONLINE_UPDATER), MENU_LABEL(MENU_SHOW_CORE_UPDATER), MENU_LABEL(MENU_SHOW_LEGACY_THUMBNAIL_UPDATER), + MENU_LABEL(MENU_SCROLL_PSP_STYLE), MENU_LABEL(MENU_ENABLE_KIOSK_MODE), MENU_LABEL(MENU_DISABLE_KIOSK_MODE), MENU_LABEL(MENU_KIOSK_MODE_PASSWORD), diff --git a/retroarch.c b/retroarch.c index 469678a60e..dd1324c594 100644 --- a/retroarch.c +++ b/retroarch.c @@ -16510,6 +16510,7 @@ static unsigned menu_event( bool menu_mouse_enable = settings->bools.menu_mouse_enable; bool menu_pointer_enable = settings->bools.menu_pointer_enable; bool swap_ok_cancel_btns = settings->bools.input_menu_swap_ok_cancel_buttons; + bool scroll_psp_style = settings->bools.menu_scroll_psp_style; bool input_swap_override = input_autoconfigure_get_swap_override(); unsigned menu_ok_btn = (!input_swap_override && swap_ok_cancel_btns) ? @@ -16539,7 +16540,10 @@ static unsigned menu_event( * for old_input_state. */ first_held = true; - delay_timer = initial_held ? 200 : 100; + if (scroll_psp_style) + delay_timer = initial_held ? 400 : 20; + else + delay_timer = initial_held ? 200 : 100; delay_count = 0; } @@ -16560,7 +16564,10 @@ static unsigned menu_event( menu_driver_ctl(MENU_NAVIGATION_CTL_GET_SCROLL_ACCEL, &new_scroll_accel); - new_scroll_accel = MIN(new_scroll_accel + 1, 64); + if (scroll_psp_style) + new_scroll_accel = MIN(new_scroll_accel + 1, 5); + else + new_scroll_accel = MIN(new_scroll_accel + 1, 64); } initial_held = false; From 1e315bb61b20db9bd71cc304371727d17e2fe7c2 Mon Sep 17 00:00:00 2001 From: parport0 Date: Tue, 10 Mar 2020 13:10:09 +0100 Subject: [PATCH 2/2] Rename PSP-style scroll to Menu scroll acceleration --- config.def.h | 2 +- configuration.c | 2 +- configuration.h | 2 +- intl/msg_hash_lbl.h | 4 ++-- intl/msg_hash_us.h | 16 ++++++++++++---- menu/cbs/menu_cbs_sublabel.c | 6 +++--- menu/menu_displaylist.c | 2 +- menu/menu_setting.c | 12 ++++++------ msg_hash.h | 5 ++++- retroarch.c | 14 +++++++------- 10 files changed, 38 insertions(+), 27 deletions(-) diff --git a/config.def.h b/config.def.h index a7c5e4a3a6..71be4036a0 100644 --- a/config.def.h +++ b/config.def.h @@ -510,7 +510,7 @@ static const bool menu_show_core_updater = true; static const bool menu_show_legacy_thumbnail_updater = false; static const bool menu_show_sublabels = true; -static const bool menu_scroll_psp_style = false; +static const bool menu_scroll_fast = false; #define DEFAULT_MENU_TICKER_TYPE (TICKER_TYPE_BOUNCE) static const float menu_ticker_speed = 1.0f; diff --git a/configuration.c b/configuration.c index a1913541ae..7cc241ce9b 100644 --- a/configuration.c +++ b/configuration.c @@ -1465,7 +1465,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("menu_show_sublabels", &settings->bools.menu_show_sublabels, true, menu_show_sublabels, false); SETTING_BOOL("menu_dynamic_wallpaper_enable", &settings->bools.menu_dynamic_wallpaper_enable, true, false, false); SETTING_BOOL("menu_ticker_smooth", &settings->bools.menu_ticker_smooth, true, DEFAULT_MENU_TICKER_SMOOTH, false); - SETTING_BOOL("menu_scroll_psp_style", &settings->bools.menu_scroll_psp_style, true, false, false); + SETTING_BOOL("menu_scroll_fast", &settings->bools.menu_scroll_fast, true, false, false); SETTING_BOOL("settings_show_drivers", &settings->bools.settings_show_drivers, true, DEFAULT_SETTINGS_SHOW_DRIVERS, false); SETTING_BOOL("settings_show_video", &settings->bools.settings_show_video, true, DEFAULT_SETTINGS_SHOW_VIDEO, false); SETTING_BOOL("settings_show_audio", &settings->bools.settings_show_audio, true, DEFAULT_SETTINGS_SHOW_AUDIO, false); diff --git a/configuration.h b/configuration.h index 3396b7edc0..445856b713 100644 --- a/configuration.h +++ b/configuration.h @@ -176,7 +176,7 @@ typedef struct settings bool menu_throttle_framerate; bool menu_linear_filter; bool menu_horizontal_animation; - bool menu_scroll_psp_style; + bool menu_scroll_fast; bool menu_show_online_updater; bool menu_show_core_updater; bool menu_show_load_core; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index bc858bc0f5..aab371c684 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1718,8 +1718,8 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_CORE_UPDATER, "menu_show_core_updater") MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER, "menu_show_legacy_thumbnail_updater") -MSG_HASH(MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, - "menu_scroll_psp_style") +MSG_HASH(MENU_ENUM_LABEL_MENU_SCROLL_FAST, + "menu_scroll_fast") MSG_HASH(MENU_ENUM_LABEL_CORE_DELETE, "core_delete") MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_ENTRY_RENAME, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index cad38e8674..3d6a0b5e3e 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7146,12 +7146,20 @@ MSG_HASH( "Show/hide the ability to download legacy thumbnail packages." ) MSG_HASH( - MENU_ENUM_LABEL_VALUE_MENU_SCROLL_PSP_STYLE, - "PSP-style fast scroll" + MENU_ENUM_LABEL_VALUE_MENU_SCROLL_FAST, + "Menu Scroll Acceleration" ) MSG_HASH( - MENU_ENUM_SUBLABEL_MENU_SCROLL_PSP_STYLE, - "When holding a direction to scroll, cursor has a slower maximum speed." + MENU_ENUM_SUBLABEL_MENU_SCROLL_FAST, + "Maximum speed of the cursor when holding a direction to scroll." + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL, + "Normal" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_SCROLL_FAST, + "Fast" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS, diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 2bf2ea6cb0..cdd4aa31e6 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -619,7 +619,7 @@ default_sublabel_macro(action_bind_sublabel_menu_show_shutdown, default_sublabel_macro(action_bind_sublabel_menu_show_online_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_ONLINE_UPDATER) default_sublabel_macro(action_bind_sublabel_menu_show_core_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_CORE_UPDATER) default_sublabel_macro(action_bind_sublabel_menu_show_legacy_thumbnail_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER) -default_sublabel_macro(action_bind_sublabel_menu_scroll_psp_style, MENU_ENUM_SUBLABEL_MENU_SCROLL_PSP_STYLE) +default_sublabel_macro(action_bind_sublabel_menu_scroll_fast, MENU_ENUM_SUBLABEL_MENU_SCROLL_FAST) default_sublabel_macro(action_bind_sublabel_menu_music_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_MUSIC) default_sublabel_macro(action_bind_sublabel_menu_video_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_VIDEO) default_sublabel_macro(action_bind_sublabel_menu_netplay_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_NETPLAY) @@ -1760,8 +1760,8 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_show_legacy_thumbnail_updater); break; - case MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE: - BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_scroll_psp_style); + case MENU_ENUM_LABEL_MENU_SCROLL_FAST: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_scroll_fast); break; case MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_netplay_tab); diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index e991a3335a..ae4038fcee 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5994,7 +5994,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_PAUSE_NONACTIVE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, PARSE_ONLY_BOOL, true}, - {MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, PARSE_ONLY_BOOL, true}, + {MENU_ENUM_LABEL_MENU_SCROLL_FAST, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_COMPANION_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, PARSE_ONLY_BOOL, true}, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 030e76f9bb..747aeaa9f8 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -15214,12 +15214,12 @@ static bool setting_append_list( CONFIG_BOOL( list, list_info, - &settings->bools.menu_scroll_psp_style, - MENU_ENUM_LABEL_MENU_SCROLL_PSP_STYLE, - MENU_ENUM_LABEL_VALUE_MENU_SCROLL_PSP_STYLE, - menu_scroll_psp_style, - MENU_ENUM_LABEL_VALUE_OFF, - MENU_ENUM_LABEL_VALUE_ON, + &settings->bools.menu_scroll_fast, + MENU_ENUM_LABEL_MENU_SCROLL_FAST, + MENU_ENUM_LABEL_VALUE_MENU_SCROLL_FAST, + menu_scroll_fast, + MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL, + MENU_ENUM_LABEL_VALUE_SCROLL_FAST, &group_info, &subgroup_info, parent_group, diff --git a/msg_hash.h b/msg_hash.h index e4dd925afc..1b03a6123b 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -973,7 +973,7 @@ enum msg_hash_enums MENU_LABEL(MENU_SHOW_ONLINE_UPDATER), MENU_LABEL(MENU_SHOW_CORE_UPDATER), MENU_LABEL(MENU_SHOW_LEGACY_THUMBNAIL_UPDATER), - MENU_LABEL(MENU_SCROLL_PSP_STYLE), + MENU_LABEL(MENU_SCROLL_FAST), MENU_LABEL(MENU_ENABLE_KIOSK_MODE), MENU_LABEL(MENU_DISABLE_KIOSK_MODE), MENU_LABEL(MENU_KIOSK_MODE_PASSWORD), @@ -1103,6 +1103,9 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_BOUNCE, MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_LOOP, + MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL, + MENU_ENUM_LABEL_VALUE_SCROLL_FAST, + /* UI settings */ MENU_LABEL(VIDEO_DISABLE_COMPOSITION), MENU_LABEL(UI_COMPANION_ENABLE), diff --git a/retroarch.c b/retroarch.c index dd1324c594..d7640292d8 100644 --- a/retroarch.c +++ b/retroarch.c @@ -16510,7 +16510,7 @@ static unsigned menu_event( bool menu_mouse_enable = settings->bools.menu_mouse_enable; bool menu_pointer_enable = settings->bools.menu_pointer_enable; bool swap_ok_cancel_btns = settings->bools.input_menu_swap_ok_cancel_buttons; - bool scroll_psp_style = settings->bools.menu_scroll_psp_style; + bool menu_scroll_fast = settings->bools.menu_scroll_fast; bool input_swap_override = input_autoconfigure_get_swap_override(); unsigned menu_ok_btn = (!input_swap_override && swap_ok_cancel_btns) ? @@ -16540,10 +16540,10 @@ static unsigned menu_event( * for old_input_state. */ first_held = true; - if (scroll_psp_style) - delay_timer = initial_held ? 400 : 20; - else + if (menu_scroll_fast) delay_timer = initial_held ? 200 : 100; + else + delay_timer = initial_held ? 400 : 20; delay_count = 0; } @@ -16564,10 +16564,10 @@ static unsigned menu_event( menu_driver_ctl(MENU_NAVIGATION_CTL_GET_SCROLL_ACCEL, &new_scroll_accel); - if (scroll_psp_style) - new_scroll_accel = MIN(new_scroll_accel + 1, 5); - else + if (menu_scroll_fast) new_scroll_accel = MIN(new_scroll_accel + 1, 64); + else + new_scroll_accel = MIN(new_scroll_accel + 1, 5); } initial_held = false;