mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 08:37:41 +00:00
rarch_setting - we can downgrade flags and free_flags to 32bit
since the flags don't come anywhere near close to 64 unique flags
This commit is contained in:
parent
ffa1ae4143
commit
7d956b611c
@ -3119,7 +3119,7 @@ int menu_displaylist_parse_settings_enum(
|
||||
ST_NONE, /* PARSE_SUB_GROUP */
|
||||
ST_SIZE, /* PARSE_ONLY_SIZE */
|
||||
};
|
||||
uint64_t flags;
|
||||
uint32_t flags;
|
||||
enum setting_type precond = precond_lut[parse_type];
|
||||
size_t count = 0;
|
||||
|
||||
|
@ -1019,7 +1019,7 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
{
|
||||
char *ptr;
|
||||
float min, max;
|
||||
uint64_t flags;
|
||||
uint32_t flags;
|
||||
if (!setting || !value)
|
||||
return -1;
|
||||
|
||||
@ -1033,9 +1033,9 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
*setting->value.target.integer = (int)strtol(value, &ptr, 10);
|
||||
if (flags & SD_FLAG_HAS_RANGE)
|
||||
{
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.integer < min)
|
||||
if (flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.integer < min)
|
||||
*setting->value.target.integer = min;
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.integer > max)
|
||||
if (flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.integer > max)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings && settings->bools.menu_navigation_wraparound_enable)
|
||||
@ -1049,9 +1049,9 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
*setting->value.target.unsigned_integer = (unsigned int)strtoul(value, &ptr, 10);
|
||||
if (flags & SD_FLAG_HAS_RANGE)
|
||||
{
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.unsigned_integer < min)
|
||||
if (flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.unsigned_integer < min)
|
||||
*setting->value.target.unsigned_integer = min;
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.unsigned_integer > max)
|
||||
if (flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.unsigned_integer > max)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings && settings->bools.menu_navigation_wraparound_enable)
|
||||
@ -1065,9 +1065,9 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
sscanf(value, "%" PRI_SIZET, setting->value.target.sizet);
|
||||
if (flags & SD_FLAG_HAS_RANGE)
|
||||
{
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.sizet < min)
|
||||
if (flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.sizet < min)
|
||||
*setting->value.target.sizet = min;
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.sizet > max)
|
||||
if (flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.sizet > max)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings && settings->bools.menu_navigation_wraparound_enable)
|
||||
@ -1082,9 +1082,9 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
*setting->value.target.fraction = (float)strtod(value, &ptr);
|
||||
if (flags & SD_FLAG_HAS_RANGE)
|
||||
{
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.fraction < min)
|
||||
if (flags & SD_FLAG_ENFORCE_MINRANGE && *setting->value.target.fraction < min)
|
||||
*setting->value.target.fraction = min;
|
||||
if (setting->flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.fraction > max)
|
||||
if (flags & SD_FLAG_ENFORCE_MAXRANGE && *setting->value.target.fraction > max)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings && settings->bools.menu_navigation_wraparound_enable)
|
||||
@ -7027,7 +7027,7 @@ static void menu_settings_list_current_add_range(
|
||||
|
||||
int menu_setting_generic(rarch_setting_t *setting, size_t idx, bool wraparound)
|
||||
{
|
||||
uint64_t flags = setting->flags;
|
||||
uint32_t flags = setting->flags;
|
||||
if (setting_generic_action_ok_default(setting, idx, wraparound) != 0)
|
||||
return -1;
|
||||
|
||||
@ -7722,12 +7722,13 @@ static enum event_command write_handler_get_cmd(rarch_setting_t *setting)
|
||||
{
|
||||
if (setting && setting->cmd_trigger_idx != CMD_EVENT_NONE)
|
||||
{
|
||||
if (setting->flags & SD_FLAG_EXIT)
|
||||
uint32_t flags = setting->flags;
|
||||
if (flags & SD_FLAG_EXIT)
|
||||
if (*setting->value.target.boolean)
|
||||
*setting->value.target.boolean = false;
|
||||
|
||||
if ( (setting->flags & SD_FLAG_CMD_TRIGGER_EVENT_TRIGGERED) ||
|
||||
(setting->flags & SD_FLAG_CMD_APPLY_AUTO))
|
||||
if ( (flags & SD_FLAG_CMD_TRIGGER_EVENT_TRIGGERED) ||
|
||||
(flags & SD_FLAG_CMD_APPLY_AUTO))
|
||||
return setting->cmd_trigger_idx;
|
||||
}
|
||||
return CMD_EVENT_NONE;
|
||||
@ -21705,7 +21706,7 @@ void menu_setting_free(rarch_setting_t *setting)
|
||||
|
||||
/* Free data which was previously tagged */
|
||||
for (; setting->type != ST_NONE; (*list = *list + 1))
|
||||
for (values = (unsigned)setting->free_flags, n = 0; values != 0; values >>= 1, n++)
|
||||
for (values = setting->free_flags, n = 0; values != 0; values >>= 1, n++)
|
||||
if (values & 1)
|
||||
switch (1 << n)
|
||||
{
|
||||
|
@ -117,9 +117,6 @@ struct rarch_setting_group_info
|
||||
struct rarch_setting
|
||||
{
|
||||
|
||||
uint64_t flags;
|
||||
uint64_t free_flags;
|
||||
|
||||
float min;
|
||||
float max;
|
||||
struct
|
||||
@ -186,6 +183,8 @@ struct rarch_setting
|
||||
bool boolean;
|
||||
} original_value;
|
||||
|
||||
uint32_t flags;
|
||||
uint32_t free_flags;
|
||||
uint32_t index_offset;
|
||||
uint32_t size;
|
||||
unsigned bind_type;
|
||||
|
Loading…
x
Reference in New Issue
Block a user