Revert "Revert "Display a "Fast forward." message""

This reverts commit f3c774a797688307cf0224909fc1aac4dddb3bba.
This commit is contained in:
Rob Loach 2017-11-18 10:48:53 -05:00
parent 3b6f78972a
commit 7f38177246
No known key found for this signature in database
GPG Key ID: 627C60834A74A21A
18 changed files with 56 additions and 8 deletions

View File

@ -2165,6 +2165,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"跳过 SRAM 加载。") "跳过 SRAM 加载。")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"慢动作。") "慢动作。")
MSG_HASH(MSG_FAST_FORWARD,
"快进。")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"慢动作回溯。") "慢动作回溯。")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2165,6 +2165,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"跳過 SRAM 戴入。") "跳過 SRAM 戴入。")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"慢動作。") "慢動作。")
MSG_HASH(MSG_FAST_FORWARD,
"快進。")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"慢動作回溯。") "慢動作回溯。")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2229,6 +2229,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Überspringe Laden des SRAM.") "Überspringe Laden des SRAM.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Zeitlupe.") "Zeitlupe.")
MSG_HASH(MSG_FAST_FORWARD,
"Snel vooruit.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"In Zeitlupe zurückspulen.") "In Zeitlupe zurückspulen.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2054,6 +2054,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Slow motion.") "Slow motion.")
MSG_HASH(MSG_FAST_FORWARD,
"Fast forward.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Slow motion rewind.") "Slow motion rewind.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -1469,6 +1469,8 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg)
return "Omitiendo carga de SRAM."; return "Omitiendo carga de SRAM.";
case MSG_SLOW_MOTION: case MSG_SLOW_MOTION:
return "Cámara lenta."; return "Cámara lenta.";
case MSG_FAST_FORWARD:
return "Avance rápido.";
case MSG_SLOW_MOTION_REWIND: case MSG_SLOW_MOTION_REWIND:
return "Rebobinar cámara lenta."; return "Rebobinar cámara lenta.";
case MSG_SRAM_WILL_NOT_BE_SAVED: case MSG_SRAM_WILL_NOT_BE_SAVED:

View File

@ -2185,6 +2185,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Ignore le chargement de la SRAM.") "Ignore le chargement de la SRAM.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Ralenti.") "Ralenti.")
MSG_HASH(MSG_FAST_FORWARD,
"Avance rapide.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Rembobinage ralenti.") "Rembobinage ralenti.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2227,6 +2227,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Slow motion.") "Slow motion.")
MSG_HASH(MSG_FAST_FORWARD,
"Avanti veloce.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Riavvolgimento lento.") "Riavvolgimento lento.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2239,6 +2239,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"スローモーション。") "スローモーション。")
MSG_HASH(MSG_FAST_FORWARD,
"早送り。")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"スローモーション巻き戻し。") "スローモーション巻き戻し。")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2165,6 +2165,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"SRAM 불러오기 건너뛰는 중.") "SRAM 불러오기 건너뛰는 중.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"슬로우 모션.") "슬로우 모션.")
MSG_HASH(MSG_FAST_FORWARD,
"빨리 감기.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"슬로우 모션 되감기.") "슬로우 모션 되감기.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2052,6 +2052,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Slow motion.") "Slow motion.")
MSG_HASH(MSG_FAST_FORWARD,
"Fast forward.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Slow motion rewind.") "Slow motion rewind.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -1,4 +1,4 @@
/* RetroArch - A frontend for libretro. /* RetroArch - A frontend for libretro.
* Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2011-2017 - Daniel De Matteis
* *
* RetroArch is free software: you can redistribute it and/or modify it under the terms * RetroArch is free software: you can redistribute it and/or modify it under the terms
@ -982,6 +982,8 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg)
return "Pomijanie wczytywania SRAM."; return "Pomijanie wczytywania SRAM.";
case MSG_SLOW_MOTION: case MSG_SLOW_MOTION:
return "Spowolnione tempo."; return "Spowolnione tempo.";
case MSG_FAST_FORWARD:
return "Szybko do przodu.";
case MSG_SLOW_MOTION_REWIND: case MSG_SLOW_MOTION_REWIND:
return "Przewijanie w spowolnionym tempie."; return "Przewijanie w spowolnionym tempie.";
case MSG_SRAM_WILL_NOT_BE_SAVED: case MSG_SRAM_WILL_NOT_BE_SAVED:

View File

@ -2971,6 +2971,9 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Câmera Lenta." "Câmera Lenta."
) )
MSG_HASH(MSG_FAST_FORWARD,
"Avanço rápido."
)
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Voltar Atrás em Câmera Lenta." "Voltar Atrás em Câmera Lenta."
) )

View File

@ -2155,6 +2155,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Ignorando carregamento de SRAM.") "Ignorando carregamento de SRAM.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Câmera lenta.") "Câmera lenta.")
MSG_HASH(MSG_FAST_FORWARD,
"Avanço rápido.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Função rewind em câmera lenta.") "Função rewind em câmera lenta.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2200,6 +2200,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Пропуск загрузки SRAM.") "Пропуск загрузки SRAM.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Замедление.") "Замедление.")
MSG_HASH(MSG_FAST_FORWARD,
"Перемотка вперед.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Замедленная перемотка.") "Замедленная перемотка.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2235,6 +2235,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Slow motion.") "Slow motion.")
MSG_HASH(MSG_FAST_FORWARD,
"Fast forward.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Slow motion rewind.") "Slow motion rewind.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -2183,6 +2183,8 @@ MSG_HASH(MSG_SKIPPING_SRAM_LOAD,
"Skipping SRAM load.") "Skipping SRAM load.")
MSG_HASH(MSG_SLOW_MOTION, MSG_HASH(MSG_SLOW_MOTION,
"Slow motion.") "Slow motion.")
MSG_HASH(MSG_FAST_FORWARD,
"Nhanh về phía trước.")
MSG_HASH(MSG_SLOW_MOTION_REWIND, MSG_HASH(MSG_SLOW_MOTION_REWIND,
"Slow motion rewind.") "Slow motion rewind.")
MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED, MSG_HASH(MSG_SRAM_WILL_NOT_BE_SAVED,

View File

@ -342,6 +342,7 @@ enum msg_hash_enums
MSG_REWINDING, MSG_REWINDING,
MSG_SLOW_MOTION_REWIND, MSG_SLOW_MOTION_REWIND,
MSG_SLOW_MOTION, MSG_SLOW_MOTION,
MSG_FAST_FORWARD,
MSG_REWIND_REACHED_END, MSG_REWIND_REACHED_END,
MSG_FAILED_TO_START_MOVIE_RECORD, MSG_FAILED_TO_START_MOVIE_RECORD,
MSG_CHEEVOS_HARDCORE_MODE_ENABLE, MSG_CHEEVOS_HARDCORE_MODE_ENABLE,

View File

@ -219,6 +219,7 @@ static bool runloop_paused = false;
static bool runloop_idle = false; static bool runloop_idle = false;
static bool runloop_exec = false; static bool runloop_exec = false;
static bool runloop_slowmotion = false; static bool runloop_slowmotion = false;
static bool runloop_fastmotion = false;
static bool runloop_shutdown_initiated = false; static bool runloop_shutdown_initiated = false;
static bool runloop_core_shutdown_initiated = false; static bool runloop_core_shutdown_initiated = false;
static bool runloop_perfcnt_enable = false; static bool runloop_perfcnt_enable = false;
@ -1380,10 +1381,10 @@ static bool rarch_game_specific_options(char **output)
if (!retroarch_validate_game_options(game_path, if (!retroarch_validate_game_options(game_path,
game_path_size, false)) game_path_size, false))
goto error; goto error;
if (!config_file_exists(game_path)) if (!config_file_exists(game_path))
goto error; goto error;
RARCH_LOG("%s %s\n", RARCH_LOG("%s %s\n",
msg_hash_to_str(MSG_GAME_SPECIFIC_CORE_OPTIONS_FOUND_AT), msg_hash_to_str(MSG_GAME_SPECIFIC_CORE_OPTIONS_FOUND_AT),
@ -2765,21 +2766,35 @@ static enum runloop_state runloop_check_state(
if (new_button_state && !old_button_state) if (new_button_state && !old_button_state)
{ {
if (input_nonblock_state) if (input_nonblock_state){
input_driver_unset_nonblock_state(); input_driver_unset_nonblock_state();
else runloop_fastmotion = false;
}
else {
input_driver_set_nonblock_state(); input_driver_set_nonblock_state();
runloop_fastmotion = true;
}
driver_set_nonblock_state(); driver_set_nonblock_state();
} }
else if (old_hold_button_state != new_hold_button_state) else if (old_hold_button_state != new_hold_button_state)
{ {
if (new_hold_button_state) if (new_hold_button_state) {
input_driver_set_nonblock_state(); input_driver_set_nonblock_state();
else runloop_fastmotion = true;
}
else {
input_driver_unset_nonblock_state(); input_driver_unset_nonblock_state();
runloop_fastmotion = false;
}
driver_set_nonblock_state(); driver_set_nonblock_state();
} }
// Display the fast forward state to the user, if needed.
if (runloop_fastmotion) {
runloop_msg_queue_push(
msg_hash_to_str(MSG_FAST_FORWARD), 2, 15, true);
}
old_button_state = new_button_state; old_button_state = new_button_state;
old_hold_button_state = new_hold_button_state; old_hold_button_state = new_hold_button_state;
} }
@ -3130,7 +3145,6 @@ int runloop_iterate(unsigned *sleep_ms)
if (settings->floats.fastforward_ratio) if (settings->floats.fastforward_ratio)
end: end:
{ {
retro_time_t to_sleep_ms = ( retro_time_t to_sleep_ms = (
(frame_limit_last_time + frame_limit_minimum_time) (frame_limit_last_time + frame_limit_minimum_time)
- cpu_features_get_time_usec()) / 1000; - cpu_features_get_time_usec()) / 1000;