(menu_shader.c) Cleanups

This commit is contained in:
twinaphex 2017-01-09 20:42:15 +01:00
parent 9826b45242
commit 42c26ec539
5 changed files with 34 additions and 8 deletions

View File

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

View File

@ -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

View File

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

View File

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

View File

@ -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