diff --git a/config.def.h b/config.def.h index 4aee12987a..41d9e7286d 100644 --- a/config.def.h +++ b/config.def.h @@ -490,8 +490,8 @@ static const bool savestate_auto_load = true; // Slowmotion ratio. static const float slowmotion_ratio = 3.0; -// Maximum fast forward ratio (Negative => no limit). -static const float fastforward_ratio = -1.0; +// Maximum fast forward ratio (Zero => no limit). +static const float fastforward_ratio = 0.0; // Enable stdin/network command interface static const bool network_cmd_enable = false; diff --git a/retroarch.c b/retroarch.c index bd4a57b04e..e39b1599ab 100644 --- a/retroarch.c +++ b/retroarch.c @@ -3068,7 +3068,7 @@ static inline void limit_frame_time(void) { retro_time_t current = 0, target = 0, to_sleep_ms = 0; - if (g_settings.fastforward_ratio < 0.0f) + if (g_settings.fastforward_ratio <= 0.0f) return; g_extern.frame_limit.minimum_frame_time = (retro_time_t)roundf(1000000.0f / (g_extern.system.av_info.timing.fps * g_settings.fastforward_ratio)); diff --git a/settings_data.c b/settings_data.c index e59e8fe1d1..6eed498a9c 100644 --- a/settings_data.c +++ b/settings_data.c @@ -886,7 +886,7 @@ static void general_read_handler(const void *data) else if (!strcmp(setting->name, "savestate_auto_index")) g_settings.savestate_auto_index = *setting->value.boolean; else if (!strcmp(setting->name, "slowmotion_ratio")) - g_settings.slowmotion_ratio = max(min(*setting->value.fraction, 10.0f), 1.0f); + g_settings.slowmotion_ratio = *setting->value.fraction; else if (!strcmp(setting->name, "fastforward_ratio")) g_settings.fastforward_ratio = *setting->value.fraction; else if (!strcmp(setting->name, "autosave_interval")) @@ -1189,17 +1189,7 @@ static void general_write_handler(const void *data) else if (!strcmp(setting->name, "slowmotion_ratio")) g_settings.slowmotion_ratio = max(min(*setting->value.fraction, 10.0f), 1.0f); else if (!strcmp(setting->name, "fastforward_ratio")) - { - if (*setting->value.fraction == 0.0) - { - if (g_settings.fastforward_ratio >= 1.0) - g_settings.fastforward_ratio = -1.0; - else - g_settings.fastforward_ratio = 1.0; - } - else - g_settings.fastforward_ratio = *setting->value.fraction; - } + g_settings.fastforward_ratio = *setting->value.fraction; else if (!strcmp(setting->name, "autosave_interval")) { g_settings.autosave_interval = *setting->value.unsigned_integer; @@ -1518,7 +1508,7 @@ rarch_setting_t* setting_data_get_list(void) #endif CONFIG_BOOL(g_settings.video.disable_composition, "video_disable_composition", "Window Compositing", disable_composition, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) CONFIG_BOOL(g_settings.pause_nonactive, "pause_nonactive", "Window Unfocus Pause", pause_nonactive, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) - CONFIG_FLOAT(g_settings.fastforward_ratio, "fastforward_ratio", "Maximum Run Speed", fastforward_ratio, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(-1, 10, 0.1, true, true) + CONFIG_FLOAT(g_settings.fastforward_ratio, "fastforward_ratio", "Maximum Run Speed", fastforward_ratio, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 10, 1.0, true, true) CONFIG_FLOAT(g_settings.slowmotion_ratio, "slowmotion_ratio", "Slow-Motion Ratio", slowmotion_ratio, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(-1, 10, 0.1, true, true) CONFIG_BOOL(g_settings.savestate_auto_index, "savestate_auto_index", "Save State Auto Index", savestate_auto_index, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) CONFIG_BOOL(g_settings.savestate_auto_save, "savestate_auto_save", "Auto Save State", savestate_auto_save, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)