aboutsummaryrefslogtreecommitdiff
path: root/frontend/libretro.c
diff options
context:
space:
mode:
authorTwinaphex2015-04-22 22:31:01 +0200
committerTwinaphex2015-04-22 22:31:01 +0200
commit6d552c5fd9cd5115748aaf0b704aba264eab257b (patch)
treec48f081b5b5395f6387f5c9b010ae4c50df3508f /frontend/libretro.c
parent998ff8f6009ca7a4d8db9039baf239a1931b5e63 (diff)
parent554cc9eb7ebe48f574a6259f933d97a6862c2d72 (diff)
downloadpcsx_rearmed-6d552c5fd9cd5115748aaf0b704aba264eab257b.tar.gz
pcsx_rearmed-6d552c5fd9cd5115748aaf0b704aba264eab257b.tar.bz2
pcsx_rearmed-6d552c5fd9cd5115748aaf0b704aba264eab257b.zip
Merge pull request #17 from jvanderneutstulen/fix-pad2-analog-input
Poll analog inputs of pad2 when it's an analog pad.
Diffstat (limited to 'frontend/libretro.c')
-rw-r--r--frontend/libretro.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c
index acc64a1..3fd5b0a 100644
--- a/frontend/libretro.c
+++ b/frontend/libretro.c
@@ -51,6 +51,7 @@ extern char McdDisable[2];
/* PCSX ReARMed core calls and stuff */
int in_type1, in_type2;
int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 };
+int in_a3[2] = { 127, 127 }, in_a4[2] = { 127, 127 };
int in_keystate;
int in_enable_vibration = 1;
@@ -1125,6 +1126,14 @@ void retro_run(void)
in_a2[1] = (input_state_cb(0, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y) / 256) + 128;
}
+ if (in_type2 == PSE_PAD_TYPE_ANALOGPAD)
+ {
+ in_a3[0] = (input_state_cb(1, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_X) / 256) + 128;
+ in_a3[1] = (input_state_cb(1, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_Y) / 256) + 128;
+ in_a4[0] = (input_state_cb(1, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X) / 256) + 128;
+ in_a4[1] = (input_state_cb(1, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y) / 256) + 128;
+ }
+
stop = 0;
psxCpu->Execute();