mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Rewrite general_read_handler
This commit is contained in:
parent
88112c5732
commit
992adbc2d4
@ -2972,48 +2972,51 @@ void general_read_handler(void *data)
|
|||||||
{
|
{
|
||||||
rarch_setting_t *setting = (rarch_setting_t*)data;
|
rarch_setting_t *setting = (rarch_setting_t*)data;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
uint32_t hash = setting ? menu_hash_calculate(setting->name) : 0;
|
|
||||||
|
|
||||||
if (!setting)
|
if (!setting)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (setting->enum_idx != MENU_ENUM_LABEL_UNKNOWN)
|
||||||
switch (hash)
|
|
||||||
{
|
{
|
||||||
case MENU_LABEL_AUDIO_RATE_CONTROL_DELTA:
|
switch (setting->enum_idx)
|
||||||
*setting->value.target.fraction = settings->audio.rate_control_delta;
|
{
|
||||||
if (*setting->value.target.fraction < 0.0005)
|
case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
|
||||||
{
|
*setting->value.target.fraction = settings->audio.rate_control_delta;
|
||||||
settings->audio.rate_control = false;
|
if (*setting->value.target.fraction < 0.0005)
|
||||||
settings->audio.rate_control_delta = 0.0;
|
{
|
||||||
}
|
settings->audio.rate_control = false;
|
||||||
else
|
settings->audio.rate_control_delta = 0.0;
|
||||||
{
|
}
|
||||||
settings->audio.rate_control = true;
|
else
|
||||||
settings->audio.rate_control_delta = *setting->value.target.fraction;
|
{
|
||||||
}
|
settings->audio.rate_control = true;
|
||||||
break;
|
settings->audio.rate_control_delta = *setting->value.target.fraction;
|
||||||
case MENU_LABEL_AUDIO_MAX_TIMING_SKEW:
|
}
|
||||||
*setting->value.target.fraction = settings->audio.max_timing_skew;
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
|
||||||
case MENU_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
*setting->value.target.fraction = settings->audio.max_timing_skew;
|
||||||
*setting->value.target.fraction = settings->video.refresh_rate;
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
||||||
case MENU_LABEL_INPUT_PLAYER1_JOYPAD_INDEX:
|
*setting->value.target.fraction = settings->video.refresh_rate;
|
||||||
*setting->value.target.integer = settings->input.joypad_map[0];
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_INPUT_PLAYER1_JOYPAD_INDEX:
|
||||||
case MENU_LABEL_INPUT_PLAYER2_JOYPAD_INDEX:
|
*setting->value.target.integer = settings->input.joypad_map[0];
|
||||||
*setting->value.target.integer = settings->input.joypad_map[1];
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_INPUT_PLAYER2_JOYPAD_INDEX:
|
||||||
case MENU_LABEL_INPUT_PLAYER3_JOYPAD_INDEX:
|
*setting->value.target.integer = settings->input.joypad_map[1];
|
||||||
*setting->value.target.integer = settings->input.joypad_map[2];
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_INPUT_PLAYER3_JOYPAD_INDEX:
|
||||||
case MENU_LABEL_INPUT_PLAYER4_JOYPAD_INDEX:
|
*setting->value.target.integer = settings->input.joypad_map[2];
|
||||||
*setting->value.target.integer = settings->input.joypad_map[3];
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_INPUT_PLAYER4_JOYPAD_INDEX:
|
||||||
case MENU_LABEL_INPUT_PLAYER5_JOYPAD_INDEX:
|
*setting->value.target.integer = settings->input.joypad_map[3];
|
||||||
*setting->value.target.integer = settings->input.joypad_map[4];
|
break;
|
||||||
break;
|
case MENU_ENUM_LABEL_INPUT_PLAYER5_JOYPAD_INDEX:
|
||||||
|
*setting->value.target.integer = settings->input.joypad_map[4];
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user