From c4f52774f977d8bdd7d23203253ea45e50fbf23b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 14 Aug 2020 20:12:07 +0200 Subject: [PATCH] Reorder structs - setting_list.h --- menu/menu_setting.c | 80 +++++++++++++++++++-------------------- setting_list.h | 91 +++++++++++++++++++++------------------------ 2 files changed, 82 insertions(+), 89 deletions(-) diff --git a/menu/menu_setting.c b/menu/menu_setting.c index c505bf6e2b..fb13a8345d 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -223,7 +223,7 @@ #define MENU_SETTINGS_LIST_CURRENT_ADD_VALUES(list, list_info, str) ((*(list))[MENU_SETTINGS_LIST_CURRENT_IDX((list_info))].values = (str)) -#define MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, str) (*(list))[MENU_SETTINGS_LIST_CURRENT_IDX(list_info)].cmd_trigger.idx = (str) +#define MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, str) (*(list))[MENU_SETTINGS_LIST_CURRENT_IDX(list_info)].cmd_trigger_idx = (str) #define CONFIG_UINT_CBS(var, label, left, right, msg_enum_base, string_rep, min, max, step) \ CONFIG_UINT( \ @@ -295,23 +295,23 @@ enum settings_list_type struct bool_entry { - bool default_value; bool *target; uint32_t flags; enum msg_hash_enums name_enum_idx; enum msg_hash_enums SHORT_enum_idx; enum msg_hash_enums off_enum_idx; enum msg_hash_enums on_enum_idx; + bool default_value; }; struct string_options_entry { - enum msg_hash_enums name_enum_idx; - enum msg_hash_enums SHORT_enum_idx; const char *default_value; const char *values; char *target; size_t len; + enum msg_hash_enums name_enum_idx; + enum msg_hash_enums SHORT_enum_idx; }; /* SETTINGS LIST */ @@ -851,8 +851,8 @@ int setting_generic_action_ok_default( (void)wraparound; /* TODO/FIXME - handle this */ - if (setting->cmd_trigger.idx != CMD_EVENT_NONE) - setting->cmd_trigger.triggered = true; + if (setting->cmd_trigger_idx != CMD_EVENT_NONE) + setting->cmd_trigger_event_triggered = true; return 0; } @@ -865,8 +865,8 @@ void setting_generic_handle_change(rarch_setting_t *setting) if (setting->change_handler) setting->change_handler(setting); - if (setting->cmd_trigger.idx && !setting->cmd_trigger.triggered) - command_event(setting->cmd_trigger.idx, NULL); + if (setting->cmd_trigger_idx && !setting->cmd_trigger_event_triggered) + command_event(setting->cmd_trigger_idx, NULL); } @@ -1219,8 +1219,8 @@ static int setting_action_action_ok( (void)wraparound; /* TODO/FIXME - handle this */ - if (setting->cmd_trigger.idx != CMD_EVENT_NONE) - command_event(setting->cmd_trigger.idx, NULL); + if (setting->cmd_trigger_idx != CMD_EVENT_NONE) + command_event(setting->cmd_trigger_idx, NULL); return 0; } @@ -1285,8 +1285,8 @@ static rarch_setting_t setting_action_setting(const char* name, result.enforce_minrange = false; result.enforce_maxrange = false; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1349,8 +1349,8 @@ static rarch_setting_t setting_group_setting( result.enforce_minrange = false; result.enforce_maxrange = false; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = false; @@ -1427,8 +1427,8 @@ static rarch_setting_t setting_float_setting(const char* name, result.original_value.fraction = *target; result.default_value.fraction = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1504,8 +1504,8 @@ static rarch_setting_t setting_uint_setting(const char* name, result.original_value.unsigned_integer = *target; result.default_value.unsigned_integer = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1583,8 +1583,8 @@ static rarch_setting_t setting_size_setting(const char* name, result.original_value.sizet = *target; result.default_value.sizet = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1661,8 +1661,8 @@ static rarch_setting_t setting_hex_setting(const char* name, result.original_value.unsigned_integer = *target; result.default_value.unsigned_integer = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1739,8 +1739,8 @@ static rarch_setting_t setting_bind_setting(const char* name, result.value.target.keybind = target; result.default_value.keybind = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -1889,8 +1889,8 @@ static rarch_setting_t setting_string_setting(enum setting_type type, result.value.target.string = target; result.default_value.string = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; switch (type) { @@ -2007,8 +2007,8 @@ static rarch_setting_t setting_subgroup_setting(enum setting_type type, result.enforce_minrange = false; result.enforce_maxrange = false; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -2088,8 +2088,8 @@ static rarch_setting_t setting_bool_setting(const char* name, result.boolean.off_label = off; result.boolean.on_label = on; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -2165,8 +2165,8 @@ static rarch_setting_t setting_int_setting(const char* name, result.original_value.integer = *target; result.default_value.integer = default_value; - result.cmd_trigger.idx = CMD_EVENT_NONE; - result.cmd_trigger.triggered = false; + result.cmd_trigger_idx = CMD_EVENT_NONE; + result.cmd_trigger_event_triggered = false; result.dont_use_enum_idx_representation = dont_use_enum_idx; @@ -6216,9 +6216,9 @@ int menu_setting_generic(rarch_setting_t *setting, size_t idx, bool wraparound) if (setting->change_handler) setting->change_handler(setting); - if ((flags & SD_FLAG_EXIT) && setting->cmd_trigger.triggered) + if ((flags & SD_FLAG_EXIT) && setting->cmd_trigger_event_triggered) { - setting->cmd_trigger.triggered = false; + setting->cmd_trigger_event_triggered = false; return -1; } @@ -6793,7 +6793,7 @@ static void general_write_handler(rarch_setting_t *setting) if (!setting) return; - if (setting->cmd_trigger.idx != CMD_EVENT_NONE) + if (setting->cmd_trigger_idx != CMD_EVENT_NONE) { uint64_t flags = setting->flags; @@ -6802,9 +6802,9 @@ static void general_write_handler(rarch_setting_t *setting) if (*setting->value.target.boolean) *setting->value.target.boolean = false; } - if (setting->cmd_trigger.triggered || + if (setting->cmd_trigger_event_triggered || (flags & SD_FLAG_CMD_APPLY_AUTO)) - rarch_cmd = setting->cmd_trigger.idx; + rarch_cmd = setting->cmd_trigger_idx; } switch (setting->enum_idx) @@ -7271,7 +7271,7 @@ static void general_write_handler(rarch_setting_t *setting) break; } - if (rarch_cmd || setting->cmd_trigger.triggered) + if (rarch_cmd || setting->cmd_trigger_event_triggered) command_event(rarch_cmd, NULL); } @@ -18233,8 +18233,8 @@ void menu_setting_free(rarch_setting_t *setting) (*&list)[pos].value.target.fraction = NULL; \ (*&list)[pos].original_value.fraction = 0.0f; \ (*&list)[pos].dir.empty_path = NULL; \ - (*&list)[pos].cmd_trigger.idx = CMD_EVENT_NONE; \ - (*&list)[pos].cmd_trigger.triggered = false; \ + (*&list)[pos].cmd_trigger_idx = CMD_EVENT_NONE; \ + (*&list)[pos].cmd_trigger_event_triggered = false; \ (*&list)[pos].boolean.off_label = NULL; \ (*&list)[pos].boolean.on_label = NULL; \ } diff --git a/setting_list.h b/setting_list.h index 60f10b34bc..d66fedf92e 100644 --- a/setting_list.h +++ b/setting_list.h @@ -113,28 +113,6 @@ struct rarch_setting_group_info struct rarch_setting { - enum ui_setting_type ui_type; - enum setting_type browser_selection_type; - enum msg_hash_enums enum_idx; - enum msg_hash_enums enum_value_idx; - enum setting_type type; - - bool dont_use_enum_idx_representation; - bool enforce_minrange; - bool enforce_maxrange; - - uint8_t index; - uint32_t index_offset; - int16_t offset_by; - - unsigned bind_type; - uint32_t size; - - float step; - - uint64_t flags; - uint64_t free_flags; - double min; /* TODO/FIXME - nasty hack needed for 'suspected' MSVC 2010 x64 Release - * split min/max to work around MSVC 2010 x64 bug that @@ -144,6 +122,18 @@ struct rarch_setting char placeholder; double max; + uint64_t flags; + uint64_t free_flags; + + struct + { + const char *off_label; + const char *on_label; + } boolean; + struct + { + const char *empty_path; + } dir; const char *rounding_fraction; const char *name; const char *short_description; @@ -164,17 +154,6 @@ struct rarch_setting action_select_handler_t action_select; get_string_representation_t get_string_representation; - union - { - bool boolean; - const char *string; - int integer; - unsigned int unsigned_integer; - float fraction; - const struct retro_keybind *keybind; - size_t sizet; - } default_value; - struct { union @@ -189,31 +168,45 @@ struct rarch_setting } target; } value; + union { - bool boolean; + const char *string; + const struct retro_keybind *keybind; + size_t sizet; + int integer; + unsigned int unsigned_integer; + float fraction; + bool boolean; + } default_value; + + union + { + size_t sizet; int integer; unsigned int unsigned_integer; float fraction; - size_t sizet; + bool boolean; } original_value; - struct - { - const char *empty_path; - } dir; + uint32_t index_offset; + uint32_t size; + unsigned bind_type; + float step; + int16_t offset_by; + uint8_t index; - struct - { - enum event_command idx; - bool triggered; - } cmd_trigger; + enum event_command cmd_trigger_idx; + enum ui_setting_type ui_type; + enum setting_type browser_selection_type; + enum msg_hash_enums enum_idx; + enum msg_hash_enums enum_value_idx; + enum setting_type type; - struct - { - const char *off_label; - const char *on_label; - } boolean; + bool cmd_trigger_event_triggered; + bool dont_use_enum_idx_representation; + bool enforce_minrange; + bool enforce_maxrange; }; struct rarch_setting_info