(360) Small change to input D-pad emulation logic

This commit is contained in:
twinaphex 2012-08-22 13:50:07 +02:00
parent 3c10e191f9
commit 077c3a6469
2 changed files with 7 additions and 8 deletions

View File

@ -268,12 +268,10 @@ HRESULT CRetroArchControls::OnControlNavigate(
case DPAD_EMULATION_NONE:
break;
case DPAD_EMULATION_LSTICK:
g_settings.input.dpad_emulation[controlno] = DPAD_EMULATION_NONE;
input_xinput.set_analog_dpad_mapping(0, g_settings.input.dpad_emulation[controlno], controlno);
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, controlno);
break;
case DPAD_EMULATION_RSTICK:
g_settings.input.dpad_emulation[controlno] = DPAD_EMULATION_LSTICK;
input_xinput.set_analog_dpad_mapping(0, g_settings.input.dpad_emulation[controlno], controlno);
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
break;
}
break;
@ -294,12 +292,10 @@ HRESULT CRetroArchControls::OnControlNavigate(
switch(g_settings.input.dpad_emulation[controlno])
{
case DPAD_EMULATION_NONE:
g_settings.input.dpad_emulation[controlno] = DPAD_EMULATION_LSTICK;
input_xinput.set_analog_dpad_mapping(0, g_settings.input.dpad_emulation[controlno], controlno);
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, controlno);
break;
case DPAD_EMULATION_LSTICK:
g_settings.input.dpad_emulation[controlno] = DPAD_EMULATION_RSTICK;
input_xinput.set_analog_dpad_mapping(0, g_settings.input.dpad_emulation[controlno], controlno);
input_xinput.set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, controlno);
break;
case DPAD_EMULATION_RSTICK:
break;

View File

@ -254,18 +254,21 @@ static void xinput_input_set_analog_dpad_mapping(unsigned device, unsigned map_d
switch(map_dpad_enum)
{
case DPAD_EMULATION_NONE:
g_settings.input.dpad_emulation[controller_id] = DPAD_EMULATION_NONE;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_UP].joykey = platform_keys[XDK_DEVICE_ID_JOYPAD_UP].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_DOWN].joykey = platform_keys[XDK_DEVICE_ID_JOYPAD_DOWN].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_LEFT].joykey = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_RIGHT].joykey = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT].joykey;
break;
case DPAD_EMULATION_LSTICK:
g_settings.input.dpad_emulation[controller_id] = DPAD_EMULATION_LSTICK;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_UP].joykey = platform_keys[XDK_DEVICE_ID_LSTICK_UP_DPAD].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_DOWN].joykey = platform_keys[XDK_DEVICE_ID_LSTICK_DOWN_DPAD].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_LEFT].joykey = platform_keys[XDK_DEVICE_ID_LSTICK_LEFT_DPAD].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_RIGHT].joykey = platform_keys[XDK_DEVICE_ID_LSTICK_RIGHT_DPAD].joykey;
break;
case DPAD_EMULATION_RSTICK:
g_settings.input.dpad_emulation[controller_id] = DPAD_EMULATION_RSTICK;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_UP].joykey = platform_keys[XDK_DEVICE_ID_RSTICK_UP_DPAD].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_DOWN].joykey = platform_keys[XDK_DEVICE_ID_RSTICK_DOWN_DPAD].joykey;
g_settings.input.binds[controller_id][RETRO_DEVICE_ID_JOYPAD_LEFT].joykey = platform_keys[XDK_DEVICE_ID_RSTICK_LEFT_DPAD].joykey;