diff --git a/CHANGES.md b/CHANGES.md index 72d82832f0..f85919fd6a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,11 +2,14 @@ - CHEEVOS: Support Atari 2600, Virtual Boy, Neo Geo (Arcade). - CHEEVOS: Add option to automatically take a screenshot when an achievement is triggered. - MENU: Disable XMB shadow icons by default for PowerPC and ARM for performance reasons. +- PS3: fix URLS - SHADERS/SLANG: Slang shaders should work again on Android version and MSVC versions (basically all the Griffin-based versions). - SHADERS: If GL context is GLES2/3/Core context, Cg shaders are unavailable. Applies to shader list too. - SHADERS: Hide cg/glsl shaders from being able to be selected if D3D8/9/10/11/Vulkan video drivers are selected. - SHADERS: Hide slang shaders from being able to be selected if D3D8/9/OpenGL video drivers are selected. - SHADERS: Prevent crashes from occurring if we have the GL video driver in use and we try to skip to a slang shader through next/previous hotkeys +- SHADERS: Fix shader parameter increase / decrease functions +- SUBSYSTEM: handle savestates properly (cart1 + cart2.state0) - VITA: Bugfix for 'PS Vita takes many time to start to accept input' issue. # 1.7.1 diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index fd9ae4d318..230b6fea0d 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -70,14 +70,13 @@ static int shader_action_parameter_left(unsigned type, const char *label, bool w video_shader_driver_get_current_shader(&shader_info); param_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; - if (!param_prev) + param_menu = shader ? &shader->parameters[type - + MENU_SETTINGS_SHADER_PARAMETER_0] : NULL; + + if (!param_prev || !param_menu) return menu_cbs_exit(); ret = generic_shader_action_parameter_left(param_prev, type, label, wraparound); - param_menu = shader ? &shader->parameters[type - - MENU_SETTINGS_SHADER_PARAMETER_0] : NULL; - if (!param_menu) - return menu_cbs_exit(); param_menu->current = param_prev->current; return ret; diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 1b8bd334b7..9469cbc98b 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -64,23 +64,22 @@ 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_prev = NULL; + struct video_shader *shader = menu_shader_get(); 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_prev = &shader_info.data->parameters[type - MENU_SETTINGS_SHADER_PARAMETER_0]; + param_menu = shader ? &shader->parameters[type - + MENU_SETTINGS_SHADER_PARAMETER_0] : NULL; - if (!param_prev) + if (!param_prev || !param_menu) return menu_cbs_exit(); 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_menu) - return menu_cbs_exit(); + param_menu->current = param_prev->current; return ret;