mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-07-04 14:26:20 +12:00
Fix name formatting
This commit is contained in:
parent
2a0661f968
commit
cee16d8cf2
3 changed files with 25 additions and 23 deletions
|
@ -25,6 +25,7 @@ void CirclePadPro::receivePayload(Payload payload) {
|
|||
}
|
||||
|
||||
case CPPRequestID::ReadCalibrationData: {
|
||||
// Data from https://github.com/azahar-emu/azahar/blob/f8b8b6e53cf518a53c0ae5f0201660c1250c0393/src/core/hle/service/ir/extra_hid.cpp#L73
|
||||
static constexpr std::array<u8, 0x40> calibrationData = {
|
||||
0x00, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F, 0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0xF5, 0xFF, 0x00, 0x08, 0x80, 0x85, 0xEB,
|
||||
0x11, 0x3F, 0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0x65, 0xFF, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F, 0x85, 0xEB, 0x11, 0x3F,
|
||||
|
@ -32,10 +33,10 @@ void CirclePadPro::receivePayload(Payload payload) {
|
|||
};
|
||||
|
||||
struct ReadCalibrationDataRequest {
|
||||
u8 requestID;
|
||||
u8 expectedResponseTime;
|
||||
u16_le offset;
|
||||
u16_le size;
|
||||
u8 requestID; // Always CPPRequestID::ReadCalibrationData for this command
|
||||
u8 unknown;
|
||||
u16_le offset; // Offset in calibration data to read from
|
||||
u16_le size; // Bytes in calibration data to read
|
||||
};
|
||||
static_assert(sizeof(ReadCalibrationDataRequest) == 6, "ReadCalibrationDataRequest has wrong size");
|
||||
|
||||
|
@ -47,16 +48,17 @@ void CirclePadPro::receivePayload(Payload payload) {
|
|||
ReadCalibrationDataRequest request;
|
||||
std::memcpy(&request, payload.data(), sizeof(request));
|
||||
|
||||
const u16 offset = request.offset & ~0xF;
|
||||
const u16 size = request.size & ~0xF;
|
||||
// Get the offset and size for the calibration data read. Bottom 4 bits are ignored, aligning reads to 16 bytes
|
||||
const auto offset = usize(request.offset & ~0xF);
|
||||
const auto size = usize(request.size & ~0xF);
|
||||
|
||||
if (static_cast<std::size_t>(offset + size) > calibrationData.size()) {
|
||||
if (offset + size > calibrationData.size()) {
|
||||
Helpers::warn("IR::ReadCalibrationData: Read beyond the end of calibration data!!");
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<u8> response(5 + size);
|
||||
response[0] = static_cast<u8>(CPPResponseID::ReadCalibrationData);
|
||||
std::vector<u8> response(size + 5);
|
||||
response[0] = CPPResponseID::ReadCalibrationData;
|
||||
std::memcpy(&response[1], &request.offset, sizeof(request.offset));
|
||||
std::memcpy(&response[3], &request.size, sizeof(request.size));
|
||||
std::memcpy(&response[5], calibrationData.data() + offset, size);
|
||||
|
|
|
@ -621,24 +621,24 @@ void MainWindow::pollControllers() {
|
|||
|
||||
const s16 l2 = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_TRIGGERLEFT);
|
||||
const s16 r2 = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_TRIGGERRIGHT);
|
||||
const s16 cstickX = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTX);
|
||||
const s16 cstickY = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTY);
|
||||
const s16 cStickX = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTX);
|
||||
const s16 cStickY = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTY);
|
||||
|
||||
hid.setKey(HID::Keys::ZL, l2 > triggerThreshold);
|
||||
hid.setKey(HID::Keys::ZR, r2 > triggerThreshold);
|
||||
|
||||
// Update C-Stick
|
||||
// To convert from SDL coordinates, ie [-32768, 32767] to [-2048, 2047] we just divide by 8
|
||||
if (std::abs(cstickX) < deadzone) {
|
||||
// Update C-Stick
|
||||
// To convert from SDL coordinates, ie [-32768, 32767] to [-2048, 2047] we just divide by 8
|
||||
if (std::abs(cStickX) < deadzone) {
|
||||
hid.setCStickX(IR::CirclePadPro::ButtonState::C_STICK_CENTER);
|
||||
} else {
|
||||
hid.setCStickX(cstickX / 8);
|
||||
hid.setCStickX(cStickX / 8);
|
||||
}
|
||||
|
||||
if (std::abs(cstickY) < deadzone) {
|
||||
if (std::abs(cStickY) < deadzone) {
|
||||
hid.setCStickY(IR::CirclePadPro::ButtonState::C_STICK_CENTER);
|
||||
} else {
|
||||
hid.setCStickY(-(cstickY / 8));
|
||||
hid.setCStickY(-(cStickY / 8));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -429,24 +429,24 @@ void FrontendSDL::run() {
|
|||
|
||||
const s16 l2 = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_TRIGGERLEFT);
|
||||
const s16 r2 = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_TRIGGERRIGHT);
|
||||
const s16 cstickX = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTX);
|
||||
const s16 cstickY = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTY);
|
||||
const s16 cStickX = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTX);
|
||||
const s16 cStickY = SDL_GameControllerGetAxis(gameController, SDL_CONTROLLER_AXIS_RIGHTY);
|
||||
|
||||
hid.setKey(HID::Keys::ZL, l2 > triggerThreshold);
|
||||
hid.setKey(HID::Keys::ZR, r2 > triggerThreshold);
|
||||
|
||||
// Update C-Stick
|
||||
// To convert from SDL coordinates, ie [-32768, 32767] to [-2048, 2047] we just divide by 8
|
||||
if (std::abs(cstickX) < deadzone) {
|
||||
if (std::abs(cStickX) < deadzone) {
|
||||
hid.setCStickX(IR::CirclePadPro::ButtonState::C_STICK_CENTER);
|
||||
} else {
|
||||
hid.setCStickX(cstickX / 8);
|
||||
hid.setCStickX(cStickX / 8);
|
||||
}
|
||||
|
||||
if (std::abs(cstickY) < deadzone) {
|
||||
if (std::abs(cStickY) < deadzone) {
|
||||
hid.setCStickY(IR::CirclePadPro::ButtonState::C_STICK_CENTER);
|
||||
} else {
|
||||
hid.setCStickY(-(cstickY / 8));
|
||||
hid.setCStickY(-(cStickY / 8));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue