From 330d8dc59ea1e102507f3f235024e80cf5ad6f8d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 9 Sep 2017 00:02:38 +0200 Subject: [PATCH] Cleanups --- gfx/video_shader_parse.h | 38 +++++------ gfx/video_state_tracker.h | 12 ++-- menu/drivers/menu_generic.c | 3 +- menu/menu_driver.h | 30 ++++---- menu/menu_setting.c | 132 +++++++++++++++++++----------------- menu/menu_shader.c | 19 ++++-- 6 files changed, 121 insertions(+), 113 deletions(-) diff --git a/gfx/video_shader_parse.h b/gfx/video_shader_parse.h index 79579fb7d8..4dcbabfcf7 100644 --- a/gfx/video_shader_parse.h +++ b/gfx/video_shader_parse.h @@ -81,11 +81,11 @@ struct gfx_fbo_scale enum gfx_scale_type type_y; float scale_x; float scale_y; - unsigned abs_x; - unsigned abs_y; bool fp_fbo; bool srgb_fbo; bool valid; + unsigned abs_x; + unsigned abs_y; }; struct video_shader_parameter @@ -113,19 +113,19 @@ struct video_shader_pass char alias[64]; struct gfx_fbo_scale fbo; - unsigned filter; enum gfx_wrap_type wrap; - unsigned frame_count_mod; bool mipmap; + unsigned filter; + unsigned frame_count_mod; }; struct video_shader_lut { char id[64]; char path[PATH_MAX_LENGTH]; - unsigned filter; enum gfx_wrap_type wrap; bool mipmap; + unsigned filter; }; /* This is pretty big, shouldn't be put on the stack. @@ -134,27 +134,27 @@ struct video_shader { enum rarch_shader_type type; - bool modern; /* Only used for XML shaders. */ char prefix[64]; - - unsigned passes; - struct video_shader_pass pass[GFX_MAX_SHADERS]; - - unsigned luts; - struct video_shader_lut lut[GFX_MAX_TEXTURES]; - - struct video_shader_parameter parameters[GFX_MAX_PARAMETERS]; - unsigned num_parameters; - - unsigned variables; - struct state_tracker_uniform_info variable[GFX_MAX_VARIABLES]; + char script_class[512]; char script_path[PATH_MAX_LENGTH]; char *script; /* Dynamically allocated. Must be free'd. Only used by XML. */ - char script_class[512]; + bool modern; /* Only used for XML shaders. */ + + unsigned passes; + unsigned luts; + unsigned num_parameters; + unsigned variables; /* If < 0, no feedback pass is used. Otherwise, * the FBO after pass #N is passed a texture to next frame. */ int feedback_pass; + + struct video_shader_pass pass[GFX_MAX_SHADERS]; + + struct video_shader_lut lut[GFX_MAX_TEXTURES]; + + struct video_shader_parameter parameters[GFX_MAX_PARAMETERS]; + struct state_tracker_uniform_info variable[GFX_MAX_VARIABLES]; }; /** diff --git a/gfx/video_state_tracker.h b/gfx/video_state_tracker.h index 471f3d287e..abcd2e27e8 100644 --- a/gfx/video_state_tracker.h +++ b/gfx/video_state_tracker.h @@ -44,24 +44,22 @@ enum state_ram_type struct state_tracker_uniform_info { - char id[64]; - uint32_t addr; enum state_tracker_type type; enum state_ram_type ram_type; + char id[64]; uint16_t mask; uint16_t equal; + uint32_t addr; }; struct state_tracker_info { - const uint8_t *wram; - - const struct state_tracker_uniform_info *info; - unsigned info_elem; - const char *script; const char *script_class; bool script_is_file; + const uint8_t *wram; + unsigned info_elem; + const struct state_tracker_uniform_info *info; }; struct state_tracker_uniform diff --git a/menu/drivers/menu_generic.c b/menu/drivers/menu_generic.c index e40642330c..3b6a009497 100644 --- a/menu/drivers/menu_generic.c +++ b/menu/drivers/menu_generic.c @@ -227,7 +227,8 @@ int generic_menu_iterate(void *data, void *userdata, enum menu_action action) selection = MAX(MIN(selection, (menu_entries_get_size() - 1)), 0); menu_entry_get(&entry, 0, selection, NULL, false); - ret = menu_entry_action(&entry, (unsigned)selection, (enum menu_action)action); + ret = menu_entry_action(&entry, + (unsigned)selection, (enum menu_action)action); if (ret) goto end; diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 3d142e8053..ba7af08853 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -344,31 +344,31 @@ typedef struct char scratch_buf[PATH_MAX_LENGTH]; char scratch2_buf[PATH_MAX_LENGTH]; + /* path to the currently loaded database playlist file. */ + char db_playlist_file[PATH_MAX_LENGTH]; + uint64_t state; struct { char msg[1024]; } menu_state; - - /* path to the currently loaded database playlist file. */ - char db_playlist_file[PATH_MAX_LENGTH]; } menu_handle_t; typedef struct menu_display_ctx_draw { + enum menu_display_prim_type prim_type; float x; float y; - unsigned width; - unsigned height; - struct video_coords *coords; - void *matrix_data; - uintptr_t texture; - enum menu_display_prim_type prim_type; float *color; const float *vertex; const float *tex_coord; + unsigned width; + unsigned height; + uintptr_t texture; size_t vertex_count; + struct video_coords *coords; + void *matrix_data; struct { unsigned id; @@ -380,12 +380,12 @@ typedef struct menu_display_ctx_draw typedef struct menu_display_ctx_rotate_draw { - math_matrix_4x4 *matrix; + bool scale_enable; float rotation; float scale_x; float scale_y; float scale_z; - bool scale_enable; + math_matrix_4x4 *matrix; } menu_display_ctx_rotate_draw_t; typedef struct menu_display_ctx_coord_draw @@ -536,21 +536,21 @@ typedef struct menu_ctx_pointer unsigned x; unsigned y; unsigned ptr; - menu_file_list_cbs_t *cbs; - menu_entry_t *entry; unsigned action; int retcode; + menu_file_list_cbs_t *cbs; + menu_entry_t *entry; } menu_ctx_pointer_t; typedef struct menu_ctx_bind { - menu_file_list_cbs_t *cbs; const char *path; const char *label; unsigned type; - size_t idx; uint32_t label_hash; + size_t idx; int retcode; + menu_file_list_cbs_t *cbs; } menu_ctx_bind_t; /** diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 2411260acf..4d3b034d60 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -82,25 +82,59 @@ #include "../tasks/tasks_internal.h" +enum settings_list_type +{ + SETTINGS_LIST_NONE = 0, + SETTINGS_LIST_MAIN_MENU, + SETTINGS_LIST_DRIVERS, + SETTINGS_LIST_CORE, + SETTINGS_LIST_CONFIGURATION, + SETTINGS_LIST_LOGGING, + SETTINGS_LIST_SAVING, + SETTINGS_LIST_REWIND, + SETTINGS_LIST_VIDEO, + SETTINGS_LIST_AUDIO, + SETTINGS_LIST_INPUT, + SETTINGS_LIST_INPUT_HOTKEY, + SETTINGS_LIST_RECORDING, + SETTINGS_LIST_FRAME_THROTTLING, + SETTINGS_LIST_FONT, + SETTINGS_LIST_OVERLAY, + SETTINGS_LIST_MENU, + SETTINGS_LIST_MENU_FILE_BROWSER, + SETTINGS_LIST_MULTIMEDIA, + SETTINGS_LIST_USER_INTERFACE, + SETTINGS_LIST_PLAYLIST, + SETTINGS_LIST_CHEEVOS, + SETTINGS_LIST_CORE_UPDATER, + SETTINGS_LIST_NETPLAY, + SETTINGS_LIST_LAKKA_SERVICES, + SETTINGS_LIST_USER, + SETTINGS_LIST_USER_ACCOUNTS, + SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS, + SETTINGS_LIST_DIRECTORY, + SETTINGS_LIST_PRIVACY +}; + struct bool_entry { - bool *target; enum msg_hash_enums name_enum_idx; enum msg_hash_enums SHORT_enum_idx; - bool default_value; enum msg_hash_enums off_enum_idx; enum msg_hash_enums on_enum_idx; + bool *target; + bool default_value; uint32_t flags; }; struct string_options_entry { - char *target; - size_t len; 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; }; #ifdef HAVE_CHEEVOS @@ -597,7 +631,7 @@ void menu_settings_list_current_add_range( float min, float max, float step, bool enforce_minrange_enable, bool enforce_maxrange_enable) { - unsigned idx = list_info->index - 1; + unsigned idx = list_info->index - 1; (*list)[idx].min = min; (*list)[idx].step = step; @@ -951,16 +985,14 @@ void setting_get_string_representation(void *data, char *s, size_t len) **/ static int setting_action_start_bind_device(void *data) { - uint32_t index_offset; rarch_setting_t *setting = (rarch_setting_t*)data; settings_t *settings = config_get_ptr(); if (!setting || !settings) return -1; - index_offset = setting->index_offset; - - configuration_set_uint(settings, settings->uints.input_joypad_map[index_offset], index_offset); + configuration_set_uint(settings, + settings->uints.input_joypad_map[index_offset], setting->index_offset); return 0; } @@ -1410,8 +1442,9 @@ static int setting_action_ok_bind_defaults(void *data, bool wraparound) return 0; } -static void setting_get_string_representation_st_float_video_refresh_rate_auto(void *data, - char *s, size_t len) +static void +setting_get_string_representation_st_float_video_refresh_rate_auto( + void *data, char *s, size_t len) { double video_refresh_rate = 0.0; double deviation = 0.0; @@ -1811,7 +1844,7 @@ static void overlay_enable_toggle_change_handler(void *data) #ifdef HAVE_LAKKA static void systemd_service_toggle(const char *path, char *unit, bool enable) { - int pid = fork(); + int pid = fork(); char* args[] = {(char*)"systemctl", NULL, NULL, NULL}; if (enable) @@ -1835,6 +1868,7 @@ static void ssh_enable_toggle_change_handler(void *data) { bool enable = false; settings_t *settings = config_get_ptr(); + if (settings && settings->bools.ssh_enable) enable = true; @@ -1846,6 +1880,7 @@ static void samba_enable_toggle_change_handler(void *data) { bool enable = false; settings_t *settings = config_get_ptr(); + if (settings && settings->bools.samba_enable) enable = true; @@ -1857,6 +1892,7 @@ static void bluetooth_enable_toggle_change_handler(void *data) { bool enable = false; settings_t *settings = config_get_ptr(); + if (settings && settings->bools.bluetooth_enable) enable = true; @@ -1865,40 +1901,6 @@ static void bluetooth_enable_toggle_change_handler(void *data) } #endif -enum settings_list_type -{ - SETTINGS_LIST_NONE = 0, - SETTINGS_LIST_MAIN_MENU, - SETTINGS_LIST_DRIVERS, - SETTINGS_LIST_CORE, - SETTINGS_LIST_CONFIGURATION, - SETTINGS_LIST_LOGGING, - SETTINGS_LIST_SAVING, - SETTINGS_LIST_REWIND, - SETTINGS_LIST_VIDEO, - SETTINGS_LIST_AUDIO, - SETTINGS_LIST_INPUT, - SETTINGS_LIST_INPUT_HOTKEY, - SETTINGS_LIST_RECORDING, - SETTINGS_LIST_FRAME_THROTTLING, - SETTINGS_LIST_FONT, - SETTINGS_LIST_OVERLAY, - SETTINGS_LIST_MENU, - SETTINGS_LIST_MENU_FILE_BROWSER, - SETTINGS_LIST_MULTIMEDIA, - SETTINGS_LIST_USER_INTERFACE, - SETTINGS_LIST_PLAYLIST, - SETTINGS_LIST_CHEEVOS, - SETTINGS_LIST_CORE_UPDATER, - SETTINGS_LIST_NETPLAY, - SETTINGS_LIST_LAKKA_SERVICES, - SETTINGS_LIST_USER, - SETTINGS_LIST_USER_ACCOUNTS, - SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS, - SETTINGS_LIST_DIRECTORY, - SETTINGS_LIST_PRIVACY -}; - static bool setting_append_list_input_player_options( rarch_setting_t **list, rarch_setting_info_t *list_info, @@ -2025,7 +2027,8 @@ static bool setting_append_list_input_player_options( (*list)[list_info->index - 1].action_start = &setting_action_start_libretro_device_type; (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_libretro_device; - menu_settings_list_current_add_enum_idx(list, list_info, (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_LIBRETRO_DEVICE + user)); + menu_settings_list_current_add_enum_idx(list, list_info, + (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_LIBRETRO_DEVICE + user)); CONFIG_UINT_ALT( list, list_info, @@ -2046,7 +2049,8 @@ static bool setting_append_list_input_player_options( (*list)[list_info->index - 1].action_start = &setting_action_start_analog_dpad_mode; (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_uint_analog_dpad_mode; - menu_settings_list_current_add_enum_idx(list, list_info, (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_PLAYER_ANALOG_DPAD_MODE + user)); + menu_settings_list_current_add_enum_idx(list, list_info, + (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_PLAYER_ANALOG_DPAD_MODE + user)); CONFIG_ACTION_ALT( list, list_info, @@ -2891,7 +2895,7 @@ static bool setting_append_list( break; case SETTINGS_LIST_CONFIGURATION: { - unsigned i; + uint8_t i; struct bool_entry bool_entries[6]; START_GROUP(list, list_info, &group_info, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CONFIGURATION_SETTINGS), parent_group); @@ -3028,7 +3032,7 @@ static bool setting_append_list( break; case SETTINGS_LIST_SAVING: { - unsigned i; + uint8_t i; struct bool_entry bool_entries[11]; START_GROUP(list, list_info, &group_info, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVING_SETTINGS), parent_group); @@ -7083,20 +7087,20 @@ bool menu_setting_free(void *data) if (values & 1) switch (1 << n) { - case SD_FREE_FLAG_VALUES: - free((void*)setting->values); - setting->values = NULL; - break; - case SD_FREE_FLAG_NAME: - free((void*)setting->name); - setting->name = NULL; - break; - case SD_FREE_FLAG_SHORT: - free((void*)setting->short_description); - setting->short_description = NULL; - break; - default: - break; + case SD_FREE_FLAG_VALUES: + free((void*)setting->values); + setting->values = NULL; + break; + case SD_FREE_FLAG_NAME: + free((void*)setting->name); + setting->name = NULL; + break; + case SD_FREE_FLAG_SHORT: + free((void*)setting->short_description); + setting->short_description = NULL; + break; + default: + break; } free(data); diff --git a/menu/menu_shader.c b/menu/menu_shader.c index 4b89293979..d893550173 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -306,13 +306,13 @@ bool menu_shader_manager_save_preset( const char *basename, bool apply, bool fullpath) { #ifdef HAVE_SHADER_MANAGER + bool ret = false; char buffer[PATH_MAX_LENGTH]; char config_directory[PATH_MAX_LENGTH]; char preset_path[PATH_MAX_LENGTH]; unsigned d, type = RARCH_SHADER_NONE; const char *dirs[3] = {0}; config_file_t *conf = NULL; - bool ret = false; struct video_shader *shader = menu_shader_get(); buffer[0] = config_directory[0] = '\0'; @@ -469,13 +469,15 @@ int menu_shader_manager_clear_num_passes(void) int menu_shader_manager_clear_parameter(unsigned i) { #ifdef HAVE_SHADER_MANAGER - struct video_shader_parameter *param = menu_shader_manager_get_parameters(i); + struct video_shader_parameter *param = + menu_shader_manager_get_parameters(i); if (!param) return 0; param->current = param->initial; - param->current = MIN(MAX(param->minimum, param->current), param->maximum); + param->current = MIN(MAX(param->minimum, + param->current), param->maximum); #endif return 0; @@ -484,7 +486,8 @@ int menu_shader_manager_clear_parameter(unsigned i) int menu_shader_manager_clear_pass_filter(unsigned i) { #ifdef HAVE_SHADER_MANAGER - struct video_shader_pass *shader_pass = menu_shader_manager_get_pass(i); + struct video_shader_pass *shader_pass = + menu_shader_manager_get_pass(i); if (!shader_pass) return -1; @@ -500,7 +503,8 @@ int menu_shader_manager_clear_pass_filter(unsigned i) void menu_shader_manager_clear_pass_scale(unsigned i) { #ifdef HAVE_SHADER_MANAGER - struct video_shader_pass *shader_pass = menu_shader_manager_get_pass(i); + struct video_shader_pass *shader_pass = + menu_shader_manager_get_pass(i); if (!shader_pass) return; @@ -514,7 +518,8 @@ void menu_shader_manager_clear_pass_scale(unsigned i) void menu_shader_manager_clear_pass_path(unsigned i) { #ifdef HAVE_SHADER_MANAGER - struct video_shader_pass *shader_pass = menu_shader_manager_get_pass(i); + struct video_shader_pass *shader_pass = + menu_shader_manager_get_pass(i); if (shader_pass) *shader_pass->source.path = '\0'; @@ -535,7 +540,7 @@ unsigned menu_shader_manager_get_type(const void *data) #ifdef HAVE_SHADER_MANAGER const struct video_shader *shader = (const struct video_shader*)data; /* All shader types must be the same, or we cannot use it. */ - unsigned i = 0; + uint8_t i = 0; if (!shader) return RARCH_SHADER_NONE;