mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-03-06 02:17:04 +00:00
(PS3) Another attempt at 16-bit scaling for analog values -still
broken controls
This commit is contained in:
parent
b34a21be83
commit
3dcb7dd278
@ -245,10 +245,14 @@ static void ps3_input_poll(void *data)
|
||||
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_R2) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_R2) : 0;
|
||||
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_L2) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_L2) : 0;
|
||||
*state_cur |= (state_tmp.button[CELL_PAD_BTN_OFFSET_DIGITAL2] & CELL_PAD_CTRL_L2) ? (1ULL << RETRO_DEVICE_ID_JOYPAD_L2) : 0;
|
||||
int16_t ls_x = (((int16_t)state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_X] * 256) - 32767);
|
||||
int16_t ls_y = (((int16_t)state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_Y] * -256) - 32767);
|
||||
int16_t rs_x = (((int16_t)state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_X] * 256) - 32767);
|
||||
int16_t rs_y = (((int16_t)state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_Y] * -256) - 32767);
|
||||
uint8_t lsx = state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_X];
|
||||
uint8_t lsy = state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_LEFT_Y];
|
||||
uint8_t rsx = state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_X];
|
||||
uint8_t rsy = state_tmp.button[CELL_PAD_BTN_OFFSET_ANALOG_RIGHT_Y];
|
||||
int16_t ls_x = ((lsx - 127) * 256);
|
||||
int16_t ls_y = ((lsy - 127) * 256);
|
||||
int16_t rs_x = ((rsx - 127) * 256);
|
||||
int16_t rs_y = ((rsy - 127) * 256);
|
||||
ps3->analog_state[port][RETRO_DEVICE_INDEX_ANALOG_LEFT ][RETRO_DEVICE_ID_ANALOG_X] = ls_x;
|
||||
ps3->analog_state[port][RETRO_DEVICE_INDEX_ANALOG_LEFT ][RETRO_DEVICE_ID_ANALOG_Y] = ls_y;
|
||||
ps3->analog_state[port][RETRO_DEVICE_INDEX_ANALOG_RIGHT][RETRO_DEVICE_ID_ANALOG_X] = rs_x;
|
||||
|
Loading…
x
Reference in New Issue
Block a user