mirror of
https://github.com/DrBeef/QuestZDoom.git
synced 2025-04-24 18:22:02 +00:00
feat: change turn speed based on joystick analog input when using smooth turn
note: smooth turn is enabled when snap turn is set to 10 or low
This commit is contained in:
parent
a7fe5ad731
commit
95a9b7476f
1 changed files with 27 additions and 27 deletions
|
@ -262,42 +262,42 @@ void HandleInput_Default( int control_scheme, ovrInputStateTrackedRemote *pDomin
|
|||
|
||||
if (!cinemamode && !dominantGripPushedNew)
|
||||
{
|
||||
// Turning logic
|
||||
static int increaseSnap = true;
|
||||
if (pPrimaryTrackedRemoteNew->Joystick.x > 0.6f) {
|
||||
if (increaseSnap) {
|
||||
resetDoomYaw = true;
|
||||
snapTurn -= vr_snapTurn;
|
||||
if (vr_snapTurn > 10.0f) {
|
||||
increaseSnap = false;
|
||||
}
|
||||
static int decreaseSnap = true;
|
||||
|
||||
if (snapTurn < -180.0f) {
|
||||
snapTurn += 360.f;
|
||||
}
|
||||
float joy = pPrimaryTrackedRemoteNew->Joystick.x;
|
||||
if (vr_snapTurn <= 10.0f && abs(joy) > 0.05f)
|
||||
{
|
||||
increaseSnap = false;
|
||||
decreaseSnap = false;
|
||||
snapTurn -= vr_snapTurn * nonLinearFilter(joy);
|
||||
}
|
||||
|
||||
// Turning logic
|
||||
if (joy > 0.6f && increaseSnap) {
|
||||
snapTurn -= vr_snapTurn;
|
||||
if (vr_snapTurn > 10.0f) {
|
||||
increaseSnap = false;
|
||||
}
|
||||
} else if (pPrimaryTrackedRemoteNew->Joystick.x < 0.4f) {
|
||||
} else if (joy < 0.4f) {
|
||||
increaseSnap = true;
|
||||
}
|
||||
|
||||
static int decreaseSnap = true;
|
||||
if (pPrimaryTrackedRemoteNew->Joystick.x < -0.6f) {
|
||||
if (decreaseSnap) {
|
||||
resetDoomYaw = true;
|
||||
snapTurn += vr_snapTurn;
|
||||
|
||||
//If snap turn configured for less than 10 degrees
|
||||
if (vr_snapTurn > 10.0f) {
|
||||
decreaseSnap = false;
|
||||
}
|
||||
|
||||
if (snapTurn > 180.0f) {
|
||||
snapTurn -= 360.f;
|
||||
}
|
||||
if (joy < -0.6f && decreaseSnap) {
|
||||
snapTurn += vr_snapTurn;
|
||||
if (vr_snapTurn > 10.0f) {
|
||||
decreaseSnap = false;
|
||||
}
|
||||
} else if (pPrimaryTrackedRemoteNew->Joystick.x > -0.4f) {
|
||||
} else if (joy > -0.4f) {
|
||||
decreaseSnap = true;
|
||||
}
|
||||
|
||||
if (snapTurn < -180.0f) {
|
||||
snapTurn += 360.f;
|
||||
}
|
||||
else if (snapTurn > 180.0f) {
|
||||
snapTurn -= 360.f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue