mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-27 03:31:49 +01:00
[libretro] fixed MD Mouse Y-axis & added support for XE-1AP second stick (bi-directional)
This commit is contained in:
parent
d5e0a78d93
commit
bb1984a12d
@ -222,7 +222,7 @@ void osd_input_update(void)
|
|||||||
case DEVICE_MOUSE:
|
case DEVICE_MOUSE:
|
||||||
{
|
{
|
||||||
input.analog[i][0] = input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X);
|
input.analog[i][0] = input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X);
|
||||||
input.analog[i][1] = input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y);
|
input.analog[i][1] = -input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y);
|
||||||
|
|
||||||
if (input.analog[i][0] < -255)
|
if (input.analog[i][0] < -255)
|
||||||
input.analog[i][0] = -255;
|
input.analog[i][0] = -255;
|
||||||
@ -266,7 +266,7 @@ void osd_input_update(void)
|
|||||||
|
|
||||||
case DEVICE_PADDLE:
|
case DEVICE_PADDLE:
|
||||||
{
|
{
|
||||||
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, 0, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
||||||
|
|
||||||
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B))
|
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B))
|
||||||
temp |= INPUT_BUTTON1;
|
temp |= INPUT_BUTTON1;
|
||||||
@ -279,8 +279,8 @@ void osd_input_update(void)
|
|||||||
|
|
||||||
case DEVICE_SPORTSPAD:
|
case DEVICE_SPORTSPAD:
|
||||||
{
|
{
|
||||||
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, 0, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
||||||
input.analog[i][1] = (input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y) + 0x8000) >> 8;
|
input.analog[i][1] = (input_state_cb(player, RETRO_DEVICE_ANALOG, 0, RETRO_DEVICE_ID_ANALOG_Y) + 0x8000) >> 8;
|
||||||
|
|
||||||
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B))
|
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B))
|
||||||
temp |= INPUT_BUTTON1;
|
temp |= INPUT_BUTTON1;
|
||||||
@ -344,8 +344,18 @@ void osd_input_update(void)
|
|||||||
|
|
||||||
case DEVICE_XE_1AP:
|
case DEVICE_XE_1AP:
|
||||||
{
|
{
|
||||||
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, 0, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
int rx = input.analog[i][0] = input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X);
|
||||||
input.analog[i][1] = (input_state_cb(player, RETRO_DEVICE_ANALOG, 0, RETRO_DEVICE_ID_ANALOG_Y) + 0x8000) >> 8;
|
int ry = input.analog[i][1] = input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y);
|
||||||
|
if (abs(rx) > abs(ry))
|
||||||
|
{
|
||||||
|
input.analog[i+1][0] = (rx + 0x8000) >> 8;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
input.analog[i+1][0] = (0x7fff - ry) >> 8;
|
||||||
|
}
|
||||||
|
input.analog[i][0] = (input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_X) + 0x8000) >> 8;
|
||||||
|
input.analog[i][1] = (input_state_cb(player, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_Y) + 0x8000) >> 8;
|
||||||
|
|
||||||
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R))
|
if (input_state_cb(player, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R))
|
||||||
temp |= INPUT_XE_A;
|
temp |= INPUT_XE_A;
|
||||||
|
Loading…
Reference in New Issue
Block a user