mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
(Apple) apple_joypad_ps3/apple_joypad_wii - cleanups
This commit is contained in:
parent
88af50ab82
commit
4b67cf83c8
@ -23,12 +23,9 @@
|
||||
struct hidpad_ps3_data
|
||||
{
|
||||
struct apple_pad_connection* connection;
|
||||
|
||||
uint8_t data[512];
|
||||
|
||||
uint32_t slot;
|
||||
bool have_led;
|
||||
|
||||
uint16_t motors[2];
|
||||
};
|
||||
|
||||
@ -57,6 +54,10 @@ static void hidpad_ps3_send_control(struct hidpad_ps3_data* device)
|
||||
static void* hidpad_ps3_connect(struct apple_pad_connection* connection, uint32_t slot)
|
||||
{
|
||||
struct hidpad_ps3_data* device = (struct hidpad_ps3_data*)calloc(1, sizeof(struct hidpad_ps3_data));
|
||||
|
||||
if (!device)
|
||||
return NULL;
|
||||
|
||||
device->connection = connection;
|
||||
device->slot = slot;
|
||||
|
||||
@ -74,7 +75,8 @@ static void* hidpad_ps3_connect(struct apple_pad_connection* connection, uint32_
|
||||
|
||||
static void hidpad_ps3_disconnect(struct hidpad_ps3_data* device)
|
||||
{
|
||||
free(device);
|
||||
if (device)
|
||||
free(device);
|
||||
}
|
||||
|
||||
static uint32_t hidpad_ps3_get_buttons(struct hidpad_ps3_data* device)
|
||||
|
@ -24,6 +24,9 @@ static void* hidpad_wii_connect(struct apple_pad_connection* connection, uint32_
|
||||
{
|
||||
struct wiimote_t* device = (struct wiimote_t*)calloc(1, sizeof(struct wiimote_t));
|
||||
|
||||
if (!device)
|
||||
return NULL;
|
||||
|
||||
device->connection = connection;
|
||||
device->unid = slot;
|
||||
device->state = WIIMOTE_STATE_CONNECTED;
|
||||
@ -36,7 +39,8 @@ static void* hidpad_wii_connect(struct apple_pad_connection* connection, uint32_
|
||||
|
||||
static void hidpad_wii_disconnect(struct wiimote_t* device)
|
||||
{
|
||||
free(device);
|
||||
if (device)
|
||||
free(device);
|
||||
}
|
||||
|
||||
static int16_t hidpad_wii_get_axis(struct wiimote_t* device, unsigned axis)
|
||||
@ -61,41 +65,35 @@ static int16_t hidpad_wii_get_axis(struct wiimote_t* device, unsigned axis)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void hidpad_wii_packet_handler(struct wiimote_t* device, uint8_t *packet, uint16_t size)
|
||||
static void hidpad_wii_packet_handler(struct wiimote_t* device,
|
||||
uint8_t *packet, uint16_t size)
|
||||
{
|
||||
int i;
|
||||
byte* msg = packet + 2;
|
||||
|
||||
switch (packet[1])
|
||||
{
|
||||
case WM_RPT_BTN:
|
||||
{
|
||||
wiimote_pressed_buttons(device, msg);
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_RPT_READ:
|
||||
{
|
||||
wiimote_pressed_buttons(device, msg);
|
||||
wiimote_handshake(device, WM_RPT_READ, msg + 5, ((msg[2] & 0xF0) >> 4) + 1);
|
||||
wiimote_handshake(device, WM_RPT_READ, msg + 5,
|
||||
((msg[2] & 0xF0) >> 4) + 1);
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_RPT_CTRL_STATUS:
|
||||
{
|
||||
wiimote_pressed_buttons(device, msg);
|
||||
wiimote_handshake(device,WM_RPT_CTRL_STATUS,msg,-1);
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_RPT_BTN_EXP:
|
||||
{
|
||||
wiimote_pressed_buttons(device, msg);
|
||||
wiimote_handle_expansion(device, msg+2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
g_current_input_data.pad_buttons[device->unid] = device->btns | (device->exp.cc.classic.btns << 16);
|
||||
for (int i = 0; i < 4; i ++)
|
||||
g_current_input_data.pad_buttons[device->unid] = device->btns |
|
||||
(device->exp.cc.classic.btns << 16);
|
||||
for (i = 0; i < 4; i++)
|
||||
g_current_input_data.pad_axis[device->unid][i] = hidpad_wii_get_axis(device, i);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user