mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(HAVE_OSK/Xbox 1/PS3) Add Xbox 1/PS3/HAVE_OSK-specific additions
to settings
This commit is contained in:
parent
8b561a315e
commit
275789d99f
@ -1794,6 +1794,10 @@ void menu_populate_entries(void *data, unsigned menu_type)
|
||||
file_list_push(rgui->selection_buf, "Default Filter", RGUI_SETTINGS_SHADER_FILTER, 0);
|
||||
file_list_push(rgui->selection_buf, "Load Shader Preset",
|
||||
RGUI_SETTINGS_SHADER_PRESET, 0);
|
||||
#ifdef HAVE_OSK
|
||||
file_list_push(rgui->selection_buf, "Save Shader Preset",
|
||||
RGUI_SETTINGS_SHADER_PRESET_SAVE, 0);
|
||||
#endif
|
||||
file_list_push(rgui->selection_buf, "Shader Passes",
|
||||
RGUI_SETTINGS_SHADER_PASSES, 0);
|
||||
|
||||
@ -1832,6 +1836,10 @@ void menu_populate_entries(void *data, unsigned menu_type)
|
||||
#ifdef HW_RVL
|
||||
file_list_push(rgui->selection_buf, "VI Trap filtering", RGUI_SETTINGS_VIDEO_SOFT_FILTER, 0);
|
||||
file_list_push(rgui->selection_buf, "Gamma", RGUI_SETTINGS_VIDEO_GAMMA, 0);
|
||||
#endif
|
||||
#ifdef _XBOX1
|
||||
file_list_push(rgui->selection_buf, "Soft filtering", RRGUI_SETTINGS_SOFT_DISPLAY_FILTER, 0);
|
||||
file_list_push(rgui->selection_buf, "Flicker filtering", RGUI_SETTINGS_FLICKER_FILTER, 0);
|
||||
#endif
|
||||
file_list_push(rgui->selection_buf, "Integer Scale", RGUI_SETTINGS_VIDEO_INTEGER_SCALE, 0);
|
||||
file_list_push(rgui->selection_buf, "Aspect Ratio", RGUI_SETTINGS_VIDEO_ASPECT_RATIO, 0);
|
||||
|
@ -66,6 +66,8 @@ typedef enum
|
||||
RGUI_SETTINGS_VIDEO_PAL60,
|
||||
RGUI_SETTINGS_VIDEO_FILTER,
|
||||
RGUI_SETTINGS_VIDEO_SOFT_FILTER,
|
||||
RGUI_SETTINGS_FLICKER_FILTER,
|
||||
RGUI_SETTINGS_SOFT_DISPLAY_FILTER,
|
||||
RGUI_SETTINGS_VIDEO_GAMMA,
|
||||
RGUI_SETTINGS_VIDEO_INTEGER_SCALE,
|
||||
RGUI_SETTINGS_VIDEO_ASPECT_RATIO,
|
||||
@ -93,6 +95,7 @@ typedef enum
|
||||
RGUI_SETTINGS_SHADER_0_FILTER,
|
||||
RGUI_SETTINGS_SHADER_0_SCALE,
|
||||
RGUI_SETTINGS_SHADER_LAST = RGUI_SETTINGS_SHADER_0_SCALE + (3 * (RGUI_MAX_SHADERS - 1)),
|
||||
RGUI_SETTINGS_SHADER_PRESET_SAVE,
|
||||
|
||||
// settings options are done here too
|
||||
RGUI_SETTINGS_OPEN_FILEBROWSER,
|
||||
|
@ -325,6 +325,56 @@ static bool osk_callback_enter_rsound_init(void *data)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool osk_callback_enter_filename(void *data)
|
||||
{
|
||||
if (!driver.osk)
|
||||
return false;
|
||||
|
||||
if (g_extern.lifecycle_state & (1ULL << MODE_OSK_ENTRY_SUCCESS))
|
||||
{
|
||||
RARCH_LOG("OSK - Applying input data.\n");
|
||||
char tmp_str[256];
|
||||
char filepath[PATH_MAX];
|
||||
int num = wcstombs(tmp_str, driver.osk->get_text_buf(driver.osk_data), sizeof(tmp_str));
|
||||
tmp_str[num] = 0;
|
||||
|
||||
fill_pathname_join(filepath, g_settings.video.shader_dir, tmp_str, sizeof(filepath));
|
||||
strlcat(filepath, ".cgp", sizeof(filepath));
|
||||
RARCH_LOG("[osk_callback_enter_filename]: filepath is: %s.\n", filepath);
|
||||
config_file_t *conf = config_file_new(NULL);
|
||||
if (!conf)
|
||||
return false;
|
||||
gfx_shader_write_conf_cgp(conf, &rgui->shader);
|
||||
config_file_write(conf, filepath);
|
||||
config_file_free(conf);
|
||||
goto do_exit;
|
||||
}
|
||||
else if (g_extern.lifecycle_state & (1ULL << MODE_OSK_ENTRY_FAIL))
|
||||
goto do_exit;
|
||||
|
||||
return false;
|
||||
do_exit:
|
||||
g_extern.lifecycle_state &= ~((1ULL << MODE_OSK_ENTRY_SUCCESS) |
|
||||
(1ULL << MODE_OSK_ENTRY_FAIL));
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool osk_callback_enter_filename_init(void *data)
|
||||
{
|
||||
if (!driver.osk)
|
||||
return false;
|
||||
|
||||
if (driver.osk->write_initial_msg)
|
||||
driver.osk->write_initial_msg(driver.osk_data, L"Save Preset");
|
||||
if (driver.osk->write_msg)
|
||||
driver.osk->write_msg(driver.osk_data, L"Enter filename for preset.");
|
||||
if (driver.osk->start)
|
||||
driver.osk->start(driver.osk_data);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
int menu_set_settings(void *data, unsigned setting, unsigned action)
|
||||
@ -1419,6 +1469,49 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef _XBOX1
|
||||
case RGUI_SETTINGS_FLICKER_FILTER:
|
||||
switch (action)
|
||||
{
|
||||
case RGUI_ACTION_LEFT:
|
||||
if (g_extern.console.screen.flicker_filter_index > 0)
|
||||
g_extern.console.screen.flicker_filter_index--;
|
||||
break;
|
||||
case RGUI_ACTION_RIGHT:
|
||||
if (g_extern.console.screen.flicker_filter_index < 5)
|
||||
g_extern.console.screen.flicker_filter_index++;
|
||||
break;
|
||||
case RGUI_ACTION_START:
|
||||
g_extern.console.screen.flicker_filter_index = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case RGUI_SETTINGS_SOFT_DISPLAY_FILTER:
|
||||
switch (action)
|
||||
{
|
||||
case RGUI_ACTION_LEFT:
|
||||
case RGUI_ACTION_RIGHT:
|
||||
case RGUI_ACTION_OK:
|
||||
if (g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE))
|
||||
g_extern.lifecycle_state &= ~(1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE);
|
||||
else
|
||||
g_extern.lifecycle_state |= (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE);
|
||||
break;
|
||||
case RGUI_ACTION_START:
|
||||
g_extern.lifecycle_state |= (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case RGUI_SETTINGS_SHADER_PRESET_SAVE:
|
||||
if (action == RGUI_ACTION_OK)
|
||||
{
|
||||
#ifdef HAVE_OSK
|
||||
g_extern.osk.cb_init = osk_callback_enter_filename_init;
|
||||
g_extern.osk.cb_callback = osk_callback_enter_filename;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -1633,6 +1726,7 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
|
||||
case RGUI_SETTINGS_SHADER_OPTIONS:
|
||||
case RGUI_SETTINGS_SHADER_PRESET:
|
||||
#endif
|
||||
case RGUI_SETTINGS_SHADER_PRESET_SAVE:
|
||||
case RGUI_SETTINGS_CORE:
|
||||
case RGUI_SETTINGS_DISK_APPEND:
|
||||
case RGUI_SETTINGS_INPUT_OPTIONS:
|
||||
@ -1743,6 +1837,15 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
|
||||
case RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS:
|
||||
strlcpy(type_str, g_settings.audio.device, type_str_size);
|
||||
break;
|
||||
#ifdef _XBOX1
|
||||
case RGUI_SETTINGS_FLICKER_FILTER:
|
||||
snprintf(type_str, sizeof(type_str), "%d", g_extern.console.screen.flicker_filter_index);
|
||||
break;
|
||||
case RGUI_SETTINGS_SOFT_DISPLAY_FILTER:
|
||||
snprintf(type_str, sizeof(type_str),
|
||||
(g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE)) ? "ON" : "OFF");
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
type_str[0] = 0;
|
||||
*w = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user