From 9c8c23871c9d16d3d5096628054f92a957852da6 Mon Sep 17 00:00:00 2001 From: dombomdom Date: Mon, 21 Oct 2019 21:13:55 +0200 Subject: [PATCH] add backpack ready vibration feedback --- Projects/Android/jni/src/Lambda1VR/VrInputAlt.c | 10 ++++++++++ Projects/Android/jni/src/Lambda1VR/VrInputDefault.c | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/Projects/Android/jni/src/Lambda1VR/VrInputAlt.c b/Projects/Android/jni/src/Lambda1VR/VrInputAlt.c index 8132b3e..15970d2 100644 --- a/Projects/Android/jni/src/Lambda1VR/VrInputAlt.c +++ b/Projects/Android/jni/src/Lambda1VR/VrInputAlt.c @@ -42,6 +42,7 @@ void HandleInput_Alt( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovr static bool dominantGripPushed = false; static int grabMeleeWeapon = 0; + static bool canUseBackpack = false; static float dominantGripPushTime = 0.0f; static bool selectingWeapon = false; @@ -162,6 +163,15 @@ void HandleInput_Alt( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovr finishReloadNextFrame = false; } + if (pDominantTracking->Status & VRAPI_TRACKING_STATUS_POSITION_TRACKED) { + canUseBackpack = false; + } + else if (!canUseBackpack && grabMeleeWeapon == 0) { + int channel = (vr_control_scheme->integer >= 10) ? 0 : 1; + Android_Vibrate(40, channel, 0.5); // vibrate to let user know they can switch + canUseBackpack = true; + } + if ((pDominantTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != (pDominantTrackedRemoteOld->Buttons & ovrButton_GripTrigger)) { diff --git a/Projects/Android/jni/src/Lambda1VR/VrInputDefault.c b/Projects/Android/jni/src/Lambda1VR/VrInputDefault.c index 6b138bd..2238c3e 100644 --- a/Projects/Android/jni/src/Lambda1VR/VrInputDefault.c +++ b/Projects/Android/jni/src/Lambda1VR/VrInputDefault.c @@ -42,6 +42,7 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, static bool dominantGripPushed = false; static int grabMeleeWeapon = 0; + static bool canUseBackpack = false; static float dominantGripPushTime = 0.0f; //Show screen view (if in multiplayer toggle scoreboard) @@ -174,6 +175,15 @@ void HandleInput_Default( ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, finishReloadNextFrame = false; } + if (pDominantTracking->Status & VRAPI_TRACKING_STATUS_POSITION_TRACKED) { + canUseBackpack = false; + } + else if (!canUseBackpack && grabMeleeWeapon == 0) { + int channel = (vr_control_scheme->integer >= 10) ? 0 : 1; + Android_Vibrate(40, channel, 0.5); // vibrate to let user know they can switch + canUseBackpack = true; + } + if ((pDominantTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != (pDominantTrackedRemoteOld->Buttons & ovrButton_GripTrigger)) {