mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
Reintroduce setting_get_type
This commit is contained in:
parent
659235c572
commit
49479937d4
@ -1902,7 +1902,7 @@ int menu_cbs_init_bind_get_string_representation(menu_file_list_cbs_t *cbs,
|
||||
|
||||
if (cbs->setting)
|
||||
{
|
||||
switch (cbs->setting->type)
|
||||
switch (setting_get_type(cbs->setting))
|
||||
{
|
||||
case ST_BOOL:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
|
@ -271,7 +271,7 @@ static int action_left_shader_filter_default(unsigned type, const char *label,
|
||||
if (!setting)
|
||||
return menu_cbs_exit();
|
||||
return menu_action_handle_setting(setting,
|
||||
setting->type, MENU_ACTION_LEFT, wraparound);
|
||||
setting_get_type(setting), MENU_ACTION_LEFT, wraparound);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
@ -417,7 +417,7 @@ static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs,
|
||||
const char *parent_group = cbs->setting->parent_group;
|
||||
|
||||
if (string_is_equal(parent_group, msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU))
|
||||
&& (cbs->setting->type == ST_GROUP))
|
||||
&& (setting_get_type(cbs->setting) == ST_GROUP))
|
||||
{
|
||||
BIND_ACTION_LEFT(cbs, action_left_mainmenu);
|
||||
return 0;
|
||||
|
@ -1942,7 +1942,7 @@ static int action_ok_file_load(const char *path,
|
||||
|
||||
setting = menu_setting_find(menu_label);
|
||||
|
||||
if (setting && setting->type == ST_PATH)
|
||||
if (setting_get_type(setting) == ST_PATH)
|
||||
return action_ok_set_path(path, label, type, idx, entry_idx);
|
||||
|
||||
strlcpy(menu_path_new, menu_path, sizeof(menu_path_new));
|
||||
|
@ -285,7 +285,8 @@ static int action_right_shader_filter_default(unsigned type, const char *label,
|
||||
rarch_setting_t *setting = menu_setting_find_enum(MENU_ENUM_LABEL_VIDEO_SMOOTH);
|
||||
if (!setting)
|
||||
return menu_cbs_exit();
|
||||
return menu_action_handle_setting(setting, setting->type, MENU_ACTION_RIGHT,
|
||||
return menu_action_handle_setting(setting,
|
||||
setting_get_type(setting), MENU_ACTION_RIGHT,
|
||||
wraparound);
|
||||
#else
|
||||
return 0;
|
||||
@ -526,7 +527,7 @@ static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs,
|
||||
const char *parent_group = cbs->setting->parent_group;
|
||||
|
||||
if (string_is_equal(parent_group, msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU))
|
||||
&& (cbs->setting->type == ST_GROUP))
|
||||
&& (setting_get_type(cbs->setting) == ST_GROUP))
|
||||
{
|
||||
BIND_ACTION_RIGHT(cbs, action_right_scroll);
|
||||
return 0;
|
||||
|
@ -61,7 +61,7 @@ static int action_select_default(const char *path, const char *label, unsigned t
|
||||
|
||||
if (cbs->setting)
|
||||
{
|
||||
switch (cbs->setting->type)
|
||||
switch (setting_get_type(cbs->setting))
|
||||
{
|
||||
case ST_BOOL:
|
||||
case ST_INT:
|
||||
|
@ -893,7 +893,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
|
||||
const char *parent_group = cbs->setting->parent_group;
|
||||
|
||||
if (string_is_equal(parent_group, msg_hash_to_str(MENU_ENUM_LABEL_MAIN_MENU))
|
||||
&& cbs->setting->type == ST_GROUP)
|
||||
&& setting_get_type(cbs->setting) == ST_GROUP)
|
||||
{
|
||||
BIND_ACTION_GET_TITLE(cbs, action_get_title_group_settings);
|
||||
return 0;
|
||||
|
@ -2221,7 +2221,7 @@ static int menu_displaylist_parse_settings_internal(void *data,
|
||||
bool time_to_exit = false;
|
||||
const char *short_description = setting->short_description;
|
||||
const char *name = setting->name;
|
||||
enum setting_type type = setting->type;
|
||||
enum setting_type type = setting_get_type(setting);
|
||||
rarch_setting_t **list = &setting;
|
||||
|
||||
switch (parse_type)
|
||||
@ -2307,7 +2307,7 @@ loop:
|
||||
case PARSE_GROUP:
|
||||
case PARSE_ONLY_GROUP:
|
||||
case PARSE_SUB_GROUP:
|
||||
if (setting->type == precond)
|
||||
if (setting_get_type(setting) == precond)
|
||||
time_to_exit = true;
|
||||
break;
|
||||
case PARSE_ONLY_BIND:
|
||||
@ -2408,7 +2408,7 @@ static int menu_displaylist_parse_settings_internal_enum(void *data,
|
||||
bool time_to_exit = false;
|
||||
const char *short_description = setting->short_description;
|
||||
const char *name = setting->name;
|
||||
enum setting_type type = setting->type;
|
||||
enum setting_type type = setting_get_type(setting);
|
||||
rarch_setting_t **list = &setting;
|
||||
|
||||
switch (parse_type)
|
||||
@ -2494,7 +2494,7 @@ loop:
|
||||
case PARSE_GROUP:
|
||||
case PARSE_ONLY_GROUP:
|
||||
case PARSE_SUB_GROUP:
|
||||
if (setting->type == precond)
|
||||
if (setting_get_type(setting) == precond)
|
||||
time_to_exit = true;
|
||||
break;
|
||||
case PARSE_ONLY_BIND:
|
||||
|
@ -640,7 +640,7 @@ int menu_action_handle_setting(rarch_setting_t *setting,
|
||||
if (!setting)
|
||||
return -1;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_PATH:
|
||||
if (action == MENU_ACTION_OK)
|
||||
@ -690,9 +690,10 @@ static rarch_setting_t *menu_setting_find_internal(rarch_setting_t *setting,
|
||||
uint32_t needle = msg_hash_calculate(label);
|
||||
rarch_setting_t **list = &setting;
|
||||
|
||||
for (; setting->type != ST_NONE; (*list = *list + 1))
|
||||
for (; setting_get_type(setting) != ST_NONE; (*list = *list + 1))
|
||||
{
|
||||
if (needle == setting->name_hash && setting->type <= ST_GROUP)
|
||||
if ( (needle == setting->name_hash)
|
||||
&& (setting_get_type(setting) <= ST_GROUP))
|
||||
{
|
||||
const char *name = setting->name;
|
||||
const char *short_description = setting->short_description;
|
||||
@ -717,9 +718,9 @@ static rarch_setting_t *menu_setting_find_internal_enum(rarch_setting_t *setting
|
||||
enum msg_hash_enums enum_idx)
|
||||
{
|
||||
rarch_setting_t **list = &setting;
|
||||
for (; setting->type != ST_NONE; (*list = *list + 1))
|
||||
for (; setting_get_type(setting) != ST_NONE; (*list = *list + 1))
|
||||
{
|
||||
if (setting->enum_idx == enum_idx && setting->type <= ST_GROUP)
|
||||
if (setting->enum_idx == enum_idx && setting_get_type(setting) <= ST_GROUP)
|
||||
{
|
||||
const char *short_description = setting->short_description;
|
||||
if (string_is_empty(short_description))
|
||||
@ -773,7 +774,7 @@ int menu_setting_set_flags(rarch_setting_t *setting)
|
||||
if (!setting)
|
||||
return 0;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_STRING_OPTIONS:
|
||||
return MENU_SETTING_STRING_OPTIONS;
|
||||
@ -821,7 +822,7 @@ void *setting_get_ptr(rarch_setting_t *setting)
|
||||
if (!setting)
|
||||
return NULL;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_BOOL:
|
||||
return setting->value.target.boolean;
|
||||
@ -6308,7 +6309,7 @@ bool menu_setting_free(void *data)
|
||||
return false;
|
||||
|
||||
/* Free data which was previously tagged */
|
||||
for (; setting->type != ST_NONE; (*list = *list + 1))
|
||||
for (; setting_get_type(setting) != ST_NONE; (*list = *list + 1))
|
||||
for (values = setting->free_flags, n = 0; values != 0; values >>= 1, n++)
|
||||
if (values & 1)
|
||||
switch (1 << n)
|
||||
@ -6450,7 +6451,7 @@ bool menu_setting_ctl(enum menu_setting_ctl_state state, void *data)
|
||||
|
||||
flags = setting->flags;
|
||||
|
||||
if (setting->type != ST_ACTION)
|
||||
if (setting_get_type(setting) != ST_ACTION)
|
||||
return false;
|
||||
|
||||
if (!setting->change_handler)
|
||||
|
@ -45,7 +45,7 @@ enum menu_entry_type menu_entry_get_type(uint32_t i)
|
||||
|
||||
if (setting)
|
||||
{
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_BOOL:
|
||||
return MENU_ENTRY_BOOL;
|
||||
|
@ -103,6 +103,13 @@ bool settings_list_append(rarch_setting_t **list,
|
||||
return true;
|
||||
}
|
||||
|
||||
enum setting_type setting_get_type(rarch_setting_t *setting)
|
||||
{
|
||||
if (!setting)
|
||||
return ST_NONE;
|
||||
return setting->type;
|
||||
}
|
||||
|
||||
unsigned setting_get_bind_type(rarch_setting_t *setting)
|
||||
{
|
||||
if (!setting)
|
||||
@ -309,7 +316,7 @@ int setting_set_with_string_representation(rarch_setting_t* setting,
|
||||
max = setting->max;
|
||||
flags = setting->flags;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_INT:
|
||||
sscanf(value, "%d", setting->value.target.integer);
|
||||
@ -463,7 +470,7 @@ static void setting_reset_setting(rarch_setting_t* setting)
|
||||
if (!setting)
|
||||
return;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_BOOL:
|
||||
*setting->value.target.boolean = setting->default_value.boolean;
|
||||
@ -486,7 +493,7 @@ static void setting_reset_setting(rarch_setting_t* setting)
|
||||
case ST_DIR:
|
||||
if (setting->default_value.string)
|
||||
{
|
||||
if (setting->type == ST_STRING)
|
||||
if (setting_get_type(setting) == ST_STRING)
|
||||
setting_set_with_string_representation(setting, setting->default_value.string);
|
||||
else
|
||||
fill_pathname_expand_special(setting->value.target.string,
|
||||
@ -2020,7 +2027,7 @@ static int setting_generic_action_ok_linefeed(void *data, bool wraparound)
|
||||
|
||||
(void)wraparound;
|
||||
|
||||
switch (setting->type)
|
||||
switch (setting_get_type(setting))
|
||||
{
|
||||
case ST_UINT:
|
||||
cb = menu_input_st_uint_cb;
|
||||
|
@ -414,6 +414,8 @@ void settings_data_list_current_add_free_flags(
|
||||
rarch_setting_info_t *list_info,
|
||||
unsigned values);
|
||||
|
||||
enum setting_type setting_get_type(rarch_setting_t *setting);
|
||||
|
||||
rarch_setting_t setting_terminator_setting(void);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
Loading…
x
Reference in New Issue
Block a user