mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2025-02-15 00:30:43 +00:00
Small tweaks to menu and railgun scope
This commit is contained in:
parent
1841ee1892
commit
4985ab8a8d
3 changed files with 28 additions and 33 deletions
|
@ -237,18 +237,6 @@ static void VR_Event( void* ptr, int notification ) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
=================
|
||||
Controls_StatusBar
|
||||
=================
|
||||
*/
|
||||
static void VR_StatusBar( void *self )
|
||||
{
|
||||
UI_DrawString(SCREEN_WIDTH * 0.50, SCREEN_HEIGHT * 0.80, "Use Arrow Keys or CLICK to change", UI_SMALLFONT|UI_CENTER, colorWhite );
|
||||
}
|
||||
|
||||
static void VR_MenuInit( void ) {
|
||||
int y;
|
||||
|
||||
|
@ -273,7 +261,7 @@ static void VR_MenuInit( void ) {
|
|||
|
||||
static const char *s_directionmode[] =
|
||||
{
|
||||
"HMD",
|
||||
"HMD (Default)",
|
||||
"Off-hand Controller",
|
||||
NULL
|
||||
};
|
||||
|
@ -281,7 +269,7 @@ static void VR_MenuInit( void ) {
|
|||
static const char *s_refreshrate[] =
|
||||
{
|
||||
"60",
|
||||
"72",
|
||||
"72 (Default)",
|
||||
"80",
|
||||
"90",
|
||||
"120",
|
||||
|
@ -292,7 +280,7 @@ static void VR_MenuInit( void ) {
|
|||
{
|
||||
"None",
|
||||
"Blood Only",
|
||||
"Blood & Gibs",
|
||||
"Blood & Gibs (Default)",
|
||||
"Extra Gore (Performance Hit)",
|
||||
NULL
|
||||
};
|
||||
|
@ -406,9 +394,8 @@ static void VR_MenuInit( void ) {
|
|||
s_VR.weaponpitch.generic.name = "Weapon Pitch:";
|
||||
s_VR.weaponpitch.generic.id = ID_WEAPONPITCH;
|
||||
s_VR.weaponpitch.generic.callback = VR_Event;
|
||||
s_VR.weaponpitch.minvalue = -25;
|
||||
s_VR.weaponpitch.maxvalue = 5;
|
||||
s_VR.weaponpitch.generic.statusbar = VR_StatusBar;
|
||||
s_VR.weaponpitch.minvalue = 0;
|
||||
s_VR.weaponpitch.maxvalue = 30;
|
||||
|
||||
y += BIGCHAR_HEIGHT;
|
||||
s_VR.heightadjust.generic.type = MTYPE_SLIDER;
|
||||
|
@ -420,7 +407,6 @@ static void VR_MenuInit( void ) {
|
|||
s_VR.heightadjust.generic.callback = VR_Event;
|
||||
s_VR.heightadjust.minvalue = 0.0f;
|
||||
s_VR.heightadjust.maxvalue = 1.0f;
|
||||
s_VR.heightadjust.generic.statusbar = VR_StatusBar;
|
||||
|
||||
y += BIGCHAR_HEIGHT;
|
||||
s_VR.twohanded.generic.type = MTYPE_RADIOBUTTON;
|
||||
|
|
|
@ -32,10 +32,12 @@ typedef struct {
|
|||
vec3_t weaponangles_delta;
|
||||
|
||||
vec3_t weaponoffset;
|
||||
vec3_t weaponoffset_last[2];
|
||||
vec3_t weaponposition;
|
||||
|
||||
vec3_t offhandangles;
|
||||
vec3_t offhandoffset;
|
||||
vec3_t offhandoffset_last[2];
|
||||
vec3_t offhandposition;
|
||||
|
||||
//////////////////////////////////////
|
||||
|
|
|
@ -219,9 +219,9 @@ static void IN_VRController( qboolean isRightController, ovrTracking remoteTrack
|
|||
vr.weaponposition[1] = remoteTracking.HeadPose.Pose.Position.y + vr_heightAdjust->value;
|
||||
vr.weaponposition[2] = remoteTracking.HeadPose.Pose.Position.z;
|
||||
|
||||
vr.weaponoffset[0] = vr.weaponposition[0] - vr.hmdposition[0];
|
||||
vr.weaponoffset[1] = vr.weaponposition[1] - vr.hmdposition[1];
|
||||
vr.weaponoffset[2] = vr.weaponposition[2] - vr.hmdposition[2];
|
||||
VectorCopy(vr.weaponoffset_last[1], vr.weaponoffset_last[0]);
|
||||
VectorCopy(vr.weaponoffset, vr.weaponoffset_last[1]);
|
||||
VectorSubtract(vr.weaponposition, vr.hmdposition, vr.weaponoffset);
|
||||
|
||||
if (vr.virtual_screen ||
|
||||
cl.snap.ps.pm_type == PM_INTERMISSION)
|
||||
|
@ -239,27 +239,34 @@ static void IN_VRController( qboolean isRightController, ovrTracking remoteTrack
|
|||
vr.offhandposition[1] = remoteTracking.HeadPose.Pose.Position.y + vr_heightAdjust->value;
|
||||
vr.offhandposition[2] = remoteTracking.HeadPose.Pose.Position.z;
|
||||
|
||||
vr.offhandoffset[0] = vr.offhandposition[0] - vr.hmdposition[0];
|
||||
vr.offhandoffset[1] = vr.offhandposition[1] - vr.hmdposition[1];
|
||||
vr.offhandoffset[2] = vr.offhandposition[2] - vr.hmdposition[2];
|
||||
VectorCopy(vr.offhandoffset_last[1], vr.offhandoffset_last[0]);
|
||||
VectorCopy(vr.offhandoffset, vr.offhandoffset_last[1]);
|
||||
VectorSubtract(vr.offhandposition, vr.hmdposition, vr.offhandoffset);
|
||||
}
|
||||
|
||||
vr.weapon_zoomed = vr_weaponScope->integer &&
|
||||
vr.weapon_stabilised &&
|
||||
(cl.snap.ps.weapon == WP_RAILGUN) &&
|
||||
(VectorLength(vr.weaponoffset) < 0.2f) &&
|
||||
(VectorLength(vr.weaponoffset) < 0.24f) &&
|
||||
cl.snap.ps.stats[STAT_HEALTH] > 0;
|
||||
|
||||
if (vr_twoHandedWeapons->integer && vr.weapon_stabilised)
|
||||
{
|
||||
float x = vr.offhandoffset[0] - (vr.weapon_zoomed ? 0 : vr.weaponoffset[0]);
|
||||
float y = vr.offhandoffset[1] - (vr.weapon_zoomed ? 0 : vr.weaponoffset[1]);
|
||||
float z = vr.offhandoffset[2] - (vr.weapon_zoomed ? 0 : vr.weaponoffset[2]);
|
||||
float zxDist = length(x, z);
|
||||
vec3_t vec[3];
|
||||
VectorSubtract(vr.offhandoffset, vr.weaponoffset, vec[0]);
|
||||
VectorSubtract(vr.offhandoffset_last[0], vr.weaponoffset_last[0], vec[1]);
|
||||
VectorSubtract(vr.offhandoffset_last[1], vr.weaponoffset_last[1], vec[2]);
|
||||
|
||||
if (zxDist != 0.0f && z != 0.0f) {
|
||||
VectorSet(vr.weaponangles, -degrees(atanf(y / zxDist)),
|
||||
-degrees(atan2f(x, -z)), vr.weaponangles[ROLL] / 2.0f); //Dampen roll on stabilised weapon
|
||||
vec3_t v;
|
||||
VectorAdd(vec[0], vec[1], v);
|
||||
VectorAdd(v, vec[2], v);
|
||||
VectorScale(v, 1.0f/3.0f, v);
|
||||
|
||||
float zxDist = length(v[0], v[2]);
|
||||
|
||||
if (zxDist != 0.0f && v[2] != 0.0f) {
|
||||
VectorSet(vr.weaponangles, -degrees(atanf(v[1] / zxDist)),
|
||||
-degrees(atan2f(v[0], -v[2])), vr.weaponangles[ROLL] / 2.0f); //Dampen roll on stabilised weapon
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue