3
3
namespace nsyshid
4
4
{
5
5
SkylanderXbox360PortalLibusb::SkylanderXbox360PortalLibusb (std::shared_ptr<Device> usbPortal)
6
- : Device(0x1430 , 0x0150 , 1 , 2 , 0 )
6
+ : Device(0x1430 , 0x0150 , 1 , 2 , 0 )
7
7
{
8
8
m_IsOpened = false ;
9
9
m_usbPortal = std::static_pointer_cast<backend::libusb::DeviceLibusb>(usbPortal);
@@ -26,7 +26,7 @@ namespace nsyshid
26
26
27
27
Device::ReadResult SkylanderXbox360PortalLibusb::Read (ReadMessage* message)
28
28
{
29
- std::vector<uint8> xboxData (std::min<uint32>(32 , message->length + sizeof (XBOX_DATA_HEADER)), 0 );
29
+ std::vector<uint8> xboxData (std::min<uint32>(32 , message->length + sizeof (XBOX_DATA_HEADER)));
30
30
memcpy (xboxData.data (), XBOX_DATA_HEADER, sizeof (XBOX_DATA_HEADER));
31
31
memcpy (xboxData.data () + sizeof (XBOX_DATA_HEADER), message->data , message->length - sizeof (XBOX_DATA_HEADER));
32
32
@@ -45,7 +45,7 @@ namespace nsyshid
45
45
if (message->data [0 ] == ' M' && message->data [1 ] == 0x01 ) // Enables Speaker
46
46
g72x_init_state (&m_state);
47
47
48
- std::vector<uint8> xboxData (message->length + sizeof (XBOX_DATA_HEADER), 0 );
48
+ std::vector<uint8> xboxData (message->length + sizeof (XBOX_DATA_HEADER));
49
49
memcpy (xboxData.data (), XBOX_DATA_HEADER, sizeof (XBOX_DATA_HEADER));
50
50
memcpy (xboxData.data () + sizeof (XBOX_DATA_HEADER), message->data , message->length );
51
51
@@ -61,7 +61,7 @@ namespace nsyshid
61
61
{
62
62
std::vector<uint8> audioData (message->data , message->data + message->length );
63
63
64
- std::vector<uint8_t > xboxAudioData;
64
+ std::vector<uint8_t > xboxAudioData (audioData. size () / 4 ) ;
65
65
for (size_t i = 0 ; i < audioData.size (); i += 4 )
66
66
{
67
67
int16_t sample1 = (static_cast <int16_t >(audioData[i + 1 ]) << 8 ) | audioData[i];
@@ -70,10 +70,10 @@ namespace nsyshid
70
70
uint8_t encoded1 = g721_encoder (sample1, &m_state) & 0x0F ;
71
71
uint8_t encoded2 = g721_encoder (sample2, &m_state) & 0x0F ;
72
72
73
- xboxAudioData. push_back ((encoded2 << 4 ) | encoded1);
73
+ xboxAudioData[i / 4 ] = ((encoded2 << 4 ) | encoded1);
74
74
}
75
75
76
- std::vector<uint8> xboxData (xboxAudioData.size () + sizeof (XBOX_AUDIO_DATA_HEADER), 0 );
76
+ std::vector<uint8> xboxData (xboxAudioData.size () + sizeof (XBOX_AUDIO_DATA_HEADER));
77
77
memcpy (xboxData.data (), XBOX_AUDIO_DATA_HEADER, sizeof (XBOX_AUDIO_DATA_HEADER));
78
78
memcpy (xboxData.data () + sizeof (XBOX_AUDIO_DATA_HEADER), xboxAudioData.data (), xboxAudioData.size ());
79
79
@@ -123,32 +123,32 @@ namespace nsyshid
123
123
*(uint16be*)(currentWritePtr + 7 ) = 0x001D ; // wDescriptorLength
124
124
currentWritePtr = currentWritePtr + 9 ;
125
125
// endpoint descriptor 1
126
- *(uint8*)(currentWritePtr + 0 ) = 7 ; // bLength
127
- *(uint8*)(currentWritePtr + 1 ) = 0x05 ; // bDescriptorType
128
- *(uint8*)(currentWritePtr + 2 ) = 0x81 ; // bEndpointAddress
129
- *(uint8*)(currentWritePtr + 3 ) = 0x03 ; // bmAttributes
126
+ *(uint8*)(currentWritePtr + 0 ) = 7 ; // bLength
127
+ *(uint8*)(currentWritePtr + 1 ) = 0x05 ; // bDescriptorType
128
+ *(uint8*)(currentWritePtr + 2 ) = 0x81 ; // bEndpointAddress
129
+ *(uint8*)(currentWritePtr + 3 ) = 0x03 ; // bmAttributes
130
130
*(uint16be*)(currentWritePtr + 4 ) = 0x0040 ; // wMaxPacketSize
131
- *(uint8*)(currentWritePtr + 6 ) = 0x01 ; // bInterval
131
+ *(uint8*)(currentWritePtr + 6 ) = 0x01 ; // bInterval
132
132
currentWritePtr = currentWritePtr + 7 ;
133
133
// endpoint descriptor 2
134
- *(uint8*)(currentWritePtr + 0 ) = 7 ; // bLength
135
- *(uint8*)(currentWritePtr + 1 ) = 0x05 ; // bDescriptorType
136
- *(uint8*)(currentWritePtr + 2 ) = 0x02 ; // bEndpointAddress
137
- *(uint8*)(currentWritePtr + 3 ) = 0x03 ; // bmAttributes
134
+ *(uint8*)(currentWritePtr + 0 ) = 7 ; // bLength
135
+ *(uint8*)(currentWritePtr + 1 ) = 0x05 ; // bDescriptorType
136
+ *(uint8*)(currentWritePtr + 2 ) = 0x02 ; // bEndpointAddress
137
+ *(uint8*)(currentWritePtr + 3 ) = 0x03 ; // bmAttributes
138
138
*(uint16be*)(currentWritePtr + 4 ) = 0x0040 ; // wMaxPacketSize
139
- *(uint8*)(currentWritePtr + 6 ) = 0x01 ; // bInterval
139
+ *(uint8*)(currentWritePtr + 6 ) = 0x01 ; // bInterval
140
140
currentWritePtr = currentWritePtr + 7 ;
141
141
142
142
cemu_assert_debug ((currentWritePtr - configurationDescriptor) == 0x29 );
143
143
144
144
memcpy (output, configurationDescriptor,
145
- std::min<uint32>(outputMaxLength, sizeof (configurationDescriptor)));
145
+ std::min<uint32>(outputMaxLength, sizeof (configurationDescriptor)));
146
146
return true ;
147
147
}
148
148
149
149
bool SkylanderXbox360PortalLibusb::SetIdle (uint8 ifIndex,
150
- uint8 reportId,
151
- uint8 duration)
150
+ uint8 reportId,
151
+ uint8 duration)
152
152
{
153
153
return true ;
154
154
}
@@ -157,4 +157,4 @@ namespace nsyshid
157
157
{
158
158
return true ;
159
159
}
160
- }
160
+ } // namespace nsyshid
0 commit comments