mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 16:20:27 +00:00
better fix for shader next / shader prev
This commit is contained in:
parent
26b2ff7c3f
commit
4eb7ca5db1
@ -220,6 +220,7 @@ bool command_set_shader(const char *arg)
|
||||
{
|
||||
char msg[256];
|
||||
enum rarch_shader_type type = RARCH_SHADER_NONE;
|
||||
struct video_shader *shader = menu_shader_get();
|
||||
|
||||
switch (msg_hash_to_file_type(msg_hash_calculate(path_get_extension(arg))))
|
||||
{
|
||||
@ -246,7 +247,7 @@ bool command_set_shader(const char *arg)
|
||||
arg);
|
||||
|
||||
retroarch_set_shader_preset(arg);
|
||||
return video_driver_set_shader(type, arg);
|
||||
return menu_shader_manager_set_preset(shader, type, arg);
|
||||
}
|
||||
|
||||
#if defined(HAVE_COMMAND) && defined(HAVE_CHEEVOS)
|
||||
|
@ -678,12 +678,6 @@ bool video_driver_set_shader(enum rarch_shader_type type,
|
||||
if (current_video->set_shader)
|
||||
ret = current_video->set_shader(video_driver_data, type, path);
|
||||
|
||||
if (ret)
|
||||
{
|
||||
menu_shader_manager_free();
|
||||
menu_shader_manager_init();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -249,7 +249,7 @@ bool menu_shader_manager_init(void)
|
||||
*
|
||||
* Sets shader preset.
|
||||
**/
|
||||
void menu_shader_manager_set_preset(void *data,
|
||||
bool menu_shader_manager_set_preset(void *data,
|
||||
unsigned type, const char *preset_path)
|
||||
{
|
||||
#ifdef HAVE_SHADER_MANAGER
|
||||
@ -261,7 +261,7 @@ void menu_shader_manager_set_preset(void *data,
|
||||
if (!video_driver_set_shader((enum rarch_shader_type)type, preset_path))
|
||||
{
|
||||
configuration_set_bool(settings, settings->bools.video_shader_enable, false);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Makes sure that we use Menu Preset shader on driver reinit.
|
||||
@ -272,7 +272,7 @@ void menu_shader_manager_set_preset(void *data,
|
||||
configuration_set_bool(settings, settings->bools.video_shader_enable, true);
|
||||
|
||||
if (!preset_path || !shader)
|
||||
return;
|
||||
return false;
|
||||
|
||||
/* Load stored Preset into menu on success.
|
||||
* Used when a preset is directly loaded.
|
||||
@ -281,7 +281,7 @@ void menu_shader_manager_set_preset(void *data,
|
||||
conf = config_file_new(preset_path);
|
||||
|
||||
if (!conf)
|
||||
return;
|
||||
return false;
|
||||
|
||||
RARCH_LOG("Setting Menu shader: %s.\n", preset_path);
|
||||
|
||||
@ -293,6 +293,8 @@ void menu_shader_manager_set_preset(void *data,
|
||||
config_file_free(conf);
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ bool menu_shader_manager_init(void);
|
||||
*
|
||||
* Sets shader preset.
|
||||
**/
|
||||
void menu_shader_manager_set_preset(
|
||||
bool menu_shader_manager_set_preset(
|
||||
void *data, unsigned type, const char *preset_path);
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user