Made continuous turning analog sensitive

This commit is contained in:
Fighterguard 2024-10-16 01:13:23 +02:00
parent e2c6ee493a
commit 40cf552716
2 changed files with 34 additions and 35 deletions

View file

@ -1,4 +1,5 @@
extern cvar_t *vr_snapturn_angle; extern cvar_t *vr_snapturn_angle;
extern cvar_t *vr_turn_deadzone;
extern cvar_t *vr_walkdirection; extern cvar_t *vr_walkdirection;
extern cvar_t *vr_weapon_pitchadjust; extern cvar_t *vr_weapon_pitchadjust;
extern cvar_t *vr_lasersight; extern cvar_t *vr_lasersight;

View file

@ -377,45 +377,43 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew,
pOffTrackedRemoteOld->Buttons, pOffTrackedRemoteOld->Buttons,
ovrButton_Trigger, K_SHIFT); ovrButton_Trigger, K_SHIFT);
static int increaseSnap = true; static qboolean snapping = true;
static float turn_rate;
if (vr_snapturn_angle->value > 10.0f){ // snap turning
if (primaryJoystickNew.x > 0.6f) if (primaryJoystickNew.x > 0.6f)
{ {
if (increaseSnap) if (snapping)
{ {
snapTurn -= vr_snapturn_angle->value; snapTurn -= vr_snapturn_angle->value;
if (vr_snapturn_angle->value > 10.0f) { snapping = false;
increaseSnap = false;
}
if (snapTurn < -180.0f) if (snapTurn < -180.0f)
{ {
snapTurn += 360.f; snapTurn += 360.f;
} }
} }
} else if (primaryJoystickNew.x < 0.4f) {
increaseSnap = true;
} }
else if (primaryJoystickNew.x < -0.6f)
static int decreaseSnap = true;
if (primaryJoystickNew.x < -0.6f)
{ {
if (decreaseSnap) if (snapping)
{ {
snapTurn += vr_snapturn_angle->value; snapTurn += vr_snapturn_angle->value;
snapping = false;
//If snap turn configured for less than 10 degrees
if (vr_snapturn_angle->value > 10.0f) {
decreaseSnap = false;
}
if (snapTurn > 180.0f) if (snapTurn > 180.0f)
{ {
snapTurn -= 360.f; snapTurn -= 360.f;
} }
} }
} else if (primaryJoystickNew.x > -0.4f) } else
{ {
decreaseSnap = true; snapping = true;
}
}else{ // continuous turning
turn_rate = vr_snapturn_angle->value < 1.0f ? 1.0f : vr_snapturn_angle->value;
if(fabsf(primaryJoystickNew.x) > vr_turn_deadzone->value) {
snapTurn -= (10.0f * primaryJoystickNew.x) / turn_rate;
}
} }
} }
} }