Add setting 'Menu Throttle Framerate' to 'Frame Throttle'

This commit is contained in:
twinaphex 2016-02-24 21:24:32 +01:00
parent 3f52b9e246
commit 2f98073fc1
6 changed files with 34 additions and 3 deletions

View File

@ -475,9 +475,10 @@ static void config_set_defaults(void)
if (def_menu)
strlcpy(settings->menu.driver,
def_menu, sizeof(settings->menu.driver));
settings->menu.xmb_scale_factor = xmb_scale_factor;
settings->menu.xmb_alpha_factor = xmb_alpha_factor;
settings->menu.xmb_font[0] = '\0';
settings->menu.xmb_scale_factor = xmb_scale_factor;
settings->menu.xmb_alpha_factor = xmb_alpha_factor;
settings->menu.xmb_font[0] = '\0';
settings->menu.throttle_framerate = true;
#endif
settings->history_list_enable = def_history_list_enable;
@ -1314,6 +1315,8 @@ static bool config_load_file(const char *path, bool set_defaults)
"threaded_data_runloop_enable");
#endif
CONFIG_GET_BOOL_BASE(conf, settings, menu.throttle_framerate,
"menu_throttle_framerate");
CONFIG_GET_BOOL_BASE(conf, settings, menu.dpi.override_enable,
"dpi_override_enable");
CONFIG_GET_INT_BASE (conf, settings, menu.dpi.override_value,
@ -2611,6 +2614,7 @@ bool config_save_file(const char *path)
settings->threaded_data_runloop_enable);
#endif
config_set_bool(conf, "menu_throttle_framerate", settings->menu.throttle_framerate);
config_set_bool(conf, "dpi_override_enable", settings->menu.dpi.override_enable);
config_set_int (conf, "dpi_override_value", settings->menu.dpi.override_value);
config_set_string(conf,"menu_driver", settings->menu.driver);

View File

@ -167,6 +167,7 @@ typedef struct settings
unsigned xmb_scale_factor;
unsigned xmb_alpha_factor;
char xmb_font[PATH_MAX_LENGTH];
bool throttle_framerate;
} menu;
#endif

View File

@ -26,6 +26,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash)
{
switch (hash)
{
case MENU_LABEL_MENU_THROTTLE_FRAMERATE:
return "menu_throttle_framerate";
case MENU_LABEL_START_CORE:
return "start_core";
case MENU_LABEL_CHEEVOS_TEST_UNOFFICIAL:
@ -728,6 +730,8 @@ const char *menu_hash_to_str_us(uint32_t hash)
switch (hash)
{
case MENU_LABEL_VALUE_MENU_THROTTLE_FRAMERATE:
return "Throttle Menu Framerate";
case MENU_LABEL_VALUE_CHEEVOS_TEST_UNOFFICIAL:
return "Test unofficial";
case MENU_LABEL_VALUE_CHEEVOS_SETTINGS:

View File

@ -22,6 +22,9 @@
extern "C" {
#endif
#define MENU_LABEL_MENU_THROTTLE_FRAMERATE 0x9a8681c5U
#define MENU_LABEL_VALUE_MENU_THROTTLE_FRAMERATE 0x285bb667U
#define MENU_LABEL_INPUT_POLL_TYPE_BEHAVIOR 0x8360107bU
#define MENU_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR 0xaa23fc1eU

View File

@ -4120,6 +4120,20 @@ static bool setting_append_list_frame_throttling_options(
general_read_handler);
menu_settings_list_current_add_range(list, list_info, 1, 10, 1.0, true, true);
CONFIG_BOOL(
list, list_info,
&settings->menu.throttle_framerate,
menu_hash_to_str(MENU_LABEL_MENU_THROTTLE_FRAMERATE),
menu_hash_to_str(MENU_LABEL_VALUE_MENU_THROTTLE_FRAMERATE),
true,
menu_hash_to_str(MENU_VALUE_OFF),
menu_hash_to_str(MENU_VALUE_ON),
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);

View File

@ -1378,6 +1378,11 @@ int runloop_iterate(unsigned *sleep_ms)
return 1;
}
if (!settings->menu.throttle_framerate)
{
if (!settings->fastforward_ratio)
return 0;
}
goto end;
}
#endif