diff --git a/ControllerUSB/source/Controllers/XboxOneController.cpp b/ControllerUSB/source/Controllers/XboxOneController.cpp index fd4ad03..ab1c554 100644 --- a/ControllerUSB/source/Controllers/XboxOneController.cpp +++ b/ControllerUSB/source/Controllers/XboxOneController.cpp @@ -105,7 +105,6 @@ Status XboxOneController::GetInput() if (S_FAILED(rc)) return rc; } - //TODO: add ack check and send ack report! } return rc; diff --git a/SwitchUSB/include/libnxFix.h b/SwitchUSB/include/libnxFix.h deleted file mode 100644 index 29c4bdf..0000000 --- a/SwitchUSB/include/libnxFix.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once -#include "switch.h" - -//This file exists for the sole purpose of fixing existing libnx bugs while the new release isn't out yet - -//regular usbHsEpClose incorrectly accesses more memory than it should, causing a crash -void usbHsEpCloseFixed(UsbHsClientEpSession *s); diff --git a/SwitchUSB/source/SwitchUSBInterface.cpp b/SwitchUSB/source/SwitchUSBInterface.cpp index a003dd8..4b0868b 100644 --- a/SwitchUSB/source/SwitchUSBInterface.cpp +++ b/SwitchUSB/source/SwitchUSBInterface.cpp @@ -33,12 +33,12 @@ Result SwitchUSBInterface::Open() //we're adjusting appropriately for (int i = 0; i != 15; ++i) { - m_inEndpoints.push_back(std::make_unique(m_session, m_session.inf.inf.output_endpoint_descs[i])); + m_inEndpoints.push_back(std::make_unique(m_session, m_session.inf.inf.input_endpoint_descs[i])); } for (int i = 0; i != 15; ++i) { - m_outEndpoints.push_back(std::make_unique(m_session, m_session.inf.inf.input_endpoint_descs[i])); + m_outEndpoints.push_back(std::make_unique(m_session, m_session.inf.inf.output_endpoint_descs[i])); } } return rc; diff --git a/SwitchUSB/source/libnxFix.cpp b/SwitchUSB/source/libnxFix.cpp deleted file mode 100644 index a4c2ea0..0000000 --- a/SwitchUSB/source/libnxFix.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "libnxFix.h" -#include -#include -#include "malloc.h" - -static Result _usbHsCmdNoIO(Service *s, u64 cmd_id) -{ - IpcCommand c; - ipcInitialize(&c); - - struct Packet - { - u64 magic; - u64 cmd_id; - } * raw; - - raw = static_cast(serviceIpcPrepareHeader(s, &c, sizeof(*raw))); - - raw->magic = SFCI_MAGIC; - raw->cmd_id = cmd_id; - - Result rc = serviceIpcDispatch(s); - - if (R_SUCCEEDED(rc)) - { - IpcParsedCommand r; - struct Reponse - { - u64 magic; - u64 result; - } * resp; - - serviceIpcParse(s, &r, sizeof(*resp)); - resp = static_cast(r.Raw); - - rc = resp->result; - } - - return rc; -} -void usbHsEpCloseFixed(UsbHsClientEpSession *s) -{ - if (!serviceIsActive(&s->s)) - return; - - _usbHsCmdNoIO(&s->s, hosversionAtLeast(2, 0, 0) ? 1 : 3); //Close - - serviceClose(&s->s); - eventClose(&s->eventXfer); - memset(s, 0, sizeof(UsbHsClientEpSession)); -} \ No newline at end of file diff --git a/source/main.cpp b/source/main.cpp index 04e3ba9..1ea082a 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -48,19 +48,19 @@ extern "C" Result rc = 0; rc = hiddbgInitialize(); if (R_FAILED(rc)) - fatalSimple(rc); + fatalThrow(rc); rc = hiddbgAttachHdlsWorkBuffer(); if (R_FAILED(rc)) - fatalSimple(rc); + fatalThrow(rc); rc = usbHsInitialize(); if (R_FAILED(rc)) - fatalSimple(rc); + fatalThrow(rc); rc = usbCommsInitialize(); if (R_FAILED(rc)) - fatalSimple(rc); + fatalThrow(rc); } void __attribute__((weak)) userAppExit(void)