(Menu) Fix shader parameters

This commit is contained in:
twinaphex 2014-09-05 00:13:50 +02:00
parent dd3c6588ea
commit 7bf45b23e9
3 changed files with 15 additions and 9 deletions

View File

@ -1305,7 +1305,10 @@ static int menu_setting_toggle(unsigned type,
{
struct retro_perf_counter **counters = NULL;
if (menu_common_type_is(label, type) == MENU_SETTINGS_SHADER_OPTIONS)
if ((menu_common_type_is(label, type) == MENU_SETTINGS_SHADER_OPTIONS) ||
!strcmp(label, "video_shader_parameters") ||
!strcmp(label, "video_shader_preset_parameters")
)
{
if (driver.menu_ctx && driver.menu_ctx->backend
&& driver.menu_ctx->backend->shader_manager_setting_toggle)
@ -2207,7 +2210,9 @@ static void menu_common_setting_set_label(char *type_str,
rarch_setting_t *setting = (rarch_setting_t*)setting_data_find_setting(setting_data,
driver.menu->selection_buf->list[index].label);
if (!strcmp(menu_label, "Shader Options")
if ((!strcmp(menu_label, "Shader Options") ||
!strcmp(menu_label, "video_shader_parameters") ||
!strcmp(menu_label, "video_shader_preset_parameters"))
&&
driver.menu_ctx && driver.menu_ctx->backend &&
driver.menu_ctx->backend->shader_manager_get_str

View File

@ -334,11 +334,6 @@ static int menu_common_shader_manager_setting_toggle(
setting_data, "video_smooth")))
menu_common_setting_set_current_boolean(current_setting, action);
}
else if ((!strcmp(label, "video_shader_parameters") ||
!strcmp(label, "video_shader_preset_parameters"))
&& action == MENU_ACTION_OK)
menu_entries_push(driver.menu->menu_stack, "",
"video_shader_parameters", MENU_FILE_SWITCH, driver.menu->selection_ptr);
else if (id >= MENU_SETTINGS_SHADER_PARAMETER_0
&& id <= MENU_SETTINGS_SHADER_PARAMETER_LAST)
{
@ -371,6 +366,11 @@ static int menu_common_shader_manager_setting_toggle(
param->current = min(max(param->minimum, param->current), param->maximum);
}
else if ((!strcmp(label, "video_shader_parameters") ||
!strcmp(label, "video_shader_preset_parameters"))
&& action == MENU_ACTION_OK)
menu_entries_push(driver.menu->menu_stack, "",
"video_shader_parameters", MENU_FILE_SWITCH, driver.menu->selection_ptr);
else if (!strcmp(label, "shader_apply_changes") ||
!strcmp(label, "video_shader_passes"))
menu_setting_set(id, label, action);

View File

@ -35,7 +35,8 @@ static void entries_refresh(file_list_t *list)
static inline struct gfx_shader *shader_manager_get_current_shader(
menu_handle_t *menu, const char *label, unsigned type)
{
if (!strcmp(label, "video_shader_preset_parameters"))
if (!strcmp(label, "video_shader_preset_parameters") ||
!strcmp(label, "video_shader_parameters"))
return menu->shader;
else if (driver.video_poke && driver.video_data &&
driver.video_poke->get_current_shader)
@ -538,7 +539,7 @@ int menu_entries_push_list(menu_handle_t *menu,
if (shader)
for (i = 0; i < shader->num_parameters; i++)
file_list_push(list,
shader->parameters[i].desc, "",
shader->parameters[i].desc, label,
MENU_SETTINGS_SHADER_PARAMETER_0 + i, 0);
menu->parameter_shader = shader;
}