Refactor fastforward_ratio - 0.0x is no limit now

This commit is contained in:
twinaphex 2014-08-13 19:53:15 +02:00
parent 92e7e413d4
commit 51e4c85de3
3 changed files with 6 additions and 16 deletions

View File

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

View File

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

View File

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