fix shader parameter increase decrease

This commit is contained in:
radius 2018-03-16 09:32:22 -05:00
parent aa4ded4bc7
commit 6b150ba38d
2 changed files with 25 additions and 14 deletions

View File

@ -62,20 +62,25 @@ static int shader_action_parameter_left(unsigned type, const char *label, bool w
{
video_shader_ctx_t shader_info;
struct video_shader *shader = menu_shader_get();
struct video_shader_parameter *param = NULL;
struct video_shader_parameter *param_menu = NULL;
struct video_shader_parameter *param_prev = NULL;
int ret = 0;
video_shader_driver_get_current_shader(&shader_info);
param = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
if (!param)
param_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
if (!param_prev)
return menu_cbs_exit();
generic_shader_action_parameter_left(param, type, label, wraparound);
ret = generic_shader_action_parameter_left(param_prev, type, label, wraparound);
param = shader ? &shader->parameters[type -
param_menu = shader ? &shader->parameters[type -
MENU_SETTINGS_SHADER_PARAMETER_0] : NULL;
if (!param)
if (!param_menu)
return menu_cbs_exit();
return generic_shader_action_parameter_left(param, type, label, wraparound);
param_menu->current = param_prev->current;
return ret;
}
static int action_left_cheat(unsigned type, const char *label,

View File

@ -64,20 +64,26 @@ static int generic_shader_action_parameter_right(struct video_shader_parameter *
int shader_action_parameter_right(unsigned type, const char *label, bool wraparound)
{
video_shader_ctx_t shader_info;
struct video_shader_parameter *param = NULL;
struct video_shader_parameter *param_prev = NULL;
struct video_shader_parameter *param_menu = NULL;
int ret = 0;
video_shader_driver_get_current_shader(&shader_info);
param = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
param_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0];
if (!param)
if (!param_prev)
return menu_cbs_exit();
generic_shader_action_parameter_right(param, type, label, wraparound);
param = &shader_info.data->parameters[type -
ret = generic_shader_action_parameter_right(param_prev, type, label, wraparound);
param_menu = &shader_info.data->parameters[type -
MENU_SETTINGS_SHADER_PARAMETER_0];
if (!param)
if (!param_menu)
return menu_cbs_exit();
return generic_shader_action_parameter_right(param, type, label, wraparound);
param_menu->current = param_prev->current;
return ret;
}
int generic_action_cheat_toggle(size_t idx, unsigned type, const char *label,