diff options
author | Nick Rivera | 2016-10-10 23:28:37 -0700 |
---|---|---|
committer | Nick Rivera | 2016-10-11 23:36:05 -0700 |
commit | ce098e12475cfe0a40c5be4c3c0913501cb02ecc (patch) | |
tree | a9281b024df60613f16872c8d7d05523ef545202 | |
parent | eaa0324ba9d317f2841baedc11dca6fa7154ab4b (diff) | |
download | pcsx_rearmed-ce098e12475cfe0a40c5be4c3c0913501cb02ecc.tar.gz pcsx_rearmed-ce098e12475cfe0a40c5be4c3c0913501cb02ecc.tar.bz2 pcsx_rearmed-ce098e12475cfe0a40c5be4c3c0913501cb02ecc.zip |
Fixed analog stick ranges to be [0, 255]
-rw-r--r-- | frontend/libretro.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c index bab3060..f9be756 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -1464,6 +1464,11 @@ static void update_variables(bool in_flight) } } +static int min(int a, int b) +{ + return a < b ? a : b; +} + void retro_run(void) { int i; @@ -1489,10 +1494,10 @@ void retro_run(void) if (in_type[i] == PSE_PAD_TYPE_ANALOGPAD) { - in_analog_left[i][0] = (input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_X) / 256) + 128; - in_analog_left[i][1] = (input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_Y) / 256) + 128; - in_analog_right[i][0] = (input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X) / 256) + 128; - in_analog_right[i][1] = (input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y) / 256) + 128; + in_analog_left[i][0] = min((input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_X) / 255) + 128, 255); + in_analog_left[i][1] = min((input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_Y) / 255) + 128, 255); + in_analog_right[i][0] = min((input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_X) / 255) + 128, 255); + in_analog_right[i][1] = min((input_state_cb(i, RETRO_DEVICE_ANALOG, RETRO_DEVICE_INDEX_ANALOG_RIGHT, RETRO_DEVICE_ID_ANALOG_Y) / 255) + 128, 255); } } |