mirror of
https://github.com/DrBeef/JKXR.git
synced 2024-11-21 19:51:33 +00:00
Added Trigger Release Band Cvars + Fixed Vive Controls
Added Cvars for engaging Grip by level. Defaults Below: vr_engage_trigger 0.7 vr_release_trigger 0.7 vr_engage_trigger_index 0.7 (Index Only) vr_release_trigger_index 0.05 (Index Only) Vive Controls Left Trackpad press (whilst roughly in the middle) - Crouch Left menu Button - Pause Trackpad Right Press - DataPad Right Menu Button - 1st / 3rd person Right Trackpad Press Up = Alt Fire / Switch Off Saber Right Trackpad Press Down = Jump Right Trackpad Press Center = Use / Interact
This commit is contained in:
parent
c7f4874aba
commit
e123731955
4 changed files with 87 additions and 21 deletions
|
@ -802,15 +802,24 @@ void TBXR_UpdateControllers( )
|
||||||
trackpadPosition = GetActionStateVector2(trackPadAction, SIDE_LEFT).currentState;
|
trackpadPosition = GetActionStateVector2(trackPadAction, SIDE_LEFT).currentState;
|
||||||
if (GetActionStateBoolean(trackPadClickAction, SIDE_LEFT).currentState)
|
if (GetActionStateBoolean(trackPadClickAction, SIDE_LEFT).currentState)
|
||||||
{
|
{
|
||||||
if (trackpadPosition.x >= -0.2 && trackpadPosition.x <= 0.2)
|
if (trackpadPosition.x >= -0.3 && trackpadPosition.x <= 0.3)
|
||||||
{
|
{
|
||||||
if (trackpadPosition.y >= 0.2)
|
//Always the in center for crouch
|
||||||
|
//Crouch
|
||||||
|
leftTrackedRemoteState_new.Buttons |= xrButton_LThumb;
|
||||||
|
leftTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (trackpadPosition.x <= -0.3) //Left
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.Buttons |= xrButton_Y;
|
//Ingame Menu - dont need this on Vive
|
||||||
|
//leftTrackedRemoteState_new.Buttons |= xrButton_X;
|
||||||
}
|
}
|
||||||
else if (trackpadPosition.y <= -0.2)
|
else if(trackpadPosition.x >= 0.3) //Right
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.Buttons |= xrButton_X;
|
//DataPad
|
||||||
|
leftTrackedRemoteState_new.Buttons |= xrButton_Y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -821,31 +830,48 @@ void TBXR_UpdateControllers( )
|
||||||
if (GetActionStateBoolean(XTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_X;
|
if (GetActionStateBoolean(XTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_X;
|
||||||
if (GetActionStateBoolean(YAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Y;
|
if (GetActionStateBoolean(YAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Y;
|
||||||
if (GetActionStateBoolean(YTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Y;
|
if (GetActionStateBoolean(YTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Y;
|
||||||
|
if (GetActionStateBoolean(thumbstickClickAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_LThumb;
|
||||||
|
if (GetActionStateBoolean(thumbstickClickAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
||||||
|
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_LThumb;
|
||||||
|
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Joystick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Defaults engage/disable at the same level
|
||||||
|
float enableLevel = vr_engage_trigger->value;
|
||||||
|
float disableLevel = vr_release_trigger->value;
|
||||||
//INDEX we'll need to add force check so its not boolean
|
//INDEX we'll need to add force check so its not boolean
|
||||||
if (gAppState.controllersPresent == VIVE_CONTROLLERS)
|
if (gAppState.controllersPresent == VIVE_CONTROLLERS)
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.GripTrigger = GetActionStateBoolean(squeezeClickAction, SIDE_LEFT).currentState;
|
leftTrackedRemoteState_new.GripTrigger = GetActionStateBoolean(squeezeClickAction, SIDE_LEFT).currentState;
|
||||||
|
enableLevel = 1.0f;
|
||||||
|
disableLevel = 1.0f;
|
||||||
}
|
}
|
||||||
else if (gAppState.controllersPresent == INDEX_CONTROLLERS)
|
else if (gAppState.controllersPresent == INDEX_CONTROLLERS)
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeForceAction, SIDE_LEFT).currentState;
|
leftTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeForceAction, SIDE_LEFT).currentState;
|
||||||
|
// Use different release level for the Index Knuckles
|
||||||
|
enableLevel = vr_engage_trigger_index->value;
|
||||||
|
disableLevel = vr_release_trigger_index->value;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeAction, SIDE_LEFT).currentState;
|
leftTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeAction, SIDE_LEFT).currentState;
|
||||||
}
|
}
|
||||||
if (leftTrackedRemoteState_new.GripTrigger > 0.7f)
|
|
||||||
|
static int leftGripEngaged = false;
|
||||||
|
if (leftTrackedRemoteState_new.GripTrigger >= enableLevel && !leftGripEngaged)
|
||||||
|
{
|
||||||
|
leftGripEngaged = true;
|
||||||
|
}
|
||||||
|
else if (leftTrackedRemoteState_new.GripTrigger < disableLevel && leftGripEngaged)
|
||||||
|
{
|
||||||
|
leftGripEngaged = false;
|
||||||
|
}
|
||||||
|
if (leftGripEngaged)
|
||||||
{
|
{
|
||||||
leftTrackedRemoteState_new.Buttons |= xrButton_GripTrigger;
|
leftTrackedRemoteState_new.Buttons |= xrButton_GripTrigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GetActionStateBoolean(thumbstickClickAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_LThumb;
|
|
||||||
if (GetActionStateBoolean(thumbstickClickAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
|
||||||
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_LThumb;
|
|
||||||
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Joystick;
|
|
||||||
|
|
||||||
leftTrackedRemoteState_new.IndexTrigger = GetActionStateFloat(triggerAction, SIDE_LEFT).currentState;
|
leftTrackedRemoteState_new.IndexTrigger = GetActionStateFloat(triggerAction, SIDE_LEFT).currentState;
|
||||||
if (leftTrackedRemoteState_new.IndexTrigger > 0.5f) leftTrackedRemoteState_new.Buttons |= xrButton_Trigger;
|
if (leftTrackedRemoteState_new.IndexTrigger > 0.5f) leftTrackedRemoteState_new.Buttons |= xrButton_Trigger;
|
||||||
if (GetActionStateBoolean(triggerTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Trigger;
|
if (GetActionStateBoolean(triggerTouchAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Touches |= xrButton_Trigger;
|
||||||
|
@ -867,15 +893,25 @@ void TBXR_UpdateControllers( )
|
||||||
{
|
{
|
||||||
if (trackpadPosition.x >= -0.2 && trackpadPosition.x <= 0.2)
|
if (trackpadPosition.x >= -0.2 && trackpadPosition.x <= 0.2)
|
||||||
{
|
{
|
||||||
if (trackpadPosition.y >= 0.2)
|
if (trackpadPosition.y >= 0.3)
|
||||||
{
|
{
|
||||||
//Menu button on Vive instead
|
//Menu button on Vive instead
|
||||||
rightTrackedRemoteState_new.Buttons |= xrButton_B;
|
rightTrackedRemoteState_new.Buttons |= xrButton_B;
|
||||||
}
|
}
|
||||||
else if (trackpadPosition.y <= -0.2)
|
else if (trackpadPosition.y <= -0.3)
|
||||||
{
|
{
|
||||||
rightTrackedRemoteState_new.Buttons |= xrButton_A;
|
rightTrackedRemoteState_new.Buttons |= xrButton_A;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rightTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
||||||
|
rightTrackedRemoteState_new.Buttons |= xrButton_RThumb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rightTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
||||||
|
rightTrackedRemoteState_new.Buttons |= xrButton_RThumb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (GetActionStateBoolean(backAction, SIDE_RIGHT).currentState)
|
if (GetActionStateBoolean(backAction, SIDE_RIGHT).currentState)
|
||||||
|
@ -888,29 +924,47 @@ void TBXR_UpdateControllers( )
|
||||||
if (GetActionStateBoolean(AAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_A;
|
if (GetActionStateBoolean(AAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_A;
|
||||||
if (GetActionStateBoolean(ATouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_A;
|
if (GetActionStateBoolean(ATouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_A;
|
||||||
if (GetActionStateBoolean(BAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_B;
|
if (GetActionStateBoolean(BAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_B;
|
||||||
if (GetActionStateBoolean(BTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_B;
|
if (GetActionStateBoolean(BTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_B;
|
||||||
if (GetActionStateBoolean(backAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Enter;
|
if (GetActionStateBoolean(backAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Enter;
|
||||||
|
if (GetActionStateBoolean(thumbstickClickAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_RThumb;
|
||||||
|
if (GetActionStateBoolean(thumbstickClickAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
||||||
|
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_RThumb;
|
||||||
|
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_Joystick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//INDEX we'll need to add force check so its not boolean
|
//INDEX we'll need to add force check so its not boolean
|
||||||
|
//Defaults engage/disable at the same level
|
||||||
if (gAppState.controllersPresent == VIVE_CONTROLLERS)
|
if (gAppState.controllersPresent == VIVE_CONTROLLERS)
|
||||||
{
|
{
|
||||||
rightTrackedRemoteState_new.GripTrigger = GetActionStateBoolean(squeezeClickAction, SIDE_RIGHT).currentState;
|
rightTrackedRemoteState_new.GripTrigger = GetActionStateBoolean(squeezeClickAction, SIDE_RIGHT).currentState;
|
||||||
}
|
}
|
||||||
else if (gAppState.controllersPresent == INDEX_CONTROLLERS)
|
else if (gAppState.controllersPresent == INDEX_CONTROLLERS)
|
||||||
{
|
{
|
||||||
rightTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeForceAction, SIDE_RIGHT).currentState;
|
rightTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeForceAction, SIDE_RIGHT).currentState;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rightTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeAction, SIDE_RIGHT).currentState;
|
rightTrackedRemoteState_new.GripTrigger = GetActionStateFloat(squeezeAction, SIDE_RIGHT).currentState;
|
||||||
}
|
}
|
||||||
if (rightTrackedRemoteState_new.GripTrigger > 0.7f) rightTrackedRemoteState_new.Buttons |= xrButton_GripTrigger;
|
|
||||||
|
|
||||||
if (GetActionStateBoolean(thumbstickClickAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_RThumb;
|
static int rightGripEngaged = false;
|
||||||
if (GetActionStateBoolean(thumbstickClickAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Joystick;
|
if (rightTrackedRemoteState_new.GripTrigger >= enableLevel && !rightGripEngaged)
|
||||||
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_RThumb;
|
{
|
||||||
if (GetActionStateBoolean(thumbstickTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_Joystick;
|
rightGripEngaged = true;
|
||||||
|
}
|
||||||
|
else if (rightTrackedRemoteState_new.GripTrigger < disableLevel && rightGripEngaged)
|
||||||
|
{
|
||||||
|
rightGripEngaged = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rightGripEngaged)
|
||||||
|
{
|
||||||
|
rightTrackedRemoteState_new.Buttons |= xrButton_GripTrigger;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
rightTrackedRemoteState_new.IndexTrigger = GetActionStateFloat(triggerAction, SIDE_RIGHT).currentState;
|
rightTrackedRemoteState_new.IndexTrigger = GetActionStateFloat(triggerAction, SIDE_RIGHT).currentState;
|
||||||
if (rightTrackedRemoteState_new.IndexTrigger > 0.5f) rightTrackedRemoteState_new.Buttons |= xrButton_Trigger;
|
if (rightTrackedRemoteState_new.IndexTrigger > 0.5f) rightTrackedRemoteState_new.Buttons |= xrButton_Trigger;
|
||||||
if (GetActionStateBoolean(triggerTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_Trigger;
|
if (GetActionStateBoolean(triggerTouchAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Touches |= xrButton_Trigger;
|
||||||
|
|
|
@ -35,3 +35,7 @@ extern cvar_t *vr_use_gesture_boundary;
|
||||||
extern cvar_t *vr_align_weapons; // Only used for development
|
extern cvar_t *vr_align_weapons; // Only used for development
|
||||||
extern cvar_t *vr_refresh;
|
extern cvar_t *vr_refresh;
|
||||||
extern cvar_t *vr_super_sampling;
|
extern cvar_t *vr_super_sampling;
|
||||||
|
extern cvar_t *vr_engage_trigger;
|
||||||
|
extern cvar_t *vr_release_trigger;
|
||||||
|
extern cvar_t *vr_engage_trigger_index;
|
||||||
|
extern cvar_t *vr_release_trigger_index;
|
||||||
|
|
|
@ -48,6 +48,10 @@ cvar_t *vr_use_gesture_boundary;
|
||||||
cvar_t *vr_align_weapons;
|
cvar_t *vr_align_weapons;
|
||||||
cvar_t *vr_refresh;
|
cvar_t *vr_refresh;
|
||||||
cvar_t *vr_super_sampling;
|
cvar_t *vr_super_sampling;
|
||||||
|
cvar_t *vr_engage_trigger;
|
||||||
|
cvar_t *vr_release_trigger;
|
||||||
|
cvar_t *vr_engage_trigger_index;
|
||||||
|
cvar_t *vr_release_trigger_index;
|
||||||
|
|
||||||
ovrInputStateTrackedRemote leftTrackedRemoteState_old;
|
ovrInputStateTrackedRemote leftTrackedRemoteState_old;
|
||||||
ovrInputStateTrackedRemote leftTrackedRemoteState_new;
|
ovrInputStateTrackedRemote leftTrackedRemoteState_new;
|
||||||
|
|
|
@ -281,6 +281,10 @@ void VR_Init()
|
||||||
vr_use_gesture_boundary = Cvar_Get ("vr_use_gesture_boundary", "0.35", CVAR_ARCHIVE);
|
vr_use_gesture_boundary = Cvar_Get ("vr_use_gesture_boundary", "0.35", CVAR_ARCHIVE);
|
||||||
vr_align_weapons = Cvar_Get ("vr_align_weapons", "0", CVAR_ARCHIVE);
|
vr_align_weapons = Cvar_Get ("vr_align_weapons", "0", CVAR_ARCHIVE);
|
||||||
vr_refresh = Cvar_Get ("vr_refresh", "72", CVAR_ARCHIVE);
|
vr_refresh = Cvar_Get ("vr_refresh", "72", CVAR_ARCHIVE);
|
||||||
|
vr_engage_trigger = Cvar_Get("vr_engage_trigger", "0.7", CVAR_ARCHIVE);
|
||||||
|
vr_release_trigger = Cvar_Get("vr_release_trigger", "0.7", CVAR_ARCHIVE);
|
||||||
|
vr_engage_trigger_index = Cvar_Get("vr_engage_trigger_index", "0.7", CVAR_ARCHIVE);
|
||||||
|
vr_release_trigger_index = Cvar_Get("vr_release_trigger_index", "0.05", CVAR_ARCHIVE);
|
||||||
|
|
||||||
cvar_t *expanded_menu_enabled = Cvar_Get ("expanded_menu_enabled", "0", CVAR_ARCHIVE);
|
cvar_t *expanded_menu_enabled = Cvar_Get ("expanded_menu_enabled", "0", CVAR_ARCHIVE);
|
||||||
if (FS_FileExists("expanded_menu.pk3") || FS_BaseFileExists("expanded_menu.pk3")) {
|
if (FS_FileExists("expanded_menu.pk3") || FS_BaseFileExists("expanded_menu.pk3")) {
|
||||||
|
|
Loading…
Reference in a new issue