mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-06-04 23:15:00 -06:00
process motion controls for all controllers, not just the first one
This commit is contained in:
parent
4421ee155d
commit
11294dae16
@ -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);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user