Reorder runloop global data struct

This commit is contained in:
twinaphex 2015-11-18 03:25:23 +01:00
parent 66b89474a6
commit 88cbdbdfda
3 changed files with 55 additions and 54 deletions

View File

@ -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();

View File

@ -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),

View File

@ -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;