Cut down on code duplication

This commit is contained in:
twinaphex 2017-05-20 15:50:38 +02:00
parent d339eb327c
commit 2139abe8b7
3 changed files with 6 additions and 42 deletions

View File

@ -157,8 +157,7 @@ struct cmd_action_map
const char *arg_desc; const char *arg_desc;
}; };
#ifdef HAVE_COMMAND bool command_set_shader(const char *arg)
static bool command_set_shader(const char *arg)
{ {
char msg[256]; char msg[256];
enum rarch_shader_type type = RARCH_SHADER_NONE; 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); return video_driver_set_shader(type, arg);
} }
#ifdef HAVE_COMMAND
#ifdef HAVE_CHEEVOS #ifdef HAVE_CHEEVOS
static bool command_read_ram(const char *arg) 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) bool command_poll(command_t *handle)
{ {
memset(handle->state, 0, sizeof(handle->state));
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD) #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD)
#ifdef HAVE_COMMAND #ifdef HAVE_COMMAND
command_network_poll(handle); command_network_poll(handle);

View File

@ -221,6 +221,8 @@ enum event_command
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET
}; };
bool command_set_shader(const char *arg);
#ifdef HAVE_COMMAND #ifdef HAVE_COMMAND
#if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD) #if defined(HAVE_NETWORKING) && defined(HAVE_NETWORK_CMD)
bool command_network_send(const char *cmd_); bool command_network_send(const char *cmd_);

39
dirs.c
View File

@ -23,6 +23,7 @@
#include <retro_stat.h> #include <retro_stat.h>
#include "dirs.h" #include "dirs.h"
#include "command.h"
#include "configuration.h" #include "configuration.h"
#include "command.h" #include "command.h"
#include "defaults.h" #include "defaults.h"
@ -108,9 +109,6 @@ bool dir_free_shader(void)
**/ **/
void dir_check_shader(bool pressed_next, bool pressed_prev) 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; struct rarch_dir_list *dir_list = (struct rarch_dir_list*)&dir_shader_list;
if (!dir_list || !dir_list->list) if (!dir_list || !dir_list->list)
@ -131,40 +129,7 @@ void dir_check_shader(bool pressed_next, bool pressed_prev)
else else
return; return;
shader = dir_list->list->elems[dir_list->ptr].data; command_set_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));
} }
/* empty functions */ /* empty functions */