Rewrite general_read_handler

This commit is contained in:
twinaphex 2016-06-16 14:35:53 +02:00
parent 88112c5732
commit 992adbc2d4

View File

@ -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;
}
} }
} }