process motion controls for all controllers, not just the first one

This commit is contained in:
kalaposfos13 2026-02-15 18:27:00 +01:00
parent 4421ee155d
commit 11294dae16

View File

@ -322,22 +322,20 @@ int ProcessStates(s32 handle, OrbisPadData* pData, Input::GameController& contro
pData[i].angularVelocity.z = states[i].angularVelocity.z; pData[i].angularVelocity.z = states[i].angularVelocity.z;
pData[i].orientation = {0.0f, 0.0f, 0.0f, 1.0f}; pData[i].orientation = {0.0f, 0.0f, 0.0f, 1.0f};
if (handle == 1) { const auto gyro_poll_rate = controller.accel_poll_rate;
const auto gyro_poll_rate = controller.accel_poll_rate; if (gyro_poll_rate != 0.0f) {
if (gyro_poll_rate != 0.0f) { auto now = std::chrono::steady_clock::now();
auto now = std::chrono::steady_clock::now(); float deltaTime = std::chrono::duration_cast<std::chrono::microseconds>(
float deltaTime = std::chrono::duration_cast<std::chrono::microseconds>( now - controller.GetLastUpdate())
now - controller.GetLastUpdate()) .count() /
.count() / 1000000.0f;
1000000.0f; controller.SetLastUpdate(now);
controller.SetLastUpdate(now); Libraries::Pad::OrbisFQuaternion lastOrientation = controller.GetLastOrientation();
Libraries::Pad::OrbisFQuaternion lastOrientation = controller.GetLastOrientation(); Libraries::Pad::OrbisFQuaternion outputOrientation = {0.0f, 0.0f, 0.0f, 1.0f};
Libraries::Pad::OrbisFQuaternion outputOrientation = {0.0f, 0.0f, 0.0f, 1.0f}; GameController::CalculateOrientation(pData->acceleration, pData->angularVelocity,
GameController::CalculateOrientation(pData->acceleration, pData->angularVelocity, deltaTime, lastOrientation, outputOrientation);
deltaTime, lastOrientation, outputOrientation); pData[i].orientation = outputOrientation;
pData[i].orientation = outputOrientation; controller.SetLastOrientation(outputOrientation);
controller.SetLastOrientation(outputOrientation);
}
} }
pData[i].touchData.touchNum = pData[i].touchData.touchNum =
(states[i].touchpad[0].state ? 1 : 0) + (states[i].touchpad[1].state ? 1 : 0); (states[i].touchpad[0].state ? 1 : 0) + (states[i].touchpad[1].state ? 1 : 0);