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;
};
#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);

View File

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

39
dirs.c
View File

@ -23,6 +23,7 @@
#include <retro_stat.h>
#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 */