From 6730d059183acabad4e3860ffe9e272247faac2c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 13 May 2019 09:44:52 +0200 Subject: [PATCH] (XMB) Animation settings - Main Menu opening/closing, Horizontal highlight, Move up/down --- configuration.c | 3 ++ configuration.h | 3 ++ intl/msg_hash_ar.h | 6 +++ intl/msg_hash_chs.h | 6 +++ intl/msg_hash_cht.h | 6 +++ intl/msg_hash_de.h | 6 +++ intl/msg_hash_el.h | 6 +++ intl/msg_hash_eo.h | 6 +++ intl/msg_hash_es.h | 6 +++ intl/msg_hash_fr.h | 6 +++ intl/msg_hash_it.h | 6 +++ intl/msg_hash_ja.h | 6 +++ intl/msg_hash_ko.h | 6 +++ intl/msg_hash_lbl.h | 6 +++ intl/msg_hash_nl.h | 6 +++ intl/msg_hash_pl.h | 6 +++ intl/msg_hash_pt_br.h | 6 +++ intl/msg_hash_pt_pt.h | 6 +++ intl/msg_hash_ru.h | 6 +++ intl/msg_hash_tr.h | 6 +++ intl/msg_hash_us.h | 6 +++ intl/msg_hash_vn.h | 6 +++ menu/drivers/xmb.c | 59 ++++++++++++++++++--- menu/menu_displaylist.c | 3 ++ menu/menu_setting.c | 114 ++++++++++++++++++++++++++++++++++++++++ msg_hash.h | 3 ++ 26 files changed, 298 insertions(+), 7 deletions(-) diff --git a/configuration.c b/configuration.c index d4adfb01b5..a5978dcbe9 100644 --- a/configuration.c +++ b/configuration.c @@ -1755,6 +1755,9 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings, #endif #ifdef HAVE_XMB SETTING_UINT("menu_left_thumbnails", &settings->uints.menu_left_thumbnails, true, menu_left_thumbnails_default, false); + SETTING_UINT("menu_xmb_animation_opening_main_menu", &settings->uints.menu_xmb_animation_opening_main_menu, true, 0 /* TODO/FIXME - implement */, false); + SETTING_UINT("menu_xmb_animation_horizontal_highlight", &settings->uints.menu_xmb_animation_horizontal_highlight, true, 0 /* TODO/FIXME - implement */, false); + SETTING_UINT("menu_xmb_animation_move_up_down", &settings->uints.menu_xmb_animation_move_up_down, true, 0 /* TODO/FIXME - implement */, false); SETTING_UINT("xmb_alpha_factor", &settings->uints.menu_xmb_alpha_factor, true, xmb_alpha_factor, false); SETTING_UINT("xmb_scale_factor", &settings->uints.menu_xmb_scale_factor, true, xmb_scale_factor, false); SETTING_UINT("xmb_layout", &settings->uints.menu_xmb_layout, true, xmb_menu_layout, false); diff --git a/configuration.h b/configuration.h index a42b9a7ed0..d054847a28 100644 --- a/configuration.h +++ b/configuration.h @@ -454,6 +454,9 @@ typedef struct settings unsigned menu_rgui_thumbnail_delay; unsigned menu_dpi_override_value; unsigned menu_rgui_color_theme; + unsigned menu_xmb_animation_opening_main_menu; + unsigned menu_xmb_animation_horizontal_highlight; + unsigned menu_xmb_animation_move_up_down; unsigned menu_xmb_layout; unsigned menu_xmb_shader_pipeline; unsigned menu_xmb_scale_factor; diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index e8317a0ca0..127892e311 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -3756,3 +3756,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 2e9098d548..d499e2b770 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -4774,3 +4774,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index 15904a2942..1e8d1ea807 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3532,3 +3532,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index c71a59e72c..649e573b26 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3661,3 +3661,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_el.h b/intl/msg_hash_el.h index 2beb741128..b2d57d9c3e 100644 --- a/intl/msg_hash_el.h +++ b/intl/msg_hash_el.h @@ -7738,3 +7738,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 3734cdc5f4..790a3ceea7 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -3420,3 +3420,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index efdc6dadf6..e5a3841886 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -7890,3 +7890,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 6475068c4d..d0e24eac67 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -8678,3 +8678,9 @@ MSG_HASH( MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "Si cette option est désactivée, le contenu n'est ajouté aux listes de lecture que s'il est pris en charge par un cœur installé. Cette option ajoutera toujours le contenu aux listes de lecture, et un cœur compatible pourra être installé plus tard." ) +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index c6fba0bffc..4d536328c4 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3645,3 +3645,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 4b986258c1..d4b4930e9e 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -4214,3 +4214,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 11bacce808..46db4aee26 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -3513,3 +3513,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 291064c838..dd183a4f9c 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1869,3 +1869,9 @@ MSG_HASH(MENU_ENUM_LABEL_VIDEO_SHADERS_ENABLE, "video_shader_enable") MSG_HASH(MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH, "scan_without_core_match") +MSG_HASH(MENU_ENUM_LABEL_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "xmb_menu_animation_horizontal_highlight") +MSG_HASH(MENU_ENUM_LABEL_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "xmb_menu_animation_move_up_down") +MSG_HASH(MENU_ENUM_LABEL_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "xmb_menu_animation_opening_main_menu") diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 858d1c2c52..be9887997e 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -3414,3 +3414,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index 5d18b00489..cbbd165b3d 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -3810,3 +3810,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 2ed252a455..f3249791dd 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -8669,3 +8669,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Verificar sem correspondência principal") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "Quando desativado, o conteúdo só é adicionado às listas de reprodução se você tiver um núcleo instalado que suporte sua extensão. Ao ativar isso, ele será adicionado à lista de reprodução independentemente. Desta forma, você pode instalar o núcleo que você precisa mais tarde, após a digitalização.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index 175c186355..9b6e2fede6 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -3486,3 +3486,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index d5a51aa368..7252b37afe 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3689,3 +3689,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_tr.h b/intl/msg_hash_tr.h index 2b1d66fa09..cbefc60667 100644 --- a/intl/msg_hash_tr.h +++ b/intl/msg_hash_tr.h @@ -8558,3 +8558,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 50acfe8663..1f0177c7df 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8727,3 +8727,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index b7fc98c6ef..0eb51fa021 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3576,3 +3576,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH, "Scan without core match") MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH, "When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + "Animation Horizontal Icon Highlight") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + "Animation Move Up/Down") +MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + "Animation Main Menu Opens/Closes") diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index db9de62483..8500f73de8 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1237,17 +1237,28 @@ static void xmb_selection_pointer_changed( } else { + settings_t *settings = config_get_ptr(); /* Move up/down animation */ menu_animation_ctx_entry_t anim_entry; - anim_entry.duration = XMB_DELAY; anim_entry.target_value = ia; anim_entry.subject = &node->alpha; - anim_entry.easing_enum = EASING_OUT_QUAD; anim_entry.tag = tag; anim_entry.cb = NULL; + switch (settings->uints.menu_xmb_animation_move_up_down) + { + case 0: + anim_entry.duration = XMB_DELAY; + anim_entry.easing_enum = EASING_OUT_QUAD; + break; + case 1: + anim_entry.duration = XMB_DELAY * 4; + anim_entry.easing_enum = EASING_OUT_EXPO; + break; + } + menu_animation_push(&anim_entry); anim_entry.subject = &node->label_alpha; @@ -1678,6 +1689,7 @@ static void xmb_list_switch_horizontal_list(xmb_handle_t *xmb) for (j = 0; j <= list_size; j++) { menu_animation_ctx_entry_t entry; + settings_t *settings = config_get_ptr(); float ia = xmb->categories_passive_alpha; float iz = xmb->categories_passive_zoom; xmb_node_t *node = xmb_get_node(xmb, j); @@ -1693,14 +1705,28 @@ static void xmb_list_switch_horizontal_list(xmb_handle_t *xmb) /* Horizontal icon animation */ - entry.duration = XMB_DELAY; entry.target_value = ia; entry.subject = &node->alpha; - entry.easing_enum = EASING_OUT_QUAD; /* TODO/FIXME - integer conversion resulted in change of sign */ entry.tag = -1; entry.cb = NULL; + switch (settings->uints.menu_xmb_animation_horizontal_highlight) + { + case 0: + entry.duration = XMB_DELAY; + entry.easing_enum = EASING_OUT_QUAD; + break; + case 1: + entry.duration = XMB_DELAY + (XMB_DELAY / 2); + entry.easing_enum = EASING_IN_SINE; + break; + case 2: + entry.duration = XMB_DELAY * 4; + entry.easing_enum = EASING_OUT_BOUNCE; + break; + } + menu_animation_push(&entry); entry.target_value = iz; @@ -2060,6 +2086,7 @@ static void xmb_list_open(xmb_handle_t *xmb) { menu_animation_ctx_entry_t entry; + settings_t *settings = config_get_ptr(); int dir = 0; file_list_t *selection_buf = menu_entries_get_selection_buf_ptr(0); size_t selection = menu_navigation_get_selection(); @@ -2080,16 +2107,34 @@ static void xmb_list_open(xmb_handle_t *xmb) xmb_list_open_new(xmb, selection_buf, dir, selection); - /* Menu opening animation */ + /* Main Menu opening animation */ - entry.duration = XMB_DELAY; entry.target_value = xmb->icon_size * -(xmb->depth*2-2); entry.subject = &xmb->x; - entry.easing_enum = EASING_OUT_QUAD; /* TODO/FIXME - integer conversion resulted in change of sign */ entry.tag = -1; entry.cb = NULL; + switch (settings->uints.menu_xmb_animation_opening_main_menu) + { + case 0: + entry.easing_enum = EASING_OUT_QUAD; + entry.duration = XMB_DELAY; + break; + case 1: + entry.easing_enum = EASING_OUT_CIRC; + entry.duration = XMB_DELAY * 2; + break; + case 2: + entry.easing_enum = EASING_OUT_EXPO; + entry.duration = XMB_DELAY * 3; + break; + case 3: + entry.easing_enum = EASING_OUT_BOUNCE; + entry.duration = XMB_DELAY * 4; + break; + } + switch (xmb->depth) { case 1: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 331c9c44f9..616cc1025f 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -4293,6 +4293,9 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct {MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO, PARSE_ONLY_UINT}, {MENU_ENUM_LABEL_MENU_RGUI_ASPECT_RATIO_LOCK, PARSE_ONLY_UINT}, {MENU_ENUM_LABEL_MENU_HORIZONTAL_ANIMATION, PARSE_ONLY_BOOL}, + {MENU_ENUM_LABEL_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_MENU_XMB_ANIMATION_MOVE_UP_DOWN, PARSE_ONLY_UINT}, + {MENU_ENUM_LABEL_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, PARSE_ONLY_UINT}, {MENU_ENUM_LABEL_RGUI_MENU_COLOR_THEME, PARSE_ONLY_UINT}, {MENU_ENUM_LABEL_RGUI_MENU_THEME_PRESET, PARSE_ONLY_PATH}, {MENU_ENUM_LABEL_MENU_RGUI_SHADOWS, PARSE_ONLY_BOOL}, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 3305cc29a0..4ae4b2d6a2 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3307,6 +3307,69 @@ static void setting_get_string_representation_uint_rgui_particle_effect( } } +static void setting_get_string_representation_uint_menu_xmb_animation_move_up_down( + rarch_setting_t *setting, + char *s, size_t len) +{ + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case 0: + strlcpy(s, "Easing Out Quad", len); + break; + case 1: + strlcpy(s, "Easing Out Expo", len); + break; + } +} + +static void setting_get_string_representation_uint_menu_xmb_animation_opening_main_menu( + rarch_setting_t *setting, + char *s, size_t len) +{ + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case 0: + strlcpy(s, "Easing Out Quad", len); + break; + case 1: + strlcpy(s, "Easing Out Circ", len); + break; + case 2: + strlcpy(s, "Easing Out Expo", len); + break; + case 3: + strlcpy(s, "Easing Out Bounce", len); + break; + } +} + +static void setting_get_string_representation_uint_menu_xmb_animation_horizontal_highlight( + rarch_setting_t *setting, + char *s, size_t len) +{ + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case 0: + strlcpy(s, "Easing Out Quad", len); + break; + case 1: + strlcpy(s, "Easing In Sine", len); + break; + case 2: + strlcpy(s, "Easing Out Bounce", len); + break; + } +} + static void setting_get_string_representation_uint_menu_ticker_type( rarch_setting_t *setting, char *s, size_t len) @@ -11125,6 +11188,57 @@ static bool setting_append_list( (*list)[list_info->index - 1].action_right = NULL; (*list)[list_info->index - 1].action_start = NULL; #endif + + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_animation_horizontal_highlight, + MENU_ENUM_LABEL_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT, + menu_ticker_type, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_uint_menu_xmb_animation_horizontal_highlight; + menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS; + + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_animation_move_up_down, + MENU_ENUM_LABEL_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_MOVE_UP_DOWN, + menu_ticker_type, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_uint_menu_xmb_animation_move_up_down; + menu_settings_list_current_add_range(list, list_info, 0, 1, 1, true, true); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS; + + CONFIG_UINT( + list, list_info, + &settings->uints.menu_xmb_animation_opening_main_menu, + MENU_ENUM_LABEL_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + MENU_ENUM_LABEL_VALUE_MENU_XMB_ANIMATION_OPENING_MAIN_MENU, + menu_ticker_type, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_uint_menu_xmb_animation_opening_main_menu; + menu_settings_list_current_add_range(list, list_info, 0, 3, 1, true, true); + (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS; } CONFIG_UINT( diff --git a/msg_hash.h b/msg_hash.h index 71b36c8e50..a6f083d464 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -438,6 +438,9 @@ enum msg_hash_enums MSG_RUNAHEAD_FAILED_TO_CREATE_SECONDARY_INSTANCE, MSG_MISSING_ASSETS, + MENU_LABEL(MENU_XMB_ANIMATION_HORIZONTAL_HIGHLIGHT), + MENU_LABEL(MENU_XMB_ANIMATION_MOVE_UP_DOWN), + MENU_LABEL(MENU_XMB_ANIMATION_OPENING_MAIN_MENU), MENU_LABEL(SCAN_WITHOUT_CORE_MATCH), MENU_LABEL(STREAMING_TITLE), MENU_LABEL(STREAMING_MODE),