summaryrefslogtreecommitdiffstats
path: root/src/input_common/gcadapter
diff options
context:
space:
mode:
authorAmeer <aj662@drexel.edu>2020-06-30 23:28:02 +0200
committerAmeer <aj662@drexel.edu>2020-06-30 23:28:02 +0200
commita76e11e7f0c97222388bede03325aa71f1434510 (patch)
treeb1af57677dabe161da2e6a596d752c880ea1769f /src/input_common/gcadapter
parentfix implicit conversion of size_t type to int (diff)
downloadyuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar.gz
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar.bz2
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar.lz
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar.xz
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.tar.zst
yuzu-a76e11e7f0c97222388bede03325aa71f1434510.zip
Diffstat (limited to 'src/input_common/gcadapter')
-rw-r--r--src/input_common/gcadapter/gc_adapter.cpp28
-rw-r--r--src/input_common/gcadapter/gc_poller.cpp17
2 files changed, 21 insertions, 24 deletions
diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp
index b509b3e46..b98b85441 100644
--- a/src/input_common/gcadapter/gc_adapter.cpp
+++ b/src/input_common/gcadapter/gc_adapter.cpp
@@ -45,13 +45,13 @@ GCPadStatus Adapter::GetPadStatus(int port, const std::array<u8, 37>& adapter_pa
const u8 b1 = adapter_payload[1 + (9 * port) + 1];
const u8 b2 = adapter_payload[1 + (9 * port) + 2];
- for (int i = 0; i < b1_buttons.size(); i++) {
+ for (std::size_t i = 0; i < b1_buttons.size(); ++i) {
if (b1 & (1 << i)) {
pad.button |= static_cast<u16>(b1_buttons[i]);
}
}
- for (int j = 0; j < b2_buttons.size(); j++) {
+ for (std::size_t j = 0; j < b2_buttons.size(); ++j) {
if (b2 & (1 << j)) {
pad.button |= static_cast<u16>(b2_buttons[j]);
}
@@ -73,7 +73,7 @@ GCPadStatus Adapter::GetPadStatus(int port, const std::array<u8, 37>& adapter_pa
void Adapter::PadToState(const GCPadStatus& pad, GCState& state) {
for (const auto& button : PadButtonArray) {
- u16 button_value = static_cast<u16>(button);
+ const u16 button_value = static_cast<u16>(button);
state.buttons.insert_or_assign(button_value, pad.button & button_value);
}
@@ -86,7 +86,7 @@ void Adapter::PadToState(const GCPadStatus& pad, GCState& state) {
}
void Adapter::Read() {
- LOG_INFO(Input, "GC Adapter Read() thread started");
+ LOG_DEBUG(Input, "GC Adapter Read() thread started");
int payload_size_in, payload_size_copy;
std::array<u8, 37> adapter_payload;
@@ -109,12 +109,10 @@ void Adapter::Read() {
LOG_ERROR(Input, "error reading payload (size: %d, type: %02x)", payload_size_copy,
adapter_payload_copy[0]);
adapter_thread_running = false; // error reading from adapter, stop reading.
- } else {
- for (int port = 0; port < pads.size(); port++) {
- pads[port] = GetPadStatus(port, adapter_payload_copy);
- }
+ break;
}
- for (int port = 0; port < pads.size(); port++) {
+ for (std::size_t port = 0; port < pads.size(); ++port) {
+ pads[port] = GetPadStatus(port, adapter_payload_copy);
if (DeviceConnected(port) && configuring) {
if (pads[port].button != PAD_GET_ORIGIN) {
pad_queue[port].Push(pads[port]);
@@ -189,14 +187,16 @@ void Adapter::Setup() {
adapter_controllers_status.fill(ControllerTypes::None);
- libusb_device** devs; // pointer to list of connected usb devices
+ // pointer to list of connected usb devices
+ libusb_device** devices;
- const std::size_t cnt = libusb_get_device_list(libusb_ctx, &devs); // get the list of devices
+ // populate the list of devices, get the count
+ const std::size_t device_count = libusb_get_device_list(libusb_ctx, &devices);
- for (int i = 0; i < cnt; i++) {
- if (CheckDeviceAccess(devs[i])) {
+ for (std::size_t index = 0; index < device_count; ++index) {
+ if (CheckDeviceAccess(devices[index])) {
// GC Adapter found and accessible, registering it
- GetGCEndpoint(devs[i]);
+ GetGCEndpoint(devices[index]);
break;
}
}
diff --git a/src/input_common/gcadapter/gc_poller.cpp b/src/input_common/gcadapter/gc_poller.cpp
index 06e16880f..a9de9fedf 100644
--- a/src/input_common/gcadapter/gc_poller.cpp
+++ b/src/input_common/gcadapter/gc_poller.cpp
@@ -39,9 +39,9 @@ public:
bool GetStatus() const override {
const float axis_value = (gcadapter->GetPadState()[port].axes.at(axis) - 128.0f) / 128.0f;
if (trigger_if_greater) {
- return axis_value > 0.10f; // TODO(ameerj) : Fix threshold.
+ return axis_value > threshold; // TODO(ameerj) : Fix threshold.
}
- return axis_value < -0.10f;
+ return axis_value < -threshold;
}
private:
@@ -87,16 +87,13 @@ Common::ParamPackage GCButtonFactory::GetNextInput() {
Common::ParamPackage params;
GCAdapter::GCPadStatus pad;
auto& queue = adapter->GetPadQueue();
- for (int port = 0; port < queue.size(); port++) {
+ for (std::size_t port = 0; port < queue.size(); ++port) {
while (queue[port].Pop(pad)) {
// This while loop will break on the earliest detected button
params.Set("engine", "gcpad");
- params.Set("port", port);
- // I was debating whether to keep these verbose for ease of reading
- // or to use a while loop shifting the bits to test and set the value.
-
- for (auto button : GCAdapter::PadButtonArray) {
- u16 button_value = static_cast<u16>(button);
+ params.Set("port", static_cast<int>(port));
+ for (const auto& button : GCAdapter::PadButtonArray) {
+ const u16 button_value = static_cast<u16>(button);
if (pad.button & button_value) {
params.Set("button", button_value);
break;
@@ -228,7 +225,7 @@ void GCAnalogFactory::EndConfiguration() {
Common::ParamPackage GCAnalogFactory::GetNextInput() {
GCAdapter::GCPadStatus pad;
auto& queue = adapter->GetPadQueue();
- for (int port = 0; port < queue.size(); port++) {
+ for (std::size_t port = 0; port < queue.size(); ++port) {
while (queue[port].Pop(pad)) {
if (pad.axis == GCAdapter::PadAxes::Undefined ||
std::abs((pad.axis_value - 128.0f) / 128.0f) < 0.1) {