diff --git a/command.c b/command.c index 696131c077..b35e60408d 100644 --- a/command.c +++ b/command.c @@ -157,8 +157,7 @@ struct cmd_action_map const char *arg_desc; }; -#ifdef HAVE_COMMAND -static bool command_set_shader(const char *arg) +bool command_set_shader(const char *arg) { char msg[256]; enum rarch_shader_type type = RARCH_SHADER_NONE; @@ -190,7 +189,7 @@ static bool command_set_shader(const char *arg) return video_driver_set_shader(type, arg); } - +#ifdef HAVE_COMMAND #ifdef HAVE_CHEEVOS static bool command_read_ram(const char *arg) { @@ -631,8 +630,6 @@ static void command_stdin_poll(command_t *handle) bool command_poll(command_t *handle) { - memset(handle->state, 0, sizeof(handle->state)); - #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD) #ifdef HAVE_COMMAND command_network_poll(handle); diff --git a/command.h b/command.h index d5365c4c73..e5001c549e 100644 --- a/command.h +++ b/command.h @@ -221,6 +221,8 @@ enum event_command CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET }; +bool command_set_shader(const char *arg); + #ifdef HAVE_COMMAND #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD) bool command_network_send(const char *cmd_); diff --git a/dirs.c b/dirs.c index d41cc5bc6a..3ad005a87a 100644 --- a/dirs.c +++ b/dirs.c @@ -23,6 +23,7 @@ #include #include "dirs.h" +#include "command.h" #include "configuration.h" #include "command.h" #include "defaults.h" @@ -108,9 +109,6 @@ bool dir_free_shader(void) **/ void dir_check_shader(bool pressed_next, bool pressed_prev) { - char msg[128]; - const char *shader = NULL; - enum rarch_shader_type type = RARCH_SHADER_NONE; struct rarch_dir_list *dir_list = (struct rarch_dir_list*)&dir_shader_list; if (!dir_list || !dir_list->list) @@ -131,40 +129,7 @@ void dir_check_shader(bool pressed_next, bool pressed_prev) else return; - shader = dir_list->list->elems[dir_list->ptr].data; - - switch (msg_hash_to_file_type(msg_hash_calculate( - path_get_extension(shader)))) - { - case FILE_TYPE_SHADER_GLSL: - case FILE_TYPE_SHADER_PRESET_GLSLP: - type = RARCH_SHADER_GLSL; - break; - case FILE_TYPE_SHADER_SLANG: - case FILE_TYPE_SHADER_PRESET_SLANGP: - type = RARCH_SHADER_SLANG; - break; - case FILE_TYPE_SHADER_CG: - case FILE_TYPE_SHADER_PRESET_CGP: - type = RARCH_SHADER_CG; - break; - default: - return; - } - - msg[0] = '\0'; - - snprintf(msg, sizeof(msg), "%s #%u: \"%s\".", - msg_hash_to_str(MSG_SHADER), - (unsigned)dir_list->ptr, shader); - runloop_msg_queue_push(msg, 2, 120, true); - - RARCH_LOG("%s \"%s\".\n", - msg_hash_to_str(MSG_APPLYING_SHADER), - shader); - - if (!video_driver_set_shader(type, shader)) - RARCH_WARN("%s\n", msg_hash_to_str(MSG_FAILED_TO_APPLY_SHADER)); + command_set_shader(dir_list->list->elems[dir_list->ptr].data); } /* empty functions */