Get rid of more strcmps
This commit is contained in:
parent
0a056da584
commit
7682a0d082
|
@ -20,6 +20,38 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MENU_LABEL_LOG_VERBOSITY 0x6648c96dU
|
||||
|
||||
#define MENU_LABEL_AUDIO_VOLUME 0x502173aeU
|
||||
#define MENU_LABEL_AUDIO_LATENCY 0x32695386U
|
||||
|
||||
#define MENU_LABEL_NETPLAY_DELAY_FRAMES 0x86b2c48dU
|
||||
#define MENU_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE 0x6f9a9440U
|
||||
#define MENU_LABEL_NETPLAY_IP_ADDRESS 0xac9a53ffU
|
||||
#define MENU_LABEL_NETPLAY_MODE 0xc1cf6506U
|
||||
|
||||
#define MENU_LABEL_PAL60_ENABLE 0x62bc416eU
|
||||
#define MENU_LABEL_SYSTEM_BGM_ENABLE 0x9287a1c5U
|
||||
|
||||
#define MENU_LABEL_FASTFORWARD_RATIO 0x3a0c2706U
|
||||
#define MENU_LABEL_VIDEO_MONITOR_INDEX 0xb6fcdc9aU
|
||||
#define MENU_LABEL_VIDEO_REFRESH_RATE_AUTO 0x9addb6cdU
|
||||
#define MENU_LABEL_VIDEO_ROTATION 0x4ce6882bU
|
||||
#define MENU_LABEL_VIDEO_SCALE 0x09835d63U
|
||||
#define MENU_LABEL_VIDEO_SMOOTH 0x3aabbb35U
|
||||
#define MENU_LABEL_VIDEO_CROP_OVERSCAN 0x861f7a2fU
|
||||
#define MENU_LABEL_VIDEO_SCALE_INTEGER 0x65c4b090U
|
||||
|
||||
#define MENU_LABEL_AUDIO_RATE_CONTROL_DELTA 0xc8bde3cbU
|
||||
#define MENU_LABEL_AUDIO_MAX_TIMING_SKEW 0x4c96f75cU
|
||||
|
||||
#define MENU_LABEL_INPUT_PLAYER1_JOYPAD_INDEX 0xfad6ab2fU
|
||||
#define MENU_LABEL_INPUT_PLAYER2_JOYPAD_INDEX 0x3616e4d0U
|
||||
#define MENU_LABEL_INPUT_PLAYER3_JOYPAD_INDEX 0x71571e71U
|
||||
#define MENU_LABEL_INPUT_PLAYER4_JOYPAD_INDEX 0xac975812U
|
||||
#define MENU_LABEL_INPUT_PLAYER5_JOYPAD_INDEX 0xe7d791b3U
|
||||
|
||||
#define MENU_LABEL_LIBRETRO_DIR_PATH 0x1af1eb72U
|
||||
|
||||
#define MENU_LABEL_AUDIO_DEVICE 0x2574eac6U
|
||||
|
||||
|
@ -71,6 +103,9 @@ extern "C" {
|
|||
#define MENU_VALUE_HORIZONTAL_MENU 0x35761704U
|
||||
#define MENU_VALUE_MAIN_MENU 0x1625971fU
|
||||
|
||||
#define MENU_VALUE_TRUE 0x7c9e9fe5U
|
||||
#define MENU_VALUE_FALSE 0x0f6bcef0U
|
||||
|
||||
#define MENU_LABEL_CONTENT_ACTIONS 0xa0d76970U
|
||||
#define MENU_LABEL_DETECT_CORE_LIST 0xaa07c341U
|
||||
#define MENU_LABEL_LOAD_CONTENT 0x5745de1fU
|
||||
|
|
|
@ -2462,6 +2462,92 @@ static int setting_get_description_compare_label(uint32_t label_hash,
|
|||
"This will take a performance hit, \n"
|
||||
"so it is disabled by default.");
|
||||
break;
|
||||
case MENU_LABEL_LIBRETRO_DIR_PATH:
|
||||
snprintf(s, len,
|
||||
" -- Core Directory. \n"
|
||||
" \n"
|
||||
"A directory for where to search for \n"
|
||||
"libretro core implementations.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
||||
snprintf(s, len,
|
||||
" -- Refresh Rate Auto.\n"
|
||||
" \n"
|
||||
"The accurate refresh rate of our monitor (Hz).\n"
|
||||
"This is used to calculate audio input rate with \n"
|
||||
"the formula: \n"
|
||||
" \n"
|
||||
"audio_input_rate = game input rate * display \n"
|
||||
"refresh rate / game refresh rate\n"
|
||||
" \n"
|
||||
"If the implementation does not report any \n"
|
||||
"values, NTSC defaults will be assumed for \n"
|
||||
"compatibility.\n"
|
||||
" \n"
|
||||
"This value should stay close to 60Hz to avoid \n"
|
||||
"large pitch changes. If your monitor does \n"
|
||||
"not run at 60Hz, or something close to it, \n"
|
||||
"disable VSync, and leave this at its default.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_ROTATION:
|
||||
snprintf(s, len,
|
||||
" -- Forces a certain rotation \n"
|
||||
"of the screen.\n"
|
||||
" \n"
|
||||
"The rotation is added to rotations which\n"
|
||||
"the libretro core sets (see Video Allow\n"
|
||||
"Rotate).");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_SCALE:
|
||||
snprintf(s, len,
|
||||
" -- Fullscreen resolution.\n"
|
||||
" \n"
|
||||
"Resolution of 0 uses the \n"
|
||||
"resolution of the environment.\n");
|
||||
break;
|
||||
case MENU_LABEL_FASTFORWARD_RATIO:
|
||||
snprintf(s, len,
|
||||
" -- Fastforward ratio."
|
||||
" \n"
|
||||
"The maximum rate at which content will\n"
|
||||
"be run when using fast forward.\n"
|
||||
" \n"
|
||||
" (E.g. 5.0 for 60 fps content => 300 fps \n"
|
||||
"cap).\n"
|
||||
" \n"
|
||||
"RetroArch will go to sleep to ensure that \n"
|
||||
"the maximum rate will not be exceeded.\n"
|
||||
"Do not rely on this cap to be perfectly \n"
|
||||
"accurate.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_MONITOR_INDEX:
|
||||
snprintf(s, len,
|
||||
" -- Which monitor to prefer.\n"
|
||||
" \n"
|
||||
"0 (default) means no particular monitor \n"
|
||||
"is preferred, 1 and up (1 being first \n"
|
||||
"monitor), suggests RetroArch to use that \n"
|
||||
"particular monitor.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_CROP_OVERSCAN:
|
||||
snprintf(s, len,
|
||||
" -- Forces cropping of overscanned \n"
|
||||
"frames.\n"
|
||||
" \n"
|
||||
"Exact behavior of this option is \n"
|
||||
"core-implementation specific.");
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_SCALE_INTEGER:
|
||||
snprintf(s, len,
|
||||
" -- Only scales video in integer \n"
|
||||
"steps.\n"
|
||||
" \n"
|
||||
"The base size depends on system-reported \n"
|
||||
"geometry and aspect ratio.\n"
|
||||
" \n"
|
||||
"If Force Aspect is not set, X/Y will be \n"
|
||||
"integer scaled independently.");
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
@ -2490,15 +2576,7 @@ int setting_get_description(const char *label, char *s,
|
|||
if (setting_get_description_compare_label(label_hash, settings, s, len) == 0)
|
||||
return 0;
|
||||
|
||||
if (!strcmp(label, "libretro_dir_path"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Core Directory. \n"
|
||||
" \n"
|
||||
"A directory for where to search for \n"
|
||||
"libretro core implementations.");
|
||||
}
|
||||
else if (!strcmp(label, "video_disable_composition"))
|
||||
if (!strcmp(label, "video_disable_composition"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"-- Forcibly disable composition.\n"
|
||||
|
@ -2542,14 +2620,6 @@ int setting_get_description(const char *label, char *s,
|
|||
" -- Load up a specific config file \n"
|
||||
"based on the core being used.\n");
|
||||
}
|
||||
else if (!strcmp(label, "video_scale"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Fullscreen resolution.\n"
|
||||
" \n"
|
||||
"Resolution of 0 uses the \n"
|
||||
"resolution of the environment.\n");
|
||||
}
|
||||
else if (!strcmp(label, "video_vsync"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
|
@ -2644,47 +2714,6 @@ int setting_get_description(const char *label, char *s,
|
|||
"possible cost of latency and more video \n"
|
||||
"stuttering.");
|
||||
}
|
||||
else if (!strcmp(label, "video_scale_integer"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Only scales video in integer \n"
|
||||
"steps.\n"
|
||||
" \n"
|
||||
"The base size depends on system-reported \n"
|
||||
"geometry and aspect ratio.\n"
|
||||
" \n"
|
||||
"If Force Aspect is not set, X/Y will be \n"
|
||||
"integer scaled independently.");
|
||||
}
|
||||
else if (!strcmp(label, "video_crop_overscan"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Forces cropping of overscanned \n"
|
||||
"frames.\n"
|
||||
" \n"
|
||||
"Exact behavior of this option is \n"
|
||||
"core-implementation specific.");
|
||||
}
|
||||
else if (!strcmp(label, "video_monitor_index"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Which monitor to prefer.\n"
|
||||
" \n"
|
||||
"0 (default) means no particular monitor \n"
|
||||
"is preferred, 1 and up (1 being first \n"
|
||||
"monitor), suggests RetroArch to use that \n"
|
||||
"particular monitor.");
|
||||
}
|
||||
else if (!strcmp(label, "video_rotation"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Forces a certain rotation \n"
|
||||
"of the screen.\n"
|
||||
" \n"
|
||||
"The rotation is added to rotations which\n"
|
||||
"the libretro core sets (see Video Allow\n"
|
||||
"Rotate).");
|
||||
}
|
||||
else if (!strcmp(label, "audio_volume"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
|
@ -2702,22 +2731,6 @@ int setting_get_description(const char *label, char *s,
|
|||
" \n"
|
||||
"Might potentially lead to buggy games.");
|
||||
}
|
||||
else if (!strcmp(label, "fastforward_ratio"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Fastforward ratio."
|
||||
" \n"
|
||||
"The maximum rate at which content will\n"
|
||||
"be run when using fast forward.\n"
|
||||
" \n"
|
||||
" (E.g. 5.0 for 60 fps content => 300 fps \n"
|
||||
"cap).\n"
|
||||
" \n"
|
||||
"RetroArch will go to sleep to ensure that \n"
|
||||
"the maximum rate will not be exceeded.\n"
|
||||
"Do not rely on this cap to be perfectly \n"
|
||||
"accurate.");
|
||||
}
|
||||
else if (!strcmp(label, "pause_nonactive"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
|
@ -2746,27 +2759,6 @@ int setting_get_description(const char *label, char *s,
|
|||
"Uses a custom swap interval for VSync. Set this \n"
|
||||
"to effectively halve monitor refresh rate.");
|
||||
}
|
||||
else if (!strcmp(label, "video_refresh_rate_auto"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
" -- Refresh Rate Auto.\n"
|
||||
" \n"
|
||||
"The accurate refresh rate of our monitor (Hz).\n"
|
||||
"This is used to calculate audio input rate with \n"
|
||||
"the formula: \n"
|
||||
" \n"
|
||||
"audio_input_rate = game input rate * display \n"
|
||||
"refresh rate / game refresh rate\n"
|
||||
" \n"
|
||||
"If the implementation does not report any \n"
|
||||
"values, NTSC defaults will be assumed for \n"
|
||||
"compatibility.\n"
|
||||
" \n"
|
||||
"This value should stay close to 60Hz to avoid \n"
|
||||
"large pitch changes. If your monitor does \n"
|
||||
"not run at 60Hz, or something close to it, \n"
|
||||
"disable VSync, and leave this at its default.");
|
||||
}
|
||||
else if (!strcmp(label, "savefile_directory"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
|
@ -3057,38 +3049,48 @@ static void general_read_handler(void *data)
|
|||
{
|
||||
rarch_setting_t *setting = (rarch_setting_t*)data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
uint32_t hash = setting ? djb2_calculate(setting->name) : 0;
|
||||
|
||||
if (!setting)
|
||||
return;
|
||||
|
||||
if (!strcmp(setting->name, "audio_rate_control_delta"))
|
||||
switch (hash)
|
||||
{
|
||||
*setting->value.fraction = settings->audio.rate_control_delta;
|
||||
if (*setting->value.fraction < 0.0005)
|
||||
{
|
||||
settings->audio.rate_control = false;
|
||||
settings->audio.rate_control_delta = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->audio.rate_control = true;
|
||||
settings->audio.rate_control_delta = *setting->value.fraction;
|
||||
}
|
||||
case MENU_LABEL_AUDIO_RATE_CONTROL_DELTA:
|
||||
*setting->value.fraction = settings->audio.rate_control_delta;
|
||||
if (*setting->value.fraction < 0.0005)
|
||||
{
|
||||
settings->audio.rate_control = false;
|
||||
settings->audio.rate_control_delta = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->audio.rate_control = true;
|
||||
settings->audio.rate_control_delta = *setting->value.fraction;
|
||||
}
|
||||
break;
|
||||
case MENU_LABEL_AUDIO_MAX_TIMING_SKEW:
|
||||
*setting->value.fraction = settings->audio.max_timing_skew;
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
||||
*setting->value.fraction = settings->video.refresh_rate;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER1_JOYPAD_INDEX:
|
||||
*setting->value.integer = settings->input.joypad_map[0];
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER2_JOYPAD_INDEX:
|
||||
*setting->value.integer = settings->input.joypad_map[1];
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER3_JOYPAD_INDEX:
|
||||
*setting->value.integer = settings->input.joypad_map[2];
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER4_JOYPAD_INDEX:
|
||||
*setting->value.integer = settings->input.joypad_map[3];
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER5_JOYPAD_INDEX:
|
||||
*setting->value.integer = settings->input.joypad_map[4];
|
||||
break;
|
||||
}
|
||||
else if (!strcmp(setting->name, "audio_max_timing_skew"))
|
||||
*setting->value.fraction = settings->audio.max_timing_skew;
|
||||
else if (!strcmp(setting->name, "video_refresh_rate_auto"))
|
||||
*setting->value.fraction = settings->video.refresh_rate;
|
||||
else if (!strcmp(setting->name, "input_player1_joypad_index"))
|
||||
*setting->value.integer = settings->input.joypad_map[0];
|
||||
else if (!strcmp(setting->name, "input_player2_joypad_index"))
|
||||
*setting->value.integer = settings->input.joypad_map[1];
|
||||
else if (!strcmp(setting->name, "input_player3_joypad_index"))
|
||||
*setting->value.integer = settings->input.joypad_map[2];
|
||||
else if (!strcmp(setting->name, "input_player4_joypad_index"))
|
||||
*setting->value.integer = settings->input.joypad_map[3];
|
||||
else if (!strcmp(setting->name, "input_player5_joypad_index"))
|
||||
*setting->value.integer = settings->input.joypad_map[4];
|
||||
}
|
||||
|
||||
static void general_write_handler(void *data)
|
||||
|
@ -3099,6 +3101,8 @@ static void general_write_handler(void *data)
|
|||
settings_t *settings = config_get_ptr();
|
||||
driver_t *driver = driver_get_ptr();
|
||||
global_t *global = global_get_ptr();
|
||||
menu_list_t *menu_list = menu_list_get_ptr();
|
||||
uint32_t hash = setting ? djb2_calculate(setting->name) : 0;
|
||||
|
||||
if (!setting)
|
||||
return;
|
||||
|
@ -3115,125 +3119,129 @@ static void general_write_handler(void *data)
|
|||
rarch_cmd = setting->cmd_trigger.idx;
|
||||
}
|
||||
|
||||
if (!strcmp(setting->name, "help"))
|
||||
switch (hash)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
case MENU_LABEL_HELP:
|
||||
if (!menu_list)
|
||||
return;
|
||||
|
||||
if (!menu || !menu->menu_list)
|
||||
return;
|
||||
if (*setting->value.boolean)
|
||||
{
|
||||
info.list = menu_list->menu_stack;
|
||||
info.type = 0;
|
||||
info.directory_ptr = 0;
|
||||
strlcpy(info.label, "help", sizeof(info.label));
|
||||
|
||||
if (*setting->value.boolean)
|
||||
{
|
||||
info.list = menu->menu_list->menu_stack;
|
||||
info.type = 0;
|
||||
info.directory_ptr = 0;
|
||||
strlcpy(info.label, "help", sizeof(info.label));
|
||||
menu_displaylist_push_list(&info, DISPLAYLIST_GENERIC);
|
||||
setting_set_with_string_representation(setting, "false");
|
||||
}
|
||||
break;
|
||||
case MENU_LABEL_AUDIO_MAX_TIMING_SKEW:
|
||||
settings->audio.max_timing_skew = *setting->value.fraction;
|
||||
break;
|
||||
case MENU_LABEL_AUDIO_RATE_CONTROL_DELTA:
|
||||
if (*setting->value.fraction < 0.0005)
|
||||
{
|
||||
settings->audio.rate_control = false;
|
||||
settings->audio.rate_control_delta = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->audio.rate_control = true;
|
||||
settings->audio.rate_control_delta = *setting->value.fraction;
|
||||
}
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
||||
if (driver->video && driver->video_data)
|
||||
{
|
||||
driver_set_refresh_rate(*setting->value.fraction);
|
||||
|
||||
menu_displaylist_push_list(&info, DISPLAYLIST_GENERIC);
|
||||
setting_set_with_string_representation(setting, "false");
|
||||
}
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_smooth"))
|
||||
{
|
||||
video_driver_set_filtering(1, settings->video.smooth);
|
||||
}
|
||||
else if (!strcmp(setting->name, "pal60_enable"))
|
||||
{
|
||||
if (*setting->value.boolean && global->console.screen.pal_enable)
|
||||
rarch_cmd = EVENT_CMD_REINIT;
|
||||
else
|
||||
setting_set_with_string_representation(setting, "false");
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_rotation"))
|
||||
{
|
||||
video_driver_set_rotation(
|
||||
/* In case refresh rate update forced non-block video. */
|
||||
rarch_cmd = EVENT_CMD_VIDEO_SET_BLOCKING_STATE;
|
||||
}
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_SCALE:
|
||||
settings->video.scale = roundf(*setting->value.fraction);
|
||||
|
||||
if (!settings->video.fullscreen)
|
||||
rarch_cmd = EVENT_CMD_REINIT;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER1_JOYPAD_INDEX:
|
||||
settings->input.joypad_map[0] = *setting->value.integer;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER2_JOYPAD_INDEX:
|
||||
settings->input.joypad_map[1] = *setting->value.integer;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER3_JOYPAD_INDEX:
|
||||
settings->input.joypad_map[2] = *setting->value.integer;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER4_JOYPAD_INDEX:
|
||||
settings->input.joypad_map[3] = *setting->value.integer;
|
||||
break;
|
||||
case MENU_LABEL_INPUT_PLAYER5_JOYPAD_INDEX:
|
||||
settings->input.joypad_map[4] = *setting->value.integer;
|
||||
break;
|
||||
case MENU_LABEL_LOG_VERBOSITY:
|
||||
global->verbosity = *setting->value.boolean;
|
||||
global->has_set_verbosity = *setting->value.boolean;
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_SMOOTH:
|
||||
video_driver_set_filtering(1, settings->video.smooth);
|
||||
break;
|
||||
case MENU_LABEL_VIDEO_ROTATION:
|
||||
video_driver_set_rotation(
|
||||
(*setting->value.unsigned_integer +
|
||||
global->system.rotation) % 4);
|
||||
}
|
||||
else if (!strcmp(setting->name, "system_bgm_enable"))
|
||||
{
|
||||
if (*setting->value.boolean)
|
||||
{
|
||||
break;
|
||||
case MENU_LABEL_AUDIO_VOLUME:
|
||||
audio_driver_set_volume_gain(db_to_gain(*setting->value.fraction));
|
||||
break;
|
||||
case MENU_LABEL_AUDIO_LATENCY:
|
||||
rarch_cmd = EVENT_CMD_AUDIO_REINIT;
|
||||
break;
|
||||
case MENU_LABEL_PAL60_ENABLE:
|
||||
if (*setting->value.boolean && global->console.screen.pal_enable)
|
||||
rarch_cmd = EVENT_CMD_REINIT;
|
||||
else
|
||||
setting_set_with_string_representation(setting, "false");
|
||||
break;
|
||||
case MENU_LABEL_SYSTEM_BGM_ENABLE:
|
||||
if (*setting->value.boolean)
|
||||
{
|
||||
#if defined(__CELLOS_LV2__) && (CELL_SDK_VERSION > 0x340000)
|
||||
cellSysutilEnableBgmPlayback();
|
||||
cellSysutilEnableBgmPlayback();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(__CELLOS_LV2__) && (CELL_SDK_VERSION > 0x340000)
|
||||
cellSysutilDisableBgmPlayback();
|
||||
cellSysutilDisableBgmPlayback();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if (!strcmp(setting->name, "audio_volume"))
|
||||
{
|
||||
audio_driver_set_volume_gain(db_to_gain(*setting->value.fraction));
|
||||
}
|
||||
else if (!strcmp(setting->name, "audio_latency"))
|
||||
rarch_cmd = EVENT_CMD_AUDIO_REINIT;
|
||||
else if (!strcmp(setting->name, "audio_rate_control_delta"))
|
||||
{
|
||||
if (*setting->value.fraction < 0.0005)
|
||||
{
|
||||
settings->audio.rate_control = false;
|
||||
settings->audio.rate_control_delta = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->audio.rate_control = true;
|
||||
settings->audio.rate_control_delta = *setting->value.fraction;
|
||||
}
|
||||
}
|
||||
else if (!strcmp(setting->name, "audio_max_timing_skew"))
|
||||
settings->audio.max_timing_skew = *setting->value.fraction;
|
||||
else if (!strcmp(setting->name, "video_refresh_rate_auto"))
|
||||
{
|
||||
if (driver->video && driver->video_data)
|
||||
{
|
||||
driver_set_refresh_rate(*setting->value.fraction);
|
||||
|
||||
/* In case refresh rate update forced non-block video. */
|
||||
rarch_cmd = EVENT_CMD_VIDEO_SET_BLOCKING_STATE;
|
||||
}
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_scale"))
|
||||
{
|
||||
settings->video.scale = roundf(*setting->value.fraction);
|
||||
|
||||
if (!settings->video.fullscreen)
|
||||
rarch_cmd = EVENT_CMD_REINIT;
|
||||
}
|
||||
else if (!strcmp(setting->name, "input_player1_joypad_index"))
|
||||
settings->input.joypad_map[0] = *setting->value.integer;
|
||||
else if (!strcmp(setting->name, "input_player2_joypad_index"))
|
||||
settings->input.joypad_map[1] = *setting->value.integer;
|
||||
else if (!strcmp(setting->name, "input_player3_joypad_index"))
|
||||
settings->input.joypad_map[2] = *setting->value.integer;
|
||||
else if (!strcmp(setting->name, "input_player4_joypad_index"))
|
||||
settings->input.joypad_map[3] = *setting->value.integer;
|
||||
else if (!strcmp(setting->name, "input_player5_joypad_index"))
|
||||
settings->input.joypad_map[4] = *setting->value.integer;
|
||||
}
|
||||
break;
|
||||
case MENU_LABEL_NETPLAY_IP_ADDRESS:
|
||||
#ifdef HAVE_NETPLAY
|
||||
else if (!strcmp(setting->name, "netplay_ip_address"))
|
||||
global->has_set_netplay_ip_address = (setting->value.string[0] != '\0');
|
||||
else if (!strcmp(setting->name, "netplay_mode"))
|
||||
{
|
||||
if (!global->netplay_is_client)
|
||||
*global->netplay_server = '\0';
|
||||
global->has_set_netplay_mode = true;
|
||||
}
|
||||
else if (!strcmp(setting->name, "netplay_spectator_mode_enable"))
|
||||
{
|
||||
if (global->netplay_is_spectate)
|
||||
*global->netplay_server = '\0';
|
||||
}
|
||||
else if (!strcmp(setting->name, "netplay_delay_frames"))
|
||||
global->has_set_netplay_delay_frames = (global->netplay_sync_frames > 0);
|
||||
global->has_set_netplay_ip_address = (setting->value.string[0] != '\0');
|
||||
#endif
|
||||
else if (!strcmp(setting->name, "log_verbosity"))
|
||||
{
|
||||
global->verbosity = *setting->value.boolean;
|
||||
global->has_set_verbosity = *setting->value.boolean;
|
||||
break;
|
||||
case MENU_LABEL_NETPLAY_MODE:
|
||||
#ifdef HAVE_NETPLAY
|
||||
if (!global->netplay_is_client)
|
||||
*global->netplay_server = '\0';
|
||||
global->has_set_netplay_mode = true;
|
||||
#endif
|
||||
break;
|
||||
case MENU_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
|
||||
#ifdef HAVE_NETPLAY
|
||||
if (global->netplay_is_spectate)
|
||||
*global->netplay_server = '\0';
|
||||
#endif
|
||||
break;
|
||||
case MENU_LABEL_NETPLAY_DELAY_FRAMES:
|
||||
#ifdef HAVE_NETPLAY
|
||||
global->has_set_netplay_delay_frames = (global->netplay_sync_frames > 0);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
if (rarch_cmd || setting->cmd_trigger.triggered)
|
||||
|
|
Loading…
Reference in New Issue