From 42c26ec539590d860915e4a6713e85c634d3514b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 9 Jan 2017 20:42:15 +0100 Subject: [PATCH] (menu_shader.c) Cleanups --- menu/cbs/menu_cbs_left.c | 5 +++-- menu/cbs/menu_cbs_ok.c | 8 ++++---- menu/cbs/menu_cbs_right.c | 5 +++-- menu/menu_shader.c | 20 ++++++++++++++++++++ menu/menu_shader.h | 4 ++++ 5 files changed, 34 insertions(+), 8 deletions(-) diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index b80c143ad6..3a139c101b 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -286,8 +286,9 @@ static int action_left_shader_num_passes(unsigned type, const char *label, if (!shader) return menu_cbs_exit(); - if (shader->passes) - shader->passes--; + if (menu_shader_manager_get_amount_passes()) + menu_shader_manager_decrement_amount_passes(); + menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL); video_shader_resolve_parameters(NULL, shader); diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 384e43ee67..2ba88676c4 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1107,13 +1107,13 @@ static int generic_action_ok(const char *path, break; case ACTION_OK_LOAD_SHADER_PASS: { - struct video_shader *shader = menu_shader_get(); + struct video_shader_pass *shader_pass = menu_shader_manager_get_pass(hack_shader_pass); flush_char = msg_hash_to_str(flush_id); strlcpy( - shader->pass[hack_shader_pass].source.path, + shader_pass->source.path, action_path, - sizeof(shader->pass[hack_shader_pass].source.path)); - video_shader_resolve_parameters(NULL, shader); + sizeof(shader_pass->source.path)); + video_shader_resolve_parameters(NULL, menu_shader_get()); } break; #endif diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 9aa82d5a40..92f2d02912 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -299,8 +299,9 @@ static int action_right_shader_num_passes(unsigned type, const char *label, if (!shader) return menu_cbs_exit(); - if ((shader->passes < GFX_MAX_SHADERS)) - shader->passes++; + if ((menu_shader_manager_get_amount_passes() < GFX_MAX_SHADERS)) + menu_shader_manager_increment_amount_passes(); + menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh); menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL); video_shader_resolve_parameters(NULL, shader); diff --git a/menu/menu_shader.c b/menu/menu_shader.c index 6ae3b2f4dc..0a1556fb2b 100644 --- a/menu/menu_shader.c +++ b/menu/menu_shader.c @@ -74,6 +74,26 @@ unsigned menu_shader_manager_get_amount_passes(void) return shader->passes; } +void menu_shader_manager_decrement_amount_passes(void) +{ + struct video_shader *shader = menu_shader_get(); + + if (!shader) + return; + + shader->passes--; +} + +void menu_shader_manager_increment_amount_passes(void) +{ + struct video_shader *shader = menu_shader_get(); + + if (!shader) + return; + + shader->passes++; +} + void menu_shader_manager_free(void) { if (menu_driver_shader) diff --git a/menu/menu_shader.h b/menu/menu_shader.h index 929f79f730..7c0963387e 100644 --- a/menu/menu_shader.h +++ b/menu/menu_shader.h @@ -88,6 +88,10 @@ void menu_shader_manager_clear_pass_scale(unsigned i); void menu_shader_manager_clear_pass_path(unsigned i); +void menu_shader_manager_decrement_amount_passes(void); + +void menu_shader_manager_increment_amount_passes(void); + RETRO_END_DECLS #endif