(Menu) Refactor some more settings
This commit is contained in:
parent
ee0fc2ff29
commit
9856cf2deb
|
@ -171,7 +171,11 @@ static void menu_common_entries_init(void *data, unsigned menu_type)
|
|||
file_list_push(menu->selection_buf, current_setting->short_description, MENU_SETTINGS_REWIND_ENABLE, 0);
|
||||
}
|
||||
|
||||
file_list_push(menu->selection_buf, "Rewind Granularity", MENU_SETTINGS_REWIND_GRANULARITY, 0);
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "rewind_granularity")))
|
||||
{
|
||||
*current_setting->value.unsigned_integer = g_settings.rewind_granularity;
|
||||
file_list_push(menu->selection_buf, current_setting->short_description, MENU_SETTINGS_REWIND_GRANULARITY, 0);
|
||||
}
|
||||
if ((current_setting = setting_data_find_setting(setting_data, "block_sram_overwrite")))
|
||||
{
|
||||
*current_setting->value.boolean = g_settings.block_sram_overwrite;
|
||||
|
@ -3471,23 +3475,30 @@ static void menu_common_setting_set_current_boolean(rarch_setting_t *setting, un
|
|||
setting->change_handler(setting);
|
||||
}
|
||||
|
||||
static void menu_common_setting_set_current_fraction(rarch_setting_t *setting, float step, unsigned action)
|
||||
static void menu_common_setting_set_current_fraction(rarch_setting_t *setting, float step, unsigned action,
|
||||
bool enforce_min_check, bool enforce_max_check)
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
case MENU_ACTION_LEFT:
|
||||
*setting->value.fraction = *setting->value.fraction - step;
|
||||
|
||||
if (*setting->value.fraction < setting->min)
|
||||
*setting->value.fraction = setting->min;
|
||||
if (enforce_min_check)
|
||||
{
|
||||
if (*setting->value.fraction < setting->min)
|
||||
*setting->value.fraction = setting->min;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_RIGHT:
|
||||
case MENU_ACTION_OK:
|
||||
*setting->value.fraction = *setting->value.fraction + step;
|
||||
|
||||
if (*setting->value.fraction > setting->max)
|
||||
*setting->value.fraction = setting->max;
|
||||
if (enforce_max_check)
|
||||
{
|
||||
if (*setting->value.fraction > setting->max)
|
||||
*setting->value.fraction = setting->max;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_START:
|
||||
|
@ -3499,6 +3510,42 @@ static void menu_common_setting_set_current_fraction(rarch_setting_t *setting, f
|
|||
setting->change_handler(setting);
|
||||
}
|
||||
|
||||
static void menu_common_setting_set_current_unsigned_integer(rarch_setting_t *setting, unsigned step, unsigned action,
|
||||
bool enforce_min_check, bool enforce_max_check)
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
case MENU_ACTION_LEFT:
|
||||
if (*setting->value.unsigned_integer != setting->min)
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer - step;
|
||||
|
||||
if (enforce_min_check)
|
||||
{
|
||||
if (*setting->value.unsigned_integer < setting->min)
|
||||
*setting->value.unsigned_integer = setting->min;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_RIGHT:
|
||||
case MENU_ACTION_OK:
|
||||
*setting->value.unsigned_integer = *setting->value.unsigned_integer + step;
|
||||
|
||||
if (enforce_max_check)
|
||||
{
|
||||
if (*setting->value.unsigned_integer > setting->max)
|
||||
*setting->value.unsigned_integer = setting->max;
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_ACTION_START:
|
||||
*setting->value.unsigned_integer = setting->default_value.unsigned_integer;
|
||||
break;
|
||||
}
|
||||
|
||||
if (setting->change_handler)
|
||||
setting->change_handler(setting);
|
||||
}
|
||||
|
||||
static int menu_common_setting_set(unsigned setting, unsigned action)
|
||||
{
|
||||
rarch_setting_t *setting_data, *current_setting;
|
||||
|
@ -3586,15 +3633,8 @@ static int menu_common_setting_set(unsigned setting, unsigned action)
|
|||
menu_common_setting_set_current_boolean(current_setting, action);
|
||||
break;
|
||||
case MENU_SETTINGS_REWIND_GRANULARITY:
|
||||
if (action == MENU_ACTION_OK || action == MENU_ACTION_RIGHT)
|
||||
g_settings.rewind_granularity++;
|
||||
else if (action == MENU_ACTION_LEFT)
|
||||
{
|
||||
if (g_settings.rewind_granularity > 1)
|
||||
g_settings.rewind_granularity--;
|
||||
}
|
||||
else if (action == MENU_ACTION_START)
|
||||
g_settings.rewind_granularity = 1;
|
||||
if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "rewind_granularity")))
|
||||
menu_common_setting_set_current_unsigned_integer(current_setting, 1, action, true, false);
|
||||
break;
|
||||
case MENU_SETTINGS_LIBRETRO_LOG_LEVEL:
|
||||
if (action == MENU_ACTION_LEFT)
|
||||
|
@ -3980,11 +4020,11 @@ static int menu_common_setting_set(unsigned setting, unsigned action)
|
|||
#ifdef HAVE_OVERLAY
|
||||
case MENU_SETTINGS_OVERLAY_OPACITY:
|
||||
if ((current_setting = setting_data_find_setting(setting_data, "input_overlay_opacity")))
|
||||
menu_common_setting_set_current_fraction(current_setting, 0.01f, action);
|
||||
menu_common_setting_set_current_fraction(current_setting, 0.01f, action, true, true);
|
||||
break;
|
||||
case MENU_SETTINGS_OVERLAY_SCALE:
|
||||
if ((current_setting = setting_data_find_setting(setting_data, "input_overlay_scale")))
|
||||
menu_common_setting_set_current_fraction(current_setting, 0.01f, action);
|
||||
menu_common_setting_set_current_fraction(current_setting, 0.01f, action, true, true);
|
||||
break;
|
||||
#endif
|
||||
// controllers
|
||||
|
@ -4276,23 +4316,7 @@ static int menu_common_setting_set(unsigned setting, unsigned action)
|
|||
break;
|
||||
case MENU_SETTINGS_VIDEO_ROTATION:
|
||||
if ((current_setting = setting_data_find_setting(setting_data, "video_rotation")))
|
||||
{
|
||||
if (action == MENU_ACTION_START)
|
||||
*current_setting->value.unsigned_integer = ORIENTATION_NORMAL;
|
||||
else if (action == MENU_ACTION_LEFT)
|
||||
{
|
||||
if (*current_setting->value.unsigned_integer > 0)
|
||||
*current_setting->value.unsigned_integer = *current_setting->value.unsigned_integer - 1;
|
||||
}
|
||||
else if (action == MENU_ACTION_RIGHT)
|
||||
{
|
||||
if (*current_setting->value.unsigned_integer < LAST_ORIENTATION)
|
||||
*current_setting->value.unsigned_integer = *current_setting->value.unsigned_integer + 1;
|
||||
}
|
||||
|
||||
if (current_setting->change_handler)
|
||||
current_setting->change_handler(current_setting);
|
||||
}
|
||||
menu_common_setting_set_current_unsigned_integer(current_setting, 1, action, true, true);
|
||||
break;
|
||||
|
||||
case MENU_SETTINGS_VIDEO_FILTER:
|
||||
|
|
|
@ -825,7 +825,7 @@ rarch_setting_t* setting_data_get_list(void)
|
|||
CONFIG_BOOL(g_settings.fps_show, "fps_show", "Show Framerate", fps_show, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
CONFIG_BOOL(g_settings.rewind_enable, "rewind_enable", "Rewind", rewind_enable, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
//CONFIG_SIZE(g_settings.rewind_buffer_size, "rewind_buffer_size", "Rewind Buffer Size", rewind_buffer_size, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
CONFIG_UINT(g_settings.rewind_granularity, "rewind_granularity", "Rewind Granularity", rewind_granularity, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
CONFIG_UINT(g_settings.rewind_granularity, "rewind_granularity", "Rewind Granularity", rewind_granularity, GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_RANGE(1, 32768)
|
||||
CONFIG_BOOL(g_settings.block_sram_overwrite, "block_sram_overwrite", "SRAM Block overwrite", block_sram_overwrite, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
#ifdef HAVE_THREADS
|
||||
CONFIG_UINT(g_settings.autosave_interval, "autosave_interval", "SRAM Autosave", autosave_interval, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
|
@ -881,7 +881,7 @@ rarch_setting_t* setting_data_get_list(void)
|
|||
CONFIG_UINT(g_extern.console.screen.viewports.custom_vp.height, "custom_viewport_height", "Custom Viewport Height", 0, GROUP_NAME, SUBGROUP_NAME, NULL)
|
||||
|
||||
CONFIG_BOOL(g_settings.video.smooth, "video_smooth", "Use bilinear filtering", video_smooth, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
CONFIG_UINT(g_settings.video.rotation, "video_rotation", "Rotation", 0, GROUP_NAME, SUBGROUP_NAME, general_change_handler)
|
||||
CONFIG_UINT(g_settings.video.rotation, "video_rotation", "Rotation", 0, GROUP_NAME, SUBGROUP_NAME, general_change_handler) WITH_RANGE(0, 3)
|
||||
END_SUB_GROUP()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue