mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
Do wraparound of settings
This commit is contained in:
parent
665cbbd39e
commit
e438dd3263
@ -570,6 +570,7 @@ static void config_set_defaults(void)
|
|||||||
settings->menu.dpi.override_enable = menu_dpi_override_enable;
|
settings->menu.dpi.override_enable = menu_dpi_override_enable;
|
||||||
settings->menu.dpi.override_value = menu_dpi_override_value;
|
settings->menu.dpi.override_value = menu_dpi_override_value;
|
||||||
|
|
||||||
|
settings->menu.navigation.wraparound.setting_enable = true;
|
||||||
settings->menu.navigation.wraparound.horizontal_enable = true;
|
settings->menu.navigation.wraparound.horizontal_enable = true;
|
||||||
settings->menu.navigation.wraparound.vertical_enable = true;
|
settings->menu.navigation.wraparound.vertical_enable = true;
|
||||||
settings->menu.navigation.browser.filter.supported_extensions_enable = true;
|
settings->menu.navigation.browser.filter.supported_extensions_enable = true;
|
||||||
|
@ -132,6 +132,7 @@ typedef struct settings
|
|||||||
{
|
{
|
||||||
bool horizontal_enable;
|
bool horizontal_enable;
|
||||||
bool vertical_enable;
|
bool vertical_enable;
|
||||||
|
bool setting_enable;
|
||||||
} wraparound;
|
} wraparound;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -106,7 +106,7 @@ bool core_info_list_get_display_name(core_info_list_t *list,
|
|||||||
|
|
||||||
bool core_info_get_display_name_from_file(const char *path, char *buf, size_t size);
|
bool core_info_get_display_name_from_file(const char *path, char *buf, size_t size);
|
||||||
|
|
||||||
void core_info_get_name(const char *path, char *s, size_t len);
|
bool core_info_get_display_name(const char *path, char *s, size_t len);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -508,7 +508,14 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
|||||||
if (setting->enforce_minrange && *setting->value.integer < setting->min)
|
if (setting->enforce_minrange && *setting->value.integer < setting->min)
|
||||||
*setting->value.integer = setting->min;
|
*setting->value.integer = setting->min;
|
||||||
if (setting->enforce_maxrange && *setting->value.integer > setting->max)
|
if (setting->enforce_maxrange && *setting->value.integer > setting->max)
|
||||||
*setting->value.integer = setting->max;
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
|
*setting->value.integer = setting->min;
|
||||||
|
else
|
||||||
|
*setting->value.integer = setting->max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ST_UINT:
|
case ST_UINT:
|
||||||
@ -518,7 +525,14 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
|||||||
if (setting->enforce_minrange && *setting->value.unsigned_integer < setting->min)
|
if (setting->enforce_minrange && *setting->value.unsigned_integer < setting->min)
|
||||||
*setting->value.unsigned_integer = setting->min;
|
*setting->value.unsigned_integer = setting->min;
|
||||||
if (setting->enforce_maxrange && *setting->value.unsigned_integer > setting->max)
|
if (setting->enforce_maxrange && *setting->value.unsigned_integer > setting->max)
|
||||||
*setting->value.unsigned_integer = setting->max;
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
|
*setting->value.unsigned_integer = setting->min;
|
||||||
|
else
|
||||||
|
*setting->value.unsigned_integer = setting->max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ST_FLOAT:
|
case ST_FLOAT:
|
||||||
@ -528,7 +542,14 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
|||||||
if (setting->enforce_minrange && *setting->value.fraction < setting->min)
|
if (setting->enforce_minrange && *setting->value.fraction < setting->min)
|
||||||
*setting->value.fraction = setting->min;
|
*setting->value.fraction = setting->min;
|
||||||
if (setting->enforce_maxrange && *setting->value.fraction > setting->max)
|
if (setting->enforce_maxrange && *setting->value.fraction > setting->max)
|
||||||
*setting->value.fraction = setting->max;
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
|
*setting->value.fraction = setting->min;
|
||||||
|
else
|
||||||
|
*setting->value.fraction = setting->max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ST_PATH:
|
case ST_PATH:
|
||||||
@ -975,7 +996,14 @@ static int setting_uint_action_right_default(void *data, bool wraparound)
|
|||||||
if (setting->enforce_maxrange)
|
if (setting->enforce_maxrange)
|
||||||
{
|
{
|
||||||
if (*setting->value.unsigned_integer > setting->max)
|
if (*setting->value.unsigned_integer > setting->max)
|
||||||
*setting->value.unsigned_integer = setting->max;
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
|
*setting->value.unsigned_integer = setting->min;
|
||||||
|
else
|
||||||
|
*setting->value.unsigned_integer = setting->max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1015,7 +1043,14 @@ static int setting_fraction_action_right_default(
|
|||||||
if (setting->enforce_maxrange)
|
if (setting->enforce_maxrange)
|
||||||
{
|
{
|
||||||
if (*setting->value.fraction > setting->max)
|
if (*setting->value.fraction > setting->max)
|
||||||
*setting->value.fraction = setting->max;
|
{
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
|
*setting->value.fraction = setting->min;
|
||||||
|
else
|
||||||
|
*setting->value.fraction = setting->max;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -1050,7 +1085,9 @@ static int setting_string_action_right_driver(void *data,
|
|||||||
|
|
||||||
if (!find_next_driver(setting->name, setting->value.string, setting->size))
|
if (!find_next_driver(setting->name, setting->value.string, setting->size))
|
||||||
{
|
{
|
||||||
if (wraparound)
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
|
if (settings && settings->menu.navigation.wraparound.setting_enable)
|
||||||
find_first_driver(setting->name, setting->value.string, setting->size);
|
find_first_driver(setting->name, setting->value.string, setting->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user