From 5a3e5f85a52cdad1ed2acb9f409bfc3fd9fac8cc Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 1 Oct 2016 08:15:07 +0200 Subject: [PATCH] Revert "Add record dirs to dirs.c" This reverts commit fe3281e05dc48979c04a24c468e6858e9c247de0. --- configuration.c | 9 +++++---- dirs.c | 42 +++++------------------------------------- dirs.h | 6 ++---- menu/cbs/menu_cbs_ok.c | 3 +-- menu/menu_setting.c | 14 +++++++------- record/record_driver.c | 3 +-- runloop.c | 17 +++-------------- runloop.h | 14 ++++++++++++++ 8 files changed, 38 insertions(+), 70 deletions(-) diff --git a/configuration.c b/configuration.c index d38db80de3..7036b4f001 100644 --- a/configuration.c +++ b/configuration.c @@ -575,6 +575,7 @@ static int populate_settings_path(settings_t *settings, struct config_path_setti { unsigned count = 0; struct config_path_setting *tmp = NULL; + global_t *global = global_get_ptr(); /* Paths */ #ifdef HAVE_XMB @@ -589,9 +590,9 @@ static int populate_settings_path(settings_t *settings, struct config_path_setti SETTING_PATH("netplay_ip_address", path_get_ptr(RARCH_PATH_SERVER), false, NULL, true); #endif SETTING_PATH("recording_output_directory", - dir_get_ptr(RARCH_DIR_RECORD_OUTPUT), false, NULL, true); + global->record.output_dir, false, NULL, true); SETTING_PATH("recording_config_directory", - dir_get_ptr(RARCH_DIR_RECORD_CONFIG), false, NULL, true); + global->record.config_dir, false, NULL, true); SETTING_PATH("libretro_directory", settings->directory.libretro, false, NULL, false); SETTING_PATH("core_options_path", @@ -1176,8 +1177,8 @@ static void config_set_defaults(void) if (!retroarch_override_setting_is_set(RARCH_OVERRIDE_SETTING_IPS_PREF, NULL)) rarch_ctl(RARCH_CTL_UNSET_IPS_PREF, NULL); - dir_clear(RARCH_DIR_RECORD_OUTPUT); - dir_clear(RARCH_DIR_RECORD_CONFIG); + *global->record.output_dir = '\0'; + *global->record.config_dir = '\0'; *settings->path.core_options = '\0'; *settings->path.content_history = '\0'; diff --git a/dirs.c b/dirs.c index ee5e71c45e..0f6e6cbd10 100644 --- a/dirs.c +++ b/dirs.c @@ -40,12 +40,10 @@ struct rarch_dir_list static struct rarch_dir_list dir_shader_list; -static char dir_record_output[PATH_MAX_LENGTH] = {0}; -static char dir_record_config[PATH_MAX_LENGTH] = {0}; -static char dir_osk_overlay[PATH_MAX_LENGTH] = {0}; -static char dir_system[PATH_MAX_LENGTH] = {0}; -static char dir_savefile[PATH_MAX_LENGTH] = {0}; -static char dir_savestate[PATH_MAX_LENGTH] = {0}; +static char dir_osk_overlay[PATH_MAX_LENGTH] = {0}; +static char dir_system[PATH_MAX_LENGTH] = {0}; +static char dir_savefile[PATH_MAX_LENGTH] = {0}; +static char dir_savestate[PATH_MAX_LENGTH] = {0}; static bool shader_dir_init(struct rarch_dir_list *dir_list) { @@ -174,10 +172,6 @@ bool dir_is_empty(enum rarch_dir_type type) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - return string_is_empty(dir_record_output); - case RARCH_DIR_RECORD_CONFIG: - return string_is_empty(dir_record_config); case RARCH_DIR_SYSTEM: return string_is_empty(dir_system); case RARCH_DIR_SAVEFILE: @@ -196,14 +190,10 @@ bool dir_is_empty(enum rarch_dir_type type) /* get size functions */ -size_t dir_get_ptr_size(enum rarch_dir_type type) +size_t dir_get_size(enum rarch_dir_type type) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - return sizeof(dir_record_output); - case RARCH_DIR_RECORD_CONFIG: - return sizeof(dir_record_config); case RARCH_DIR_SYSTEM: return sizeof(dir_system); case RARCH_DIR_SAVEFILE: @@ -226,12 +216,6 @@ void dir_clear(enum rarch_dir_type type) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - *dir_record_output = '\0'; - break; - case RARCH_DIR_RECORD_CONFIG: - *dir_record_config = '\0'; - break; case RARCH_DIR_SYSTEM: *dir_system = '\0'; break; @@ -264,10 +248,6 @@ char *dir_get_ptr(enum rarch_dir_type type) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - return dir_record_output; - case RARCH_DIR_RECORD_CONFIG: - return dir_record_config; case RARCH_DIR_SYSTEM: return dir_system; case RARCH_DIR_SAVEFILE: @@ -290,10 +270,6 @@ const char *dir_get(enum rarch_dir_type type) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - return dir_record_output; - case RARCH_DIR_RECORD_CONFIG: - return dir_record_config; case RARCH_DIR_OSK_OVERLAY: return dir_osk_overlay; case RARCH_DIR_SYSTEM: @@ -316,14 +292,6 @@ void dir_set(enum rarch_dir_type type, const char *path) { switch (type) { - case RARCH_DIR_RECORD_OUTPUT: - strlcpy(dir_record_output, path, - sizeof(dir_record_output)); - break; - case RARCH_DIR_RECORD_CONFIG: - strlcpy(dir_record_config, path, - sizeof(dir_record_config)); - break; case RARCH_DIR_OSK_OVERLAY: strlcpy(dir_osk_overlay, path, sizeof(dir_osk_overlay)); diff --git a/dirs.h b/dirs.h index 0fd14fe15a..0d5f37c4e0 100644 --- a/dirs.h +++ b/dirs.h @@ -27,9 +27,7 @@ enum rarch_dir_type RARCH_DIR_SYSTEM, RARCH_DIR_SAVEFILE, RARCH_DIR_SAVESTATE, - RARCH_DIR_OSK_OVERLAY, - RARCH_DIR_RECORD_OUTPUT, - RARCH_DIR_RECORD_CONFIG + RARCH_DIR_OSK_OVERLAY }; bool dir_init_shader(void); @@ -44,7 +42,7 @@ void dir_clear(enum rarch_dir_type type); void dir_clear_all(void); -size_t dir_get_ptr_size(enum rarch_dir_type type); +size_t dir_get_size(enum rarch_dir_type type); char *dir_get_ptr(enum rarch_dir_type type); diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index e16c721b3f..bac6a650f9 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -43,7 +43,6 @@ #include "../../managers/cheat_manager.h" #include "../../tasks/tasks_internal.h" #include "../../input/input_remapping.h" -#include "../../dirs.h" #include "../../paths.h" #include "../../retroarch.h" #include "../../runloop.h" @@ -352,7 +351,7 @@ int generic_action_ok_displaylist_push(const char *path, menu_displaylist_reset_filebrowser(); info.type = type; info.directory_ptr = idx; - info_path = dir_get(RARCH_DIR_RECORD_CONFIG); + info_path = global->record.config_dir; info_label = label; dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; } diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 168a1a0d24..37a6d1765c 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6467,8 +6467,8 @@ static bool setting_append_list( { CONFIG_DIR( list, list_info, - dir_get_ptr(RARCH_DIR_RECORD_OUTPUT), - dir_get_ptr_size(RARCH_DIR_RECORD_OUTPUT), + global->record.output_dir, + sizeof(global->record.output_dir), msg_hash_to_str(MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RECORDING_OUTPUT_DIRECTORY), "", @@ -6482,8 +6482,8 @@ static bool setting_append_list( CONFIG_DIR( list, list_info, - dir_get_ptr(RARCH_DIR_RECORD_CONFIG), - dir_get_ptr_size(RARCH_DIR_RECORD_CONFIG), + global->record.config_dir, + sizeof(global->record.config_dir), msg_hash_to_str(MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RECORDING_CONFIG_DIRECTORY), "", @@ -6514,7 +6514,7 @@ static bool setting_append_list( CONFIG_DIR( list, list_info, dir_get_ptr(RARCH_DIR_OSK_OVERLAY), - dir_get_ptr_size(RARCH_DIR_OSK_OVERLAY), + dir_get_size(RARCH_DIR_OSK_OVERLAY), msg_hash_to_str(MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OSK_OVERLAY_DIRECTORY), g_defaults.dir.osk_overlay, @@ -6590,7 +6590,7 @@ static bool setting_append_list( CONFIG_DIR( list, list_info, dir_get_ptr(RARCH_DIR_SAVEFILE), - dir_get_ptr_size(RARCH_DIR_SAVEFILE), + dir_get_size(RARCH_DIR_SAVEFILE), msg_hash_to_str(MENU_ENUM_LABEL_SAVEFILE_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVEFILE_DIRECTORY), "", @@ -6605,7 +6605,7 @@ static bool setting_append_list( CONFIG_DIR( list, list_info, dir_get_ptr(RARCH_DIR_SAVESTATE), - dir_get_ptr_size(RARCH_DIR_SAVESTATE), + dir_get_size(RARCH_DIR_SAVESTATE), msg_hash_to_str(MENU_ENUM_LABEL_SAVESTATE_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVESTATE_DIRECTORY), "", diff --git a/record/record_driver.c b/record/record_driver.c index 82d1bf1f5e..73374b011a 100644 --- a/record/record_driver.c +++ b/record/record_driver.c @@ -33,7 +33,6 @@ #include "../runloop.h" #include "../verbosity.h" #include "../msg_hash.h" -#include "../dirs.h" #include "../paths.h" #include "../list_special.h" @@ -337,7 +336,7 @@ bool recording_init(void) if (recording_use_output_dir) fill_pathname_join(recording_file, - dir_get(RARCH_DIR_RECORD_OUTPUT), + global->record.output_dir, path_get(RARCH_PATH_RECORD), sizeof(recording_file)); diff --git a/runloop.c b/runloop.c index 112c46b482..c8dcb87b10 100644 --- a/runloop.c +++ b/runloop.c @@ -728,6 +728,7 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data) break; case RUNLOOP_CTL_GLOBAL_FREE: { + global_t *global = NULL; command_event(CMD_EVENT_TEMPORARY_CONTENT_DEINIT, NULL); path_deinit_subsystem(); @@ -757,22 +758,10 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data) core_unset_input_descriptors(); + global = global_get_ptr(); path_clear_all(); - dir_clear(RARCH_DIR_RECORD_CONFIG); - dir_clear(RARCH_DIR_RECORD_OUTPUT); dir_clear_all(); - recording_driver_free_state(); - { - unsigned j; - for (j = 0; j < MAX_USERS; j++) - retroarch_override_setting_unset(RARCH_OVERRIDE_SETTING_LIBRETRO_DEVICE, &j); - } - - { - global_t *global = global_get_ptr(); - memset(global, 0, sizeof(struct global)); - } - + memset(global, 0, sizeof(struct global)); retroarch_override_setting_free_state(); } break; diff --git a/runloop.h b/runloop.h index 4e96a8803c..9bbb70f783 100644 --- a/runloop.h +++ b/runloop.h @@ -150,6 +150,20 @@ typedef struct global } netplay; #endif + /* Recording. */ + struct + { + char output_dir[PATH_MAX_LENGTH]; + char config_dir[PATH_MAX_LENGTH]; + + unsigned width; + unsigned height; + + size_t gpu_width; + size_t gpu_height; + bool use_output_dir; + } record; + /* Settings and/or global state that is specific to * a console-style implementation. */ struct