From c5775fd73c5a9e90d367f3bd4e113280046c09ed Mon Sep 17 00:00:00 2001 From: Ryunam Date: Sat, 10 Mar 2018 18:42:45 +0100 Subject: [PATCH] Implement Slow motion toggle --- command.c | 3 ++- config.def.keybinds.h | 6 ++++-- input/input_defines.h | 3 ++- input/input_driver.c | 3 ++- intl/msg_hash_ar.c | 14 +++++++++----- intl/msg_hash_ar.h | 6 ++++-- intl/msg_hash_chs.c | 10 +++++----- intl/msg_hash_chs.h | 2 +- intl/msg_hash_cht.c | 10 +++++----- intl/msg_hash_cht.h | 2 +- intl/msg_hash_de.c | 10 +++++----- intl/msg_hash_de.h | 2 +- intl/msg_hash_eo.h | 2 +- intl/msg_hash_es.c | 2 +- intl/msg_hash_es.h | 2 +- intl/msg_hash_fr.h | 2 +- intl/msg_hash_it.c | 2 +- intl/msg_hash_it.h | 2 +- intl/msg_hash_ja.c | 10 +++++----- intl/msg_hash_ja.h | 4 ++-- intl/msg_hash_ko.c | 10 +++++----- intl/msg_hash_ko.h | 2 +- intl/msg_hash_nl.h | 2 +- intl/msg_hash_pl.h | 2 +- intl/msg_hash_pt_br.c | 10 +++++----- intl/msg_hash_pt_br.h | 2 +- intl/msg_hash_pt_pt.c | 2 +- intl/msg_hash_pt_pt.h | 2 +- intl/msg_hash_ru.h | 2 +- intl/msg_hash_us.c | 14 +++++++++----- intl/msg_hash_us.h | 6 ++++-- intl/msg_hash_vn.c | 10 +++++----- intl/msg_hash_vn.h | 6 ++++-- msg_hash.h | 5 +++-- retroarch.c | 30 +++++++++++++++++++++++++++++- 35 files changed, 125 insertions(+), 77 deletions(-) diff --git a/command.c b/command.c index 931e365ff3..ae286eab21 100644 --- a/command.c +++ b/command.c @@ -140,6 +140,8 @@ static const struct cmd_action_map action_map[] = { static const struct cmd_map map[] = { { "FAST_FORWARD", RARCH_FAST_FORWARD_KEY }, { "FAST_FORWARD_HOLD", RARCH_FAST_FORWARD_HOLD_KEY }, + { "SLOWMOTION", RARCH_SLOWMOTION_KEY }, + { "SLOWMOTION_HOLD", RARCH_SLOWMOTION_HOLD_KEY }, { "LOAD_STATE", RARCH_LOAD_STATE_KEY }, { "SAVE_STATE", RARCH_SAVE_STATE_KEY }, { "FULLSCREEN_TOGGLE", RARCH_FULLSCREEN_TOGGLE_KEY }, @@ -160,7 +162,6 @@ static const struct cmd_map map[] = { { "MUTE", RARCH_MUTE }, { "OSK", RARCH_OSK }, { "NETPLAY_GAME_WATCH", RARCH_NETPLAY_GAME_WATCH }, - { "SLOWMOTION", RARCH_SLOWMOTION }, { "VOLUME_UP", RARCH_VOLUME_UP }, { "VOLUME_DOWN", RARCH_VOLUME_DOWN }, { "OVERLAY_NEXT", RARCH_OVERLAY_NEXT }, diff --git a/config.def.keybinds.h b/config.def.keybinds.h index 6da85fd5bb..298f9971a6 100644 --- a/config.def.keybinds.h +++ b/config.def.keybinds.h @@ -66,6 +66,8 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_FAST_FORWARD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_FAST_FORWARD_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY,RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_SLOWMOTION_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_SLOWMOTION_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_LOAD_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_SAVE_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_FULLSCREEN_TOGGLE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY,RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, @@ -86,7 +88,6 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_NETPLAY_GAME_WATCH, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, - { true, RARCH_SLOWMOTION, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_VOLUME_DOWN, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, @@ -140,6 +141,8 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_FAST_FORWARD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, RETROK_SPACE, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_FAST_FORWARD_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY,RETROK_l, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_SLOWMOTION_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, + { true, RARCH_SLOWMOTION_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, RETROK_e, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_LOAD_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, RETROK_F4, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_SAVE_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, RETROK_F2, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_FULLSCREEN_TOGGLE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY,RETROK_f, NO_BTN, NO_BTN, 0, AXIS_NONE }, @@ -160,7 +163,6 @@ static const struct retro_keybind retro_keybinds_1[] = { { true, RARCH_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, RETROK_F9, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, RETROK_F12, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_NETPLAY_GAME_WATCH, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, RETROK_i, NO_BTN, NO_BTN, 0, AXIS_NONE }, - { true, RARCH_SLOWMOTION, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, RETROK_e, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, RETROK_UNKNOWN, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, RETROK_KP_PLUS, NO_BTN, NO_BTN, 0, AXIS_NONE }, { true, RARCH_VOLUME_DOWN, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, RETROK_KP_MINUS,NO_BTN, NO_BTN, 0, AXIS_NONE }, diff --git a/input/input_defines.h b/input/input_defines.h index 892c2d9f87..91f14d2766 100644 --- a/input/input_defines.h +++ b/input/input_defines.h @@ -72,6 +72,8 @@ enum * only usable for port 0. */ RARCH_FAST_FORWARD_KEY = RARCH_FIRST_META_KEY, RARCH_FAST_FORWARD_HOLD_KEY, + RARCH_SLOWMOTION_KEY, + RARCH_SLOWMOTION_HOLD_KEY, RARCH_LOAD_STATE_KEY, RARCH_SAVE_STATE_KEY, RARCH_FULLSCREEN_TOGGLE_KEY, @@ -92,7 +94,6 @@ enum RARCH_MUTE, RARCH_OSK, RARCH_NETPLAY_GAME_WATCH, - RARCH_SLOWMOTION, RARCH_ENABLE_HOTKEY, RARCH_VOLUME_UP, RARCH_VOLUME_DOWN, diff --git a/input/input_driver.c b/input/input_driver.c index 0e42a4584d..14ed1c17a9 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -298,6 +298,8 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = { DECLARE_META_BIND(1, toggle_fast_forward, RARCH_FAST_FORWARD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY), DECLARE_META_BIND(2, hold_fast_forward, RARCH_FAST_FORWARD_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY), + DECLARE_META_BIND(1, toggle_slowmotion, RARCH_SLOWMOTION_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY), + DECLARE_META_BIND(2, hold_slowmotion, RARCH_SLOWMOTION_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY), DECLARE_META_BIND(1, load_state, RARCH_LOAD_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY), DECLARE_META_BIND(1, save_state, RARCH_SAVE_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY), DECLARE_META_BIND(2, toggle_fullscreen, RARCH_FULLSCREEN_TOGGLE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY), @@ -318,7 +320,6 @@ const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL] = { DECLARE_META_BIND(2, audio_mute, RARCH_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE), DECLARE_META_BIND(2, osk_toggle, RARCH_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK), DECLARE_META_BIND(2, netplay_game_watch, RARCH_NETPLAY_GAME_WATCH, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH), - DECLARE_META_BIND(2, slowmotion, RARCH_SLOWMOTION, MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION), DECLARE_META_BIND(2, enable_hotkey, RARCH_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY), DECLARE_META_BIND(2, volume_up, RARCH_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP), DECLARE_META_BIND(2, volume_down, RARCH_VOLUME_DOWN, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN), diff --git a/intl/msg_hash_ar.c b/intl/msg_hash_ar.c index ab9d5ba34a..eecd30b398 100644 --- a/intl/msg_hash_ar.c +++ b/intl/msg_hash_ar.c @@ -62,6 +62,14 @@ int menu_hash_get_help_ar_enum(enum msg_hash_enums msg, char *s, size_t len) "Releasing button disables fast-forward." ); break; + case RARCH_SLOWMOTION_KEY: + snprintf(s, len, + "Toggles slowmotion."); + break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Hold for slowmotion."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Toggle between paused and non-paused state."); @@ -104,10 +112,6 @@ int menu_hash_get_help_ar_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Netplay toggle play/spectate mode."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Hold for slowmotion."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Enable other hotkeys. \n" @@ -1912,7 +1916,7 @@ int menu_hash_get_help_ar_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index 01732c817c..740bf303ec 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -897,8 +897,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Next shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Previous shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, - "Slow motion") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, + "Slow motion toggle") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, + "Slow motion hold") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Savestate slot -") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c index 91ba1d0d3a..124e6f2ecf 100644 --- a/intl/msg_hash_chs.c +++ b/intl/msg_hash_chs.c @@ -53,6 +53,10 @@ int menu_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len) "放开按键来取消快进。" ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "按住并以慢动作运行。"); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "在暂停和不暂停状态间切换。"); @@ -91,10 +95,6 @@ int menu_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "显示/隐藏屏显键盘。"); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "按住并以慢动作运行。"); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "启用其他热键. \n" @@ -1760,7 +1760,7 @@ int menu_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 7e72e839ce..425fdd8e12 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -838,7 +838,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "下一个Shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "上一个Shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "慢动作") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "存档槽 -") diff --git a/intl/msg_hash_cht.c b/intl/msg_hash_cht.c index 36c7d0d5b2..62b431bafb 100644 --- a/intl/msg_hash_cht.c +++ b/intl/msg_hash_cht.c @@ -53,6 +53,10 @@ int menu_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len) "放開按鍵來取消快進。" ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "按住並以慢動作運行。"); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "在暫停和不暫停狀態間切換。"); @@ -91,10 +95,6 @@ int menu_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "顯示/隱藏營幕鍵盤。"); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "按住並以慢動作運行。"); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "啟用其他熱鍵. \n" @@ -1757,7 +1757,7 @@ int menu_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index adfb03691a..f89f7bc672 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -838,7 +838,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "下一個Shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "上一個Shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "慢動作") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "存檔槽 -") diff --git a/intl/msg_hash_de.c b/intl/msg_hash_de.c index 559709b335..38986ba465 100644 --- a/intl/msg_hash_de.c +++ b/intl/msg_hash_de.c @@ -48,6 +48,10 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) "Beim Loslassen wird der schnelle Vorlauf beendet." ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Taste gedrückt halten, um die Zeitlupe einzuschalten."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Inhalt pausieren und wieder fortsetzen."); @@ -90,10 +94,6 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Im Netplay zwischen Spiel- und Beobachter-Modus wechseln."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Taste gedrückt halten, um die Zeitlupe einzuschalten."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Andere Tastenkürzel aktivieren. \n" @@ -1904,7 +1904,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) "Zum Vorspulen gedrückt halten. Wird die Taste \n" "losgelassen, wird der schnelle Vorlauf beendet."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Gedrückt halten für Zeitlupe."); break; diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 2b56dae6ff..8fac14b838 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -845,7 +845,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Nächster Shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Vorheriger Shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Zeitlupe") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Zustands-Speicherplatz -") diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index af30b6281d..48e9056dcd 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -754,7 +754,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Next shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Previous shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Slow motion") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Savestate slot -") diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 00bf838c73..048f6bc549 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -1109,7 +1109,7 @@ int menu_hash_get_help_es_enum(enum msg_hash_enums msg, char *s, size_t len) "rápidamente. Suéltalo para desactivar \n" "esta función."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Mantén pulsado este botón para \n" "ir a cámara lenta."); diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index ad4c55eba3..47becced60 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -1259,7 +1259,7 @@ MSG_HASH( "Shader previo" ) MSG_HASH( - MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, + MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Cámara lenta" ) MSG_HASH( diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index f999585f40..ea393927e6 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -839,7 +839,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Shader suivant") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Shader précédent") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Ralenti") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Emplacement de sauvegarde instantanée -") diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c index 8fd5c4a755..af465751aa 100644 --- a/intl/msg_hash_it.c +++ b/intl/msg_hash_it.c @@ -987,7 +987,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index acf23b6715..dfccfb5a4f 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -845,7 +845,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Shader successivo") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Shader Precedente") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Slow motion") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Slot di Salvataggio -") diff --git a/intl/msg_hash_ja.c b/intl/msg_hash_ja.c index 31e93307aa..5c3085e8ec 100644 --- a/intl/msg_hash_ja.c +++ b/intl/msg_hash_ja.c @@ -54,6 +54,10 @@ int menu_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len) "離すと普通のスピードで戻ります。" ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Hold for slowmotion."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Toggle between paused and non-paused state."); @@ -92,10 +96,6 @@ int menu_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Toggles onscreen keyboard."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Hold for slowmotion."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Enable other hotkeys. \n" @@ -1789,7 +1789,7 @@ int menu_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 37e94962e3..b5a4fbf453 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -915,8 +915,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "次のシェーダー") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "前のシェーダー") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, - "スローモーション") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, + "ホルドでスローモーション") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "前の状態スロット") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, diff --git a/intl/msg_hash_ko.c b/intl/msg_hash_ko.c index faa82fb500..369950ef99 100644 --- a/intl/msg_hash_ko.c +++ b/intl/msg_hash_ko.c @@ -53,6 +53,10 @@ int menu_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len) "버튼을 놓으면 빨기감기 중지." ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "슬로우모션 대기."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "일시정지 상태와 해제 상태의 전환."); @@ -95,10 +99,6 @@ int menu_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "넷플레이 플레이/관전 모드 전환."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "슬로우모션 대기."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "추가 핫키 사용. \n" @@ -1868,7 +1868,7 @@ int menu_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 9d68ad1035..988e05cdab 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -825,7 +825,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "다음 쉐이더") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "이전 쉐이더") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "슬로우 모션") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "상태저장 슬롯 -") diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index cb37aff900..73bcdb3c86 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -754,7 +754,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Next shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Previous shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Slow motion") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Savestate slot -") diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index 908bc87ca0..50ba31e74c 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -857,7 +857,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Następny moduł cieniujący") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Poprzedni moduł cieniujący") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Zwolnione tempo") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Slot zapisu -") diff --git a/intl/msg_hash_pt_br.c b/intl/msg_hash_pt_br.c index cd955d0e7c..1fd590ccb4 100644 --- a/intl/msg_hash_pt_br.c +++ b/intl/msg_hash_pt_br.c @@ -54,6 +54,10 @@ int menu_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len) "Soltar o botão desativa o Avanço Rápido." ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Manter pressionado para Câmera Lenta."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Alternar estado pausado e não-pausado."); @@ -96,10 +100,6 @@ int menu_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Alternar modo jogador/espectador do Netplay."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Manter pressionado para Câmera Lenta."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Habilitar outras teclas de atalho. \n" @@ -1970,7 +1970,7 @@ int menu_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len) "Manter pressionado para Avanço Rápido \n" "Soltar o botão desativa o Avanço Rápido."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Manter pressionado para Câmera Lenta."); break; diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index bf2548cc42..c3f5195ee1 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -884,7 +884,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Shader Anterior" ) -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Câmera Lenta" ) MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, diff --git a/intl/msg_hash_pt_pt.c b/intl/msg_hash_pt_pt.c index 9774a2085f..3465d5b7e0 100644 --- a/intl/msg_hash_pt_pt.c +++ b/intl/msg_hash_pt_pt.c @@ -893,7 +893,7 @@ int menu_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len) "Continue a pressionar para ativar a função de avanço rápido. Se soltar o botão \n" "irá desativar a função de avanço-rápido."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Continue a pressionar para manter o modo de câmera lenta."); break; diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index dc824a59e8..34c000339c 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -825,7 +825,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Shader seguinte") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Shader anterior") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Função de câmera-lenta") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Posição de gravação de estado -") diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index efbdd6db76..9a1528a8eb 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -848,7 +848,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Следующий шейдер") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Предыдущий шейдер") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, "Замедленная съемка") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Сохранять слот -") diff --git a/intl/msg_hash_us.c b/intl/msg_hash_us.c index 86de76a8cd..264b0a7860 100644 --- a/intl/msg_hash_us.c +++ b/intl/msg_hash_us.c @@ -56,6 +56,14 @@ int menu_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len) "Releasing button disables fast-forward." ); break; + case RARCH_SLOWMOTION_KEY: + snprintf(s, len, + "Toggles slowmotion."); + break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Hold for slowmotion."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Toggle between paused and non-paused state."); @@ -98,10 +106,6 @@ int menu_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Netplay toggle play/spectate mode."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Hold for slowmotion."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Enable other hotkeys. \n" @@ -1909,7 +1913,7 @@ int menu_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 837eda451f..50a67452e4 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -897,8 +897,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Next shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Previous shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, - "Slow motion") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, + "Slow motion hold") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, + "Slow motion toggle") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Savestate slot -") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index 110a4c26e4..a3f302f72b 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -54,6 +54,10 @@ int menu_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len) "Thả nút để ngừng xem nhanh." ); break; + case RARCH_SLOWMOTION_HOLD_KEY: + snprintf(s, len, + "Nhấn để xem chậm."); + break; case RARCH_PAUSE_TOGGLE: snprintf(s, len, "Bật/tắt chức năng tạm dừng."); @@ -92,10 +96,6 @@ int menu_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len) snprintf(s, len, "Bật/tắt bàn phím trên màn hình."); break; - case RARCH_SLOWMOTION: - snprintf(s, len, - "Nhấn để xem chậm."); - break; case RARCH_ENABLE_HOTKEY: snprintf(s, len, "Enable other hotkeys. \n" @@ -1790,7 +1790,7 @@ int menu_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len) "Hold for fast-forward. Releasing button \n" "disables fast-forward."); break; - case MENU_ENUM_LABEL_SLOWMOTION: + case MENU_ENUM_LABEL_SLOWMOTION_HOLD: snprintf(s, len, "Hold for slowmotion."); break; diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index 9aaea79f67..c8eb72e9cd 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -837,8 +837,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_NEXT, "Next shader") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SHADER_PREV, "Previous shader") -MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, - "Slow motion") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, + "Slow motion hold") +MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, + "Slow motion toggle") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_MINUS, "Savestate slot -") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_META_STATE_SLOT_PLUS, diff --git a/msg_hash.h b/msg_hash.h index a989f98fcb..d30d2b6e08 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -595,6 +595,8 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FAST_FORWARD_HOLD_KEY, + MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_KEY, + MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION_HOLD_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_LOAD_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_SAVE_STATE_KEY, MENU_ENUM_LABEL_VALUE_INPUT_META_FULLSCREEN_TOGGLE_KEY, @@ -614,7 +616,6 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_INPUT_META_MUTE, MENU_ENUM_LABEL_VALUE_INPUT_META_OSK, MENU_ENUM_LABEL_VALUE_INPUT_META_NETPLAY_GAME_WATCH, - MENU_ENUM_LABEL_VALUE_INPUT_META_SLOWMOTION, MENU_ENUM_LABEL_VALUE_INPUT_META_ENABLE_HOTKEY, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_UP, MENU_ENUM_LABEL_VALUE_INPUT_META_VOLUME_DOWN, @@ -1061,7 +1062,7 @@ enum msg_hash_enums MENU_LABEL(NO_NETPLAY_HOSTS_FOUND), MENU_ENUM_LABEL_RESET, - MENU_ENUM_LABEL_SLOWMOTION, + MENU_ENUM_LABEL_SLOWMOTION_HOLD, MENU_ENUM_LABEL_HOLD_FAST_FORWARD, MENU_ENUM_LABEL_CHEAT_TOGGLE, MENU_ENUM_LABEL_PAUSE_TOGGLE, diff --git a/retroarch.c b/retroarch.c index 2f680c17c6..cfe6558f22 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2915,8 +2915,33 @@ static enum runloop_state runloop_check_state( } /* Checks if slowmotion toggle/hold was being pressed and/or held. */ + { - runloop_slowmotion = BIT256_GET(current_input, RARCH_SLOWMOTION); + static bool old_slowmotion_button_state = false; + static bool old_slowmotion_hold_button_state = false; + bool new_slowmotion_button_state = BIT256_GET( + current_input, RARCH_SLOWMOTION_KEY); + bool new_slowmotion_hold_button_state = BIT256_GET( + current_input, RARCH_SLOWMOTION_HOLD_KEY); + + if (new_slowmotion_button_state && !old_slowmotion_button_state) + { + if (runloop_slowmotion) { + runloop_slowmotion = false; + } + else { + runloop_slowmotion = true; + } + } + else if (old_slowmotion_hold_button_state != new_slowmotion_hold_button_state) + { + if (new_slowmotion_hold_button_state) { + runloop_slowmotion = true; + } + else { + runloop_slowmotion = false; + } + } if (runloop_slowmotion) { @@ -2933,6 +2958,9 @@ static enum runloop_state runloop_check_state( runloop_msg_queue_push( msg_hash_to_str(MSG_SLOW_MOTION), 1, 1, false); } + + old_slowmotion_button_state = new_slowmotion_button_state; + old_slowmotion_hold_button_state = new_slowmotion_hold_button_state; } /* Check movie record toggle */