mirror of
https://github.com/ndeadly/MissionControl
synced 2025-02-16 21:28:25 +00:00
bluetooth-mitm: change function signature of PackStickData
This commit is contained in:
parent
195c210863
commit
f9a19662b3
17 changed files with 45 additions and 45 deletions
|
@ -75,11 +75,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void Dualshock4Controller::HandleInputReport0x01(const Dualshock4ReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
@ -101,13 +101,13 @@ namespace ams::controller {
|
|||
|
||||
m_battery = static_cast<uint8_t>(8 * (battery_level + 1) / 10) & 0x0e;
|
||||
|
||||
this->PackStickData(&m_left_stick,
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x11.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x11.left_stick.y)) & 0xfff
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x11.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x11.right_stick.y)) & 0xfff
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
||||
this->MapButtons(&src->input0x11.buttons);
|
||||
|
|
|
@ -36,8 +36,8 @@ namespace ams::controller {
|
|||
|
||||
void EmulatedSwitchController::ClearControllerState(void) {
|
||||
std::memset(&m_buttons, 0, sizeof(m_buttons));
|
||||
this->PackStickData(&m_left_stick, STICK_ZERO, STICK_ZERO);
|
||||
this->PackStickData(&m_right_stick, STICK_ZERO, STICK_ZERO);
|
||||
m_left_stick = this->PackStickData(STICK_ZERO, STICK_ZERO);
|
||||
m_right_stick = this->PackStickData(STICK_ZERO, STICK_ZERO);
|
||||
std::memset(&m_motion_data, 0, sizeof(m_motion_data));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@ namespace ams::controller {
|
|||
virtual Result SetVibration(void) { return ams::ResultSuccess(); };
|
||||
virtual Result SetPlayerLed(uint8_t led_mask) { return ams::ResultSuccess(); };
|
||||
|
||||
constexpr void PackStickData(SwitchStickData *stick, uint16_t x, uint16_t y) {
|
||||
*stick = (SwitchStickData){
|
||||
constexpr SwitchStickData PackStickData(uint16_t x, uint16_t y) {
|
||||
return {
|
||||
static_cast<uint8_t>(x & 0xff),
|
||||
static_cast<uint8_t>((x >> 8) | ((y & 0xff) << 4)),
|
||||
static_cast<uint8_t>((y >> 4) & 0xff)
|
||||
|
|
|
@ -45,11 +45,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void GamesirController::HandleInputReport0xc4(const GamesirReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0xc4.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0xc4.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0xc4.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0xc4.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -47,11 +47,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void GamestickController::HandleInputReport0x03(const GamestickReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x03.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x03.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x03.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x03.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -46,11 +46,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void GemboxController::HandleInputReport0x07(const GemboxReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * -static_cast<int8_t>(~src->input0x07.left_stick.x + 1) + 0x7ff) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX + static_cast<int8_t>(~src->input0x07.left_stick.y + 1)) + 0x7ff) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * -static_cast<int8_t>(~src->input0x07.right_stick.x + 1) + 0x7ff) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX + static_cast<int8_t>(~src->input0x07.right_stick.y + 1)) + 0x7ff) & 0xfff
|
||||
);
|
||||
|
|
|
@ -45,11 +45,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void IpegaController::HandleInputReport0x07(const IpegaReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x07.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x07.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x07.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x07.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -41,11 +41,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void MadCatzController::HandleInputReport0x01(const MadCatzReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -41,11 +41,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void MocuteController::HandleInputReport0x01(const MocuteReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
@ -81,11 +81,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void MocuteController::HandleInputReport0x04(const MocuteReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x04.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x04.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x04.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x04.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -41,11 +41,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void NvidiaShieldController::HandleInputReport0x01(const NvidiaShieldReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -45,11 +45,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void OuyaController::HandleInputReport0x07(const OuyaReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x07.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x07.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x07.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x07.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -40,11 +40,11 @@ namespace ams::controller {
|
|||
void PowerAController::HandleInputReport0x03(const PowerAReportData *src) {
|
||||
m_battery = src->input0x03.battery / 52 << 1;
|
||||
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x03.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x03.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x03.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x03.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -38,11 +38,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void RazerController::HandleInputReport0x01(const RazerReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -38,11 +38,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void SteelseriesController::HandleInputReport0x01(const SteelseriesReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * -static_cast<int8_t>(~src->input0x01.left_stick.x + 1) + 0x7ff) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX + static_cast<int8_t>(~src->input0x01.left_stick.y + 1)) + 0x7ff) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * -static_cast<int8_t>(~src->input0x01.right_stick.x + 1) + 0x7ff) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX + static_cast<int8_t>(~src->input0x01.right_stick.y + 1)) + 0x7ff) & 0xfff
|
||||
);
|
||||
|
|
|
@ -221,7 +221,7 @@ namespace ams::controller {
|
|||
void WiiController::MapNunchuckExtension(const uint8_t ext[]) {
|
||||
auto extension = reinterpret_cast<const WiiNunchuckExtensionData *>(ext);
|
||||
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
std::clamp<uint16_t>(static_cast<uint16_t>(nunchuck_stick_scale_factor * (extension->stick_x - 0x80) + STICK_ZERO), 0, 0xfff),
|
||||
std::clamp<uint16_t>(static_cast<uint16_t>(nunchuck_stick_scale_factor * (extension->stick_y - 0x80) + STICK_ZERO), 0, 0xfff)
|
||||
);
|
||||
|
@ -231,11 +231,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void WiiController::MapClassicControllerExtension(const uint8_t ext[]) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(left_stick_scale_factor * ((ext[0] & 0x3f) - 0x20) + STICK_ZERO) & 0xfff,
|
||||
static_cast<uint16_t>(left_stick_scale_factor * ((ext[1] & 0x3f) - 0x20) + STICK_ZERO) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(right_stick_scale_factor * ((((ext[0] >> 3) & 0x18) | ((ext[1] >> 5) & 0x06) | ((ext[2] >> 7) & 0x01)) - 0x10) + STICK_ZERO) & 0xfff,
|
||||
static_cast<uint16_t>(right_stick_scale_factor * ((ext[2] & 0x1f) - 0x10) + STICK_ZERO) & 0xfff
|
||||
);
|
||||
|
@ -266,11 +266,11 @@ namespace ams::controller {
|
|||
void WiiController::MapWiiUProControllerExtension(const uint8_t ext[]) {
|
||||
auto extension = reinterpret_cast<const WiiUProExtensionData *>(ext);
|
||||
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
std::clamp<uint16_t>(((wiiu_scale_factor * (extension->left_stick_x - STICK_ZERO))) + STICK_ZERO, 0, 0xfff),
|
||||
std::clamp<uint16_t>(((wiiu_scale_factor * (extension->left_stick_y - STICK_ZERO))) + STICK_ZERO, 0, 0xfff)
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
std::clamp<uint16_t>(((wiiu_scale_factor * (extension->right_stick_x - STICK_ZERO))) + STICK_ZERO, 0, 0xfff),
|
||||
std::clamp<uint16_t>(((wiiu_scale_factor * (extension->right_stick_y - STICK_ZERO))) + STICK_ZERO, 0, 0xfff)
|
||||
);
|
||||
|
|
|
@ -52,11 +52,11 @@ namespace ams::controller {
|
|||
}
|
||||
|
||||
void XboxOneController::HandleInputReport0x01(const XboxOneReportData *src) {
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x01.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x01.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT16_MAX - src->input0x01.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
|
@ -50,11 +50,11 @@ namespace ams::controller {
|
|||
void XiaomiController::HandleInputReport0x04(const XiaomiReportData *src) {
|
||||
m_battery = src->input0x04.battery / 52 << 1;
|
||||
|
||||
this->PackStickData(&m_left_stick,
|
||||
m_left_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x04.left_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x04.left_stick.y)) & 0xfff
|
||||
);
|
||||
this->PackStickData(&m_right_stick,
|
||||
m_right_stick = this->PackStickData(
|
||||
static_cast<uint16_t>(stick_scale_factor * src->input0x04.right_stick.x) & 0xfff,
|
||||
static_cast<uint16_t>(stick_scale_factor * (UINT8_MAX - src->input0x04.right_stick.y)) & 0xfff
|
||||
);
|
||||
|
|
Loading…
Add table
Reference in a new issue