Merge pull request #6377 from Ryunam/master

Implement Slow motion toggle under Input Hotkey Binds
This commit is contained in:
Twinaphex 2018-03-10 22:15:04 +01:00 committed by GitHub
commit 173f6a23e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 125 additions and 77 deletions

View File

@ -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 },

View File

@ -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 },

View File

@ -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,

View File

@ -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),

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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,
"存档槽 -")

View File

@ -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;

View File

@ -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,
"存檔槽 -")

View File

@ -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;

View File

@ -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 -")

View File

@ -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 -")

View File

@ -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.");

View File

@ -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(

View File

@ -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 -")

View File

@ -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;

View File

@ -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 -")

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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,
"상태저장 슬롯 -")

View File

@ -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 -")

View File

@ -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 -")

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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 -")

View File

@ -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,
"Сохранять слот -")

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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,

View File

@ -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,

View File

@ -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 */