mirror of
https://github.com/DrBeef/RTCWQuest.git
synced 2025-03-03 15:41:11 +00:00
fix: cleaned up backpack detection code
This commit is contained in:
parent
d1bfb6e9a2
commit
dc4eea6895
1 changed files with 5 additions and 5 deletions
|
@ -300,18 +300,18 @@ void HandleInput_Default( ovrInputStateGamepad *pFootTrackingNew, ovrInputStateG
|
|||
if (bpTrackOk && (bpDistToHMDOk = distanceToHMD >= 0.2 && distanceToHMD <= 0.35) // 2) Weapon-to-HMD distance must be within <0.2-0.35> range
|
||||
&& (bpWeaponHeightOk = vr.current_weaponoffset[1] >= -0.10 && vr.current_weaponoffset[1] <= 0.10)) // 3) Weapon height in relation to HMD must be within <-0.10, 0.10> range
|
||||
{
|
||||
AngleVectors(&vr.hmdorientation, &hmdForwardXY, NULL, NULL);
|
||||
AngleVectors(&vr.weaponangles, &weaponForwardXY, NULL, NULL);
|
||||
AngleVectors(vr.hmdorientation, hmdForwardXY, NULL, NULL);
|
||||
AngleVectors(vr.weaponangles, weaponForwardXY, NULL, NULL);
|
||||
|
||||
float weaponToDownAngle = AngleBetweenVectors(downVector, weaponForwardXY);
|
||||
// 4) Angle between weapon forward vector and a down vector must be within 80-140 degrees
|
||||
if(bpWeaponAngleOk = weaponToDownAngle >= 80.0 && weaponToDownAngle <= 140.0)
|
||||
{
|
||||
hmdForwardXY[2] = 0;
|
||||
VectorNormalize(&hmdForwardXY);
|
||||
VectorNormalize(hmdForwardXY);
|
||||
|
||||
weaponForwardXY[2] = 0;
|
||||
VectorNormalize(&weaponForwardXY);
|
||||
VectorNormalize(weaponForwardXY);
|
||||
|
||||
hmdToWeaponDotProduct = DotProduct(hmdForwardXY, weaponForwardXY);
|
||||
// 5) HMD and weapon forward on XY plane must go in opposite directions (i.e. dot product < 0)
|
||||
|
@ -749,4 +749,4 @@ void HandleInput_Default( ovrInputStateGamepad *pFootTrackingNew, ovrInputStateG
|
|||
//Save state
|
||||
rightTrackedRemoteState_old = rightTrackedRemoteState_new;
|
||||
leftTrackedRemoteState_old = leftTrackedRemoteState_new;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue