(Menu) Refactor MENU_SETTINGS_SHADER_OPTIONS
This commit is contained in:
parent
1404dd42d7
commit
b98c74bf25
|
@ -1843,9 +1843,7 @@ static int menu_action_ok(const char *dir,
|
|||
driver.menu->shader,
|
||||
gfx_shader_parse_type(shader_path, RARCH_SHADER_NONE),
|
||||
shader_path);
|
||||
/* Pop stack until we hit shader manager again. */
|
||||
menu_flush_stack_type(driver.menu->menu_stack,
|
||||
MENU_SETTINGS_SHADER_OPTIONS);
|
||||
menu_flush_stack_label(driver.menu->menu_stack, "Shader Options");
|
||||
}
|
||||
else if (!strcmp(menu_label, "video_shader_pass")
|
||||
&& type == MENU_FILE_PLAIN)
|
||||
|
@ -1857,9 +1855,7 @@ static int menu_action_ok(const char *dir,
|
|||
|
||||
/* This will reset any changed parameters. */
|
||||
gfx_shader_resolve_parameters(NULL, driver.menu->shader);
|
||||
/* Pop stack until we hit shader manager again. */
|
||||
menu_flush_stack_type(driver.menu->menu_stack,
|
||||
MENU_SETTINGS_SHADER_OPTIONS);
|
||||
menu_flush_stack_label(driver.menu->menu_stack, "Shader Options");
|
||||
}
|
||||
#endif
|
||||
else if (!strcmp(menu_label, "deferred_core_list")
|
||||
|
|
|
@ -362,17 +362,7 @@ static void rgui_render(void)
|
|||
if (type >= MENU_SETTINGS_SHADER_FILTER &&
|
||||
type <= MENU_SETTINGS_SHADER_LAST)
|
||||
{
|
||||
/* HACK. Work around that we're using the menu_type as dir type
|
||||
* to propagate state correctly. */
|
||||
if ((menu_type_is == MENU_SETTINGS_SHADER_OPTIONS)
|
||||
&& (menu_type_is == MENU_SETTINGS_SHADER_OPTIONS))
|
||||
{
|
||||
type = MENU_FILE_DIRECTORY;
|
||||
strlcpy(type_str, "(DIR)", sizeof(type_str));
|
||||
w = 5;
|
||||
}
|
||||
else if (
|
||||
type == MENU_SETTINGS_SHADER_OPTIONS ||
|
||||
if (
|
||||
type == MENU_SETTINGS_SHADER_PRESET ||
|
||||
type == MENU_SETTINGS_SHADER_PARAMETERS ||
|
||||
type == MENU_SETTINGS_SHADER_PRESET_PARAMETERS)
|
||||
|
|
|
@ -231,17 +231,7 @@ static void rmenu_render(void)
|
|||
if (type >= MENU_SETTINGS_SHADER_FILTER &&
|
||||
type <= MENU_SETTINGS_SHADER_LAST)
|
||||
{
|
||||
/* HACK. Work around that we're using the menu_type as
|
||||
* dir type to propagate state correctly. */
|
||||
if ((menu_type_is == MENU_SETTINGS_SHADER_OPTIONS)
|
||||
&& (menu_type_is == MENU_SETTINGS_SHADER_OPTIONS))
|
||||
{
|
||||
type = MENU_FILE_DIRECTORY;
|
||||
strlcpy(type_str, "(DIR)", sizeof(type_str));
|
||||
w = 5;
|
||||
}
|
||||
else if (
|
||||
type == MENU_SETTINGS_SHADER_OPTIONS ||
|
||||
if (
|
||||
type == MENU_SETTINGS_SHADER_PRESET ||
|
||||
type == MENU_SETTINGS_SHADER_PARAMETERS ||
|
||||
type == MENU_SETTINGS_SHADER_PRESET_PARAMETERS)
|
||||
|
|
|
@ -442,17 +442,7 @@ static void rmenu_xui_render(void)
|
|||
if (type >= MENU_SETTINGS_SHADER_FILTER &&
|
||||
type <= MENU_SETTINGS_SHADER_LAST)
|
||||
{
|
||||
/* HACK. Work around that we're using the menu_type as
|
||||
* dir type to propagate state correctly. */
|
||||
if ((menu_type_is == MENU_SETTINGS_SHADER_OPTIONS)
|
||||
&& (menu_type_is == MENU_SETTINGS_SHADER_OPTIONS))
|
||||
{
|
||||
type = MENU_FILE_DIRECTORY;
|
||||
strlcpy(type_str, "(DIR)", sizeof(type_str));
|
||||
w = 5;
|
||||
}
|
||||
else if (type == MENU_SETTINGS_SHADER_OPTIONS ||
|
||||
type == MENU_SETTINGS_SHADER_PRESET)
|
||||
if (type == MENU_SETTINGS_SHADER_PRESET)
|
||||
strlcpy(type_str, "...", sizeof(type_str));
|
||||
else if (type == MENU_SETTINGS_SHADER_FILTER)
|
||||
snprintf(type_str, sizeof(type_str), "%s",
|
||||
|
|
|
@ -37,9 +37,9 @@ static void get_title(const char *label, const char *dir,
|
|||
strlcpy(title, "FRONTEND PERFORMANCE COUNTERS", sizeof_title);
|
||||
else if (!strcmp(label, "core_counters"))
|
||||
strlcpy(title, "CORE PERFORMANCE COUNTERS", sizeof_title);
|
||||
#ifdef HAVE_SHADER_MANAGER
|
||||
else if (menu_type == MENU_SETTINGS_SHADER_OPTIONS)
|
||||
else if (!strcmp(label, "Shader Options"))
|
||||
strlcpy(title, "SHADER OPTIONS", sizeof_title);
|
||||
#ifdef HAVE_SHADER_MANAGER
|
||||
else if (menu_type == MENU_SETTINGS_SHADER_PARAMETERS)
|
||||
strlcpy(title, "SHADER PARAMETERS (CURRENT)", sizeof_title);
|
||||
else if (menu_type == MENU_SETTINGS_SHADER_PRESET_PARAMETERS)
|
||||
|
|
|
@ -640,7 +640,7 @@ unsigned menu_common_type_is(const char *label, unsigned type)
|
|||
!strcmp(label, "core_information") ||
|
||||
!strcmp(label, "Video Options") ||
|
||||
!strcmp(label, "Font Options") ||
|
||||
type == MENU_SETTINGS_SHADER_OPTIONS ||
|
||||
!strcmp(label, "Shader Options") ||
|
||||
type == MENU_SETTINGS_SHADER_PARAMETERS ||
|
||||
type == MENU_SETTINGS_SHADER_PRESET_PARAMETERS ||
|
||||
!strcmp(label, "Audio Options") ||
|
||||
|
|
|
@ -441,7 +441,7 @@ int menu_entries_push_list(menu_handle_t *menu,
|
|||
add_setting_entry(menu,list,"Driver Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"General Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"Video Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"Shader Options", MENU_SETTINGS_SHADER_OPTIONS, setting_data);
|
||||
add_setting_entry(menu,list,"Shader Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"Font Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"Audio Options", MENU_FILE_SWITCH, setting_data);
|
||||
add_setting_entry(menu,list,"Input Options", MENU_FILE_SWITCH, setting_data);
|
||||
|
@ -479,6 +479,46 @@ int menu_entries_push_list(menu_handle_t *menu,
|
|||
add_setting_entry(menu,list,"joypad_autoconfig_dir", 0, setting_data);
|
||||
add_setting_entry(menu,list,"extraction_directory", 0, setting_data);
|
||||
}
|
||||
else if (!strcmp(label, "Shader Options"))
|
||||
{
|
||||
struct gfx_shader *shader = (struct gfx_shader*)menu->shader;
|
||||
|
||||
if (!shader)
|
||||
return -1;
|
||||
|
||||
file_list_clear(list);
|
||||
file_list_push(list, "Apply Shader Changes", "shader_apply_changes",
|
||||
MENU_FILE_SWITCH, 0);
|
||||
file_list_push(list, "Default Filter", "",
|
||||
MENU_SETTINGS_SHADER_FILTER, 0);
|
||||
file_list_push(list, "Load Shader Preset", "",
|
||||
MENU_SETTINGS_SHADER_PRESET, 0);
|
||||
file_list_push(list, "Save As Shader Preset", "",
|
||||
MENU_SETTINGS_SHADER_PRESET_SAVE, 0);
|
||||
file_list_push(list, "Parameters (Current)", "",
|
||||
MENU_SETTINGS_SHADER_PARAMETERS, 0);
|
||||
file_list_push(list, "Parameters (Menu)", "",
|
||||
MENU_SETTINGS_SHADER_PRESET_PARAMETERS, 0);
|
||||
file_list_push(list, "Shader Passes", "",
|
||||
MENU_SETTINGS_SHADER_PASSES, 0);
|
||||
|
||||
for (i = 0; i < shader->passes; i++)
|
||||
{
|
||||
char buf[64];
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0 + 3 * i, 0);
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u Filter", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0_FILTER + 3 * i, 0);
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u Scale", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0_SCALE + 3 * i, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (menu_type)
|
||||
|
@ -497,47 +537,6 @@ int menu_entries_push_list(menu_handle_t *menu,
|
|||
shader->parameters[i].desc, "",
|
||||
MENU_SETTINGS_SHADER_PARAMETER_0 + i, 0);
|
||||
menu->parameter_shader = shader;
|
||||
break;
|
||||
}
|
||||
case MENU_SETTINGS_SHADER_OPTIONS:
|
||||
{
|
||||
struct gfx_shader *shader = (struct gfx_shader*)menu->shader;
|
||||
|
||||
if (!shader)
|
||||
return -1;
|
||||
|
||||
file_list_clear(list);
|
||||
file_list_push(list, "Apply Shader Changes", "shader_apply_changes",
|
||||
MENU_FILE_SWITCH, 0);
|
||||
file_list_push(list, "Default Filter", "",
|
||||
MENU_SETTINGS_SHADER_FILTER, 0);
|
||||
file_list_push(list, "Load Shader Preset", "",
|
||||
MENU_SETTINGS_SHADER_PRESET, 0);
|
||||
file_list_push(list, "Save As Shader Preset", "",
|
||||
MENU_SETTINGS_SHADER_PRESET_SAVE, 0);
|
||||
file_list_push(list, "Parameters (Current)", "",
|
||||
MENU_SETTINGS_SHADER_PARAMETERS, 0);
|
||||
file_list_push(list, "Parameters (Menu)", "",
|
||||
MENU_SETTINGS_SHADER_PRESET_PARAMETERS, 0);
|
||||
file_list_push(list, "Shader Passes", "",
|
||||
MENU_SETTINGS_SHADER_PASSES, 0);
|
||||
|
||||
for (i = 0; i < shader->passes; i++)
|
||||
{
|
||||
char buf[64];
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0 + 3 * i, 0);
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u Filter", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0_FILTER + 3 * i, 0);
|
||||
|
||||
snprintf(buf, sizeof(buf), "Shader #%u Scale", i);
|
||||
file_list_push(list, buf, "",
|
||||
MENU_SETTINGS_SHADER_0_SCALE + 3 * i, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENU_SETTINGS_DISK_OPTIONS:
|
||||
|
|
Loading…
Reference in New Issue