diff --git a/command_event.c b/command_event.c index b61d7cf40c..a6b7c00936 100644 --- a/command_event.c +++ b/command_event.c @@ -1537,9 +1537,9 @@ bool event_command(enum event_command cmd) if (!global) break; - dir_list_free(global->shader_dir.list); - global->shader_dir.list = NULL; - global->shader_dir.ptr = 0; + dir_list_free(global->dir.shader_dir.list); + global->dir.shader_dir.list = NULL; + global->dir.shader_dir.ptr = 0; break; case EVENT_CMD_SHADER_DIR_INIT: event_command(EVENT_CMD_SHADER_DIR_DEINIT); @@ -1547,21 +1547,21 @@ bool event_command(enum event_command cmd) if (!*settings->video.shader_dir) return false; - global->shader_dir.list = dir_list_new_special(NULL, DIR_LIST_SHADERS, NULL); + global->dir.shader_dir.list = dir_list_new_special(NULL, DIR_LIST_SHADERS, NULL); - if (!global->shader_dir.list || global->shader_dir.list->size == 0) + if (!global->dir.shader_dir.list || global->dir.shader_dir.list->size == 0) { event_command(EVENT_CMD_SHADER_DIR_DEINIT); return false; } - global->shader_dir.ptr = 0; - dir_list_sort(global->shader_dir.list, false); + global->dir.shader_dir.ptr = 0; + dir_list_sort(global->dir.shader_dir.list, false); - for (i = 0; i < global->shader_dir.list->size; i++) + for (i = 0; i < global->dir.shader_dir.list->size; i++) RARCH_LOG("%s \"%s\"\n", msg_hash_to_str(MSG_FOUND_SHADER), - global->shader_dir.list->elems[i].data); + global->dir.shader_dir.list->elems[i].data); break; case EVENT_CMD_SAVEFILES: event_save_files(); diff --git a/runloop.c b/runloop.c index 16785a37bc..0f912f92d6 100644 --- a/runloop.c +++ b/runloop.c @@ -256,25 +256,25 @@ static void check_shader_dir(global_t *global, const char *ext = NULL; enum rarch_shader_type type = RARCH_SHADER_NONE; - if (!global || !global->shader_dir.list) + if (!global || !global->dir.shader_dir.list) return; if (pressed_next) { - global->shader_dir.ptr = (global->shader_dir.ptr + 1) % - global->shader_dir.list->size; + global->dir.shader_dir.ptr = (global->dir.shader_dir.ptr + 1) % + global->dir.shader_dir.list->size; } else if (pressed_prev) { - if (global->shader_dir.ptr == 0) - global->shader_dir.ptr = global->shader_dir.list->size - 1; + if (global->dir.shader_dir.ptr == 0) + global->dir.shader_dir.ptr = global->dir.shader_dir.list->size - 1; else - global->shader_dir.ptr--; + global->dir.shader_dir.ptr--; } else return; - shader = global->shader_dir.list->elems[global->shader_dir.ptr].data; + shader = global->dir.shader_dir.list->elems[global->dir.shader_dir.ptr].data; ext = path_get_extension(shader); ext_hash = msg_hash_calculate(ext); @@ -294,7 +294,7 @@ static void check_shader_dir(global_t *global, snprintf(msg, sizeof(msg), "%s #%u: \"%s\".", msg_hash_to_str(MSG_SHADER), - (unsigned)global->shader_dir.ptr, shader); + (unsigned)global->dir.shader_dir.ptr, shader); rarch_main_msg_queue_push(msg, 1, 120, true); RARCH_LOG("%s \"%s\".\n", msg_hash_to_str(MSG_APPLYING_SHADER), diff --git a/runloop.h b/runloop.h index 4bf4818a7f..893641c6eb 100644 --- a/runloop.h +++ b/runloop.h @@ -60,6 +60,42 @@ enum rarch_main_ctl_state RARCH_MAIN_CTL_CHECK_PAUSE_STATE }; +typedef struct rarch_dir_list +{ + struct string_list *list; + size_t ptr; +} rarch_dir_list_t; + +typedef struct rarch_dir +{ + /* Used on reentrancy to use a savestate dir. */ + char savefile[PATH_MAX_LENGTH]; + char savestate[PATH_MAX_LENGTH]; + char systemdir[PATH_MAX_LENGTH]; +#ifdef HAVE_OVERLAY + char osk_overlay[PATH_MAX_LENGTH]; +#endif + rarch_dir_list_t shader_dir; + rarch_dir_list_t filter_dir; +} rarch_dir_t; + +typedef struct rarch_path +{ + char gb_rom[PATH_MAX_LENGTH]; + char bsx_rom[PATH_MAX_LENGTH]; + char sufami_rom[2][PATH_MAX_LENGTH]; + /* Config associated with global "default" config. */ + char config[PATH_MAX_LENGTH]; + char append_config[PATH_MAX_LENGTH]; + char input_config[PATH_MAX_LENGTH]; +#ifdef HAVE_FILE_LOGGER + char default_log[PATH_MAX_LENGTH]; +#endif + char fullpath[PATH_MAX_LENGTH]; + /* Config file associated with per-core configs. */ + char core_specific_config[PATH_MAX_LENGTH]; +} rarch_path_t; + typedef struct rarch_resolution { unsigned idx; @@ -85,22 +121,7 @@ typedef struct global uint32_t content_crc; - struct - { - char gb_rom[PATH_MAX_LENGTH]; - char bsx_rom[PATH_MAX_LENGTH]; - char sufami_rom[2][PATH_MAX_LENGTH]; - /* Config associated with global "default" config. */ - char config[PATH_MAX_LENGTH]; - char append_config[PATH_MAX_LENGTH]; - char input_config[PATH_MAX_LENGTH]; -#ifdef HAVE_FILE_LOGGER - char default_log[PATH_MAX_LENGTH]; -#endif - char fullpath[PATH_MAX_LENGTH]; - /* Config file associated with per-core configs. */ - char core_specific_config[PATH_MAX_LENGTH]; - } path; + rarch_path_t path; struct { @@ -144,16 +165,7 @@ typedef struct global char subsystem[PATH_MAX_LENGTH]; struct string_list *subsystem_fullpaths; - struct - { - /* Used on reentrancy to use a savestate dir. */ - char savefile[PATH_MAX_LENGTH]; - char savestate[PATH_MAX_LENGTH]; - char systemdir[PATH_MAX_LENGTH]; -#ifdef HAVE_OVERLAY - char osk_overlay[PATH_MAX_LENGTH]; -#endif - } dir; + rarch_dir_t dir; struct { @@ -250,17 +262,6 @@ typedef struct global bool use_output_dir; } record; - struct - { - struct string_list *list; - size_t ptr; - } shader_dir; - - struct - { - struct string_list *list; - size_t ptr; - } filter_dir; cheat_manager_t *cheat;