mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-06-06 10:43:16 +00:00
Fix SDL gyro and acceleration sensor handling (#2532)
* Fix sensor handling if they are enabled but an error was thrown regardless * Initialise orientation to a default value + clang
This commit is contained in:
parent
fd3bfdae80
commit
b8aac357cb
4 changed files with 17 additions and 11 deletions
|
@ -315,12 +315,13 @@ int PS4_SYSV_ABI scePadRead(s32 handle, OrbisPadData* pData, s32 num) {
|
|||
pData[i].angularVelocity.x = states[i].angularVelocity.x;
|
||||
pData[i].angularVelocity.y = states[i].angularVelocity.y;
|
||||
pData[i].angularVelocity.z = states[i].angularVelocity.z;
|
||||
pData[i].orientation = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
if (engine) {
|
||||
const auto accel_poll_rate = engine->GetAccelPollRate();
|
||||
if (accel_poll_rate != 0.0f) {
|
||||
const auto gyro_poll_rate = engine->GetAccelPollRate();
|
||||
if (gyro_poll_rate != 0.0f) {
|
||||
GameController::CalculateOrientation(pData[i].acceleration,
|
||||
pData[i].angularVelocity,
|
||||
1.0f / accel_poll_rate, pData[i].orientation);
|
||||
1.0f / gyro_poll_rate, pData[i].orientation);
|
||||
}
|
||||
}
|
||||
pData[i].touchData.touchNum =
|
||||
|
@ -384,11 +385,12 @@ int PS4_SYSV_ABI scePadReadState(s32 handle, OrbisPadData* pData) {
|
|||
pData->angularVelocity.x = state.angularVelocity.x;
|
||||
pData->angularVelocity.y = state.angularVelocity.y;
|
||||
pData->angularVelocity.z = state.angularVelocity.z;
|
||||
pData->orientation = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
if (engine) {
|
||||
const auto accel_poll_rate = engine->GetAccelPollRate();
|
||||
if (accel_poll_rate != 0.0f) {
|
||||
const auto gyro_poll_rate = engine->GetAccelPollRate();
|
||||
if (gyro_poll_rate != 0.0f) {
|
||||
GameController::CalculateOrientation(pData->acceleration, pData->angularVelocity,
|
||||
1.0f / accel_poll_rate, pData->orientation);
|
||||
1.0f / gyro_poll_rate, pData->orientation);
|
||||
}
|
||||
}
|
||||
pData->touchData.touchNum =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue