mirror of
https://github.com/libretro/RetroArch
synced 2025-01-30 21:32:45 +00:00
(Menu) Refactor driver settings
This commit is contained in:
parent
3277ce93dc
commit
4d6835bfad
@ -383,13 +383,13 @@ static void menu_common_entries_init(menu_handle_t *menu, unsigned menu_type)
|
|||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_DRIVERS:
|
case MENU_SETTINGS_DRIVERS:
|
||||||
file_list_clear(menu->selection_buf);
|
file_list_clear(menu->selection_buf);
|
||||||
file_list_push(menu->selection_buf, "Video Driver", "", MENU_SETTINGS_DRIVER_VIDEO, 0);
|
file_list_push(menu->selection_buf, "", "video_driver", MENU_SETTINGS_DRIVER_VIDEO, 0);
|
||||||
file_list_push(menu->selection_buf, "Audio Driver", "", MENU_SETTINGS_DRIVER_AUDIO, 0);
|
file_list_push(menu->selection_buf, "", "audio_driver", MENU_SETTINGS_DRIVER_AUDIO, 0);
|
||||||
file_list_push(menu->selection_buf, "Audio Resampler", "", MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER, 0);
|
file_list_push(menu->selection_buf, "", "audio_resampler_driver", MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER, 0);
|
||||||
file_list_push(menu->selection_buf, "Input Driver", "", MENU_SETTINGS_DRIVER_INPUT, 0);
|
file_list_push(menu->selection_buf, "", "input_driver", MENU_SETTINGS_DRIVER_INPUT, 0);
|
||||||
file_list_push(menu->selection_buf, "Camera Driver", "", MENU_SETTINGS_DRIVER_CAMERA, 0);
|
file_list_push(menu->selection_buf, "", "camera_driver", MENU_SETTINGS_DRIVER_CAMERA, 0);
|
||||||
file_list_push(menu->selection_buf, "Location Driver", "", MENU_SETTINGS_DRIVER_LOCATION, 0);
|
file_list_push(menu->selection_buf, "", "location_driver", MENU_SETTINGS_DRIVER_LOCATION, 0);
|
||||||
file_list_push(menu->selection_buf, "Menu Driver", "", MENU_SETTINGS_DRIVER_MENU, 0);
|
file_list_push(menu->selection_buf, "", "menu_driver", MENU_SETTINGS_DRIVER_MENU, 0);
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_PERFORMANCE_COUNTERS:
|
case MENU_SETTINGS_PERFORMANCE_COUNTERS:
|
||||||
file_list_clear(menu->selection_buf);
|
file_list_clear(menu->selection_buf);
|
||||||
@ -620,44 +620,6 @@ static int menu_info_screen_iterate(unsigned action, rarch_setting_t *setting)
|
|||||||
"relevant for the libretro core itself."
|
"relevant for the libretro core itself."
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_DRIVER_INPUT:
|
|
||||||
if (!strcmp(g_settings.input.driver, "udev"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- udev Input driver. \n"
|
|
||||||
" \n"
|
|
||||||
"This driver can run without X. \n"
|
|
||||||
" \n"
|
|
||||||
"It uses the recent evdev joypad API \n"
|
|
||||||
"for joystick support. It supports \n"
|
|
||||||
"hotplugging and force feedback (if \n"
|
|
||||||
"supported by device). \n"
|
|
||||||
" \n"
|
|
||||||
"The driver reads evdev events for keyboard \n"
|
|
||||||
"support. It also supports keyboard callback, \n"
|
|
||||||
"mice and touchpads. \n"
|
|
||||||
" \n"
|
|
||||||
"By default in most distros, /dev/input nodes \n"
|
|
||||||
"are root-only (mode 600). You can set up a udev \n"
|
|
||||||
"rule which makes these accessible to non-root."
|
|
||||||
);
|
|
||||||
else if (!strcmp(g_settings.input.driver, "linuxraw"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- linuxraw Input driver. \n"
|
|
||||||
" \n"
|
|
||||||
"This driver requires an active TTY. Keyboard \n"
|
|
||||||
"events are read directly from the TTY which \n"
|
|
||||||
"makes it simpler, but not as flexible as udev. \n"
|
|
||||||
"Mice, etc, are not supported at all. \n"
|
|
||||||
" \n"
|
|
||||||
"This driver uses the older joystick API \n"
|
|
||||||
"(/dev/input/js*).");
|
|
||||||
else
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Input driver.\n"
|
|
||||||
" \n"
|
|
||||||
"Depending on video driver, it might \n"
|
|
||||||
"force a different input driver.");
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_PLUS:
|
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_PLUS:
|
||||||
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_MINUS:
|
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_MINUS:
|
||||||
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_PLUS:
|
case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_PLUS:
|
||||||
@ -834,67 +796,6 @@ static int menu_info_screen_iterate(unsigned action, rarch_setting_t *setting)
|
|||||||
snprintf(msg, sizeof(msg),
|
snprintf(msg, sizeof(msg),
|
||||||
" -- Toggles menu.");
|
" -- Toggles menu.");
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_DRIVER_VIDEO:
|
|
||||||
if (!strcmp(g_settings.video.driver, "gl"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- OpenGL Video driver. \n"
|
|
||||||
" \n"
|
|
||||||
"This driver allows libretro GL cores to \n"
|
|
||||||
"be used in addition to software-rendered \n"
|
|
||||||
"core implementations.\n"
|
|
||||||
" \n"
|
|
||||||
"Performance for software-rendered and \n"
|
|
||||||
"libretro GL core implementations is \n"
|
|
||||||
"dependent on your graphics card's \n"
|
|
||||||
"underlying GL driver).");
|
|
||||||
else if (!strcmp(g_settings.video.driver, "sdl2"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- SDL 2 Video driver.\n"
|
|
||||||
" \n"
|
|
||||||
"This is an SDL 2 software-rendered video \n"
|
|
||||||
"driver.\n"
|
|
||||||
" \n"
|
|
||||||
"Performance for software-rendered libretro \n"
|
|
||||||
"core implementations is dependent \n"
|
|
||||||
"on your platform SDL implementation.");
|
|
||||||
else if (!strcmp(g_settings.video.driver, "sdl"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- SDL Video driver.\n"
|
|
||||||
" \n"
|
|
||||||
"This is an SDL 1.2 software-rendered video \n"
|
|
||||||
"driver.\n"
|
|
||||||
" \n"
|
|
||||||
"Performance is considered to be suboptimal. \n"
|
|
||||||
"Consider using it only as a last resort.");
|
|
||||||
else if (!strcmp(g_settings.video.driver, "d3d"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Direct3D Video driver. \n"
|
|
||||||
" \n"
|
|
||||||
"Performance for software-rendered cores \n"
|
|
||||||
"is dependent on your graphic card's \n"
|
|
||||||
"underlying D3D driver).");
|
|
||||||
else if (!strcmp(g_settings.video.driver, "exynos"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Exynos-G2D Video Driver. \n"
|
|
||||||
" \n"
|
|
||||||
"This is a low-level Exynos video driver. \n"
|
|
||||||
"Uses the G2D block in Samsung Exynos SoC \n"
|
|
||||||
"for blit operations. \n"
|
|
||||||
" \n"
|
|
||||||
"Performance for software rendered cores \n"
|
|
||||||
"should be optimal.");
|
|
||||||
else
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Current Video driver.");
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER:
|
|
||||||
if (!strcmp(g_settings.audio.resampler, "sinc"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Windowed SINC implementation.");
|
|
||||||
else if (!strcmp(g_settings.audio.resampler, "CC"))
|
|
||||||
snprintf(msg, sizeof(msg),
|
|
||||||
" -- Convoluted Cosine implementation.");
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_SHADER_0_FILTER + (0 * 3):
|
case MENU_SETTINGS_SHADER_0_FILTER + (0 * 3):
|
||||||
case MENU_SETTINGS_SHADER_0_FILTER + (1 * 3):
|
case MENU_SETTINGS_SHADER_0_FILTER + (1 * 3):
|
||||||
case MENU_SETTINGS_SHADER_0_FILTER + (2 * 3):
|
case MENU_SETTINGS_SHADER_0_FILTER + (2 * 3):
|
||||||
@ -3687,30 +3588,9 @@ static void menu_common_setting_set_label(char *type_str,
|
|||||||
snprintf(type_str, type_str_size,
|
snprintf(type_str, type_str_size,
|
||||||
(g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE)) ? "ON" : "OFF");
|
(g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE)) ? "ON" : "OFF");
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_DRIVER_VIDEO:
|
|
||||||
strlcpy(type_str, g_settings.video.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_AUDIO:
|
|
||||||
strlcpy(type_str, g_settings.audio.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_AUDIO_DEVICE:
|
case MENU_SETTINGS_DRIVER_AUDIO_DEVICE:
|
||||||
strlcpy(type_str, g_settings.audio.device, type_str_size);
|
strlcpy(type_str, g_settings.audio.device, type_str_size);
|
||||||
break;
|
break;
|
||||||
case MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER:
|
|
||||||
strlcpy(type_str, g_settings.audio.resampler, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_INPUT:
|
|
||||||
strlcpy(type_str, g_settings.input.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_CAMERA:
|
|
||||||
strlcpy(type_str, g_settings.camera.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_LOCATION:
|
|
||||||
strlcpy(type_str, g_settings.location.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_DRIVER_MENU:
|
|
||||||
strlcpy(type_str, g_settings.menu.driver, type_str_size);
|
|
||||||
break;
|
|
||||||
#if defined(GEKKO)
|
#if defined(GEKKO)
|
||||||
case MENU_SETTINGS_VIDEO_RESOLUTION:
|
case MENU_SETTINGS_VIDEO_RESOLUTION:
|
||||||
strlcpy(type_str, gx_get_video_mode(), type_str_size);
|
strlcpy(type_str, gx_get_video_mode(), type_str_size);
|
||||||
|
@ -750,6 +750,9 @@ const char *config_get_default_video(void);
|
|||||||
const char *config_get_default_audio(void);
|
const char *config_get_default_audio(void);
|
||||||
const char *config_get_default_audio_resampler(void);
|
const char *config_get_default_audio_resampler(void);
|
||||||
const char *config_get_default_input(void);
|
const char *config_get_default_input(void);
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
const char *config_get_default_menu(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "conf/config_file.h"
|
#include "conf/config_file.h"
|
||||||
bool config_load_file(const char *path, bool set_defaults);
|
bool config_load_file(const char *path, bool set_defaults);
|
||||||
|
109
settings_data.c
109
settings_data.c
@ -604,7 +604,109 @@ void setting_data_get_description(const void *data, char *msg,
|
|||||||
if (!setting)
|
if (!setting)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!strcmp(setting->name, "audio_dsp_plugin"))
|
if (!strcmp(setting->name, "input_driver"))
|
||||||
|
{
|
||||||
|
if (!strcmp(g_settings.input.driver, "udev"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- udev Input driver. \n"
|
||||||
|
" \n"
|
||||||
|
"This driver can run without X. \n"
|
||||||
|
" \n"
|
||||||
|
"It uses the recent evdev joypad API \n"
|
||||||
|
"for joystick support. It supports \n"
|
||||||
|
"hotplugging and force feedback (if \n"
|
||||||
|
"supported by device). \n"
|
||||||
|
" \n"
|
||||||
|
"The driver reads evdev events for keyboard \n"
|
||||||
|
"support. It also supports keyboard callback, \n"
|
||||||
|
"mice and touchpads. \n"
|
||||||
|
" \n"
|
||||||
|
"By default in most distros, /dev/input nodes \n"
|
||||||
|
"are root-only (mode 600). You can set up a udev \n"
|
||||||
|
"rule which makes these accessible to non-root."
|
||||||
|
);
|
||||||
|
else if (!strcmp(g_settings.input.driver, "linuxraw"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- linuxraw Input driver. \n"
|
||||||
|
" \n"
|
||||||
|
"This driver requires an active TTY. Keyboard \n"
|
||||||
|
"events are read directly from the TTY which \n"
|
||||||
|
"makes it simpler, but not as flexible as udev. \n"
|
||||||
|
"Mice, etc, are not supported at all. \n"
|
||||||
|
" \n"
|
||||||
|
"This driver uses the older joystick API \n"
|
||||||
|
"(/dev/input/js*).");
|
||||||
|
else
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Input driver.\n"
|
||||||
|
" \n"
|
||||||
|
"Depending on video driver, it might \n"
|
||||||
|
"force a different input driver.");
|
||||||
|
}
|
||||||
|
else if (!strcmp(setting->name, "audio_resampler_driver"))
|
||||||
|
{
|
||||||
|
if (!strcmp(g_settings.audio.resampler, "sinc"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Windowed SINC implementation.");
|
||||||
|
else if (!strcmp(g_settings.audio.resampler, "CC"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Convoluted Cosine implementation.");
|
||||||
|
}
|
||||||
|
else if (!strcmp(setting->name, "video_driver"))
|
||||||
|
{
|
||||||
|
if (!strcmp(g_settings.video.driver, "gl"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- OpenGL Video driver. \n"
|
||||||
|
" \n"
|
||||||
|
"This driver allows libretro GL cores to \n"
|
||||||
|
"be used in addition to software-rendered \n"
|
||||||
|
"core implementations.\n"
|
||||||
|
" \n"
|
||||||
|
"Performance for software-rendered and \n"
|
||||||
|
"libretro GL core implementations is \n"
|
||||||
|
"dependent on your graphics card's \n"
|
||||||
|
"underlying GL driver).");
|
||||||
|
else if (!strcmp(g_settings.video.driver, "sdl2"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- SDL 2 Video driver.\n"
|
||||||
|
" \n"
|
||||||
|
"This is an SDL 2 software-rendered video \n"
|
||||||
|
"driver.\n"
|
||||||
|
" \n"
|
||||||
|
"Performance for software-rendered libretro \n"
|
||||||
|
"core implementations is dependent \n"
|
||||||
|
"on your platform SDL implementation.");
|
||||||
|
else if (!strcmp(g_settings.video.driver, "sdl"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- SDL Video driver.\n"
|
||||||
|
" \n"
|
||||||
|
"This is an SDL 1.2 software-rendered video \n"
|
||||||
|
"driver.\n"
|
||||||
|
" \n"
|
||||||
|
"Performance is considered to be suboptimal. \n"
|
||||||
|
"Consider using it only as a last resort.");
|
||||||
|
else if (!strcmp(g_settings.video.driver, "d3d"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Direct3D Video driver. \n"
|
||||||
|
" \n"
|
||||||
|
"Performance for software-rendered cores \n"
|
||||||
|
"is dependent on your graphic card's \n"
|
||||||
|
"underlying D3D driver).");
|
||||||
|
else if (!strcmp(g_settings.video.driver, "exynos"))
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Exynos-G2D Video Driver. \n"
|
||||||
|
" \n"
|
||||||
|
"This is a low-level Exynos video driver. \n"
|
||||||
|
"Uses the G2D block in Samsung Exynos SoC \n"
|
||||||
|
"for blit operations. \n"
|
||||||
|
" \n"
|
||||||
|
"Performance for software rendered cores \n"
|
||||||
|
"should be optimal.");
|
||||||
|
else
|
||||||
|
snprintf(msg, sizeof_msg,
|
||||||
|
" -- Current Video driver.");
|
||||||
|
}
|
||||||
|
else if (!strcmp(setting->name, "audio_dsp_plugin"))
|
||||||
snprintf(msg, sizeof_msg,
|
snprintf(msg, sizeof_msg,
|
||||||
" -- Audio DSP plugin.\n"
|
" -- Audio DSP plugin.\n"
|
||||||
" Processes audio before it's sent to \n"
|
" Processes audio before it's sent to \n"
|
||||||
@ -1642,8 +1744,11 @@ rarch_setting_t* setting_data_get_list(void)
|
|||||||
#endif
|
#endif
|
||||||
CONFIG_STRING(g_settings.audio.driver, "audio_driver", "Audio Driver", config_get_default_audio(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.audio.driver, "audio_driver", "Audio Driver", config_get_default_audio(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
CONFIG_STRING(g_settings.audio.resampler, "audio_resampler_driver", "Audio Resampler Driver", config_get_default_audio_resampler(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.audio.resampler, "audio_resampler_driver", "Audio Resampler Driver", config_get_default_audio_resampler(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
CONFIG_STRING(g_settings.camera.device, "camera_device", "Camera Driver", config_get_default_camera(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.camera.driver, "camera_driver", "Camera Driver", config_get_default_camera(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
CONFIG_STRING(g_settings.location.driver, "location_driver", "Location Driver", config_get_default_location(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.location.driver, "location_driver", "Location Driver", config_get_default_location(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
CONFIG_STRING(g_settings.menu.driver, "menu_driver", "Menu Driver", config_get_default_menu(), GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
|
#endif
|
||||||
CONFIG_STRING(g_settings.input.joypad_driver, "input_joypad_driver", "Joypad Driver", "", GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.input.joypad_driver, "input_joypad_driver", "Joypad Driver", "", GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
CONFIG_STRING(g_settings.input.keyboard_layout, "input_keyboard_layout", "Keyboard Layout", "", GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
CONFIG_STRING(g_settings.input.keyboard_layout, "input_keyboard_layout", "Keyboard Layout", "", GROUP_NAME, SUBGROUP_NAME, NULL, NULL)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user