From 387f0a3f10e462f87009fa4d81ceec4e6bd5290a Mon Sep 17 00:00:00 2001
From: dooglifeSF <41022919+dooglifeSF@users.noreply.github.com>
Date: Fri, 4 Oct 2019 15:28:35 -0700
Subject: [PATCH 1/5] add isInput* and isNotInput vars for use in json, and
 edit json to use them

---
 .../resources/avatar/avatar-animation.json    | 110 +++++++++---------
 interface/src/avatar/MySkeletonModel.cpp      |   4 +
 libraries/animation/src/Rig.cpp               |  42 +++++++
 libraries/animation/src/Rig.h                 |   2 +
 4 files changed, 103 insertions(+), 55 deletions(-)

diff --git a/interface/resources/avatar/avatar-animation.json b/interface/resources/avatar/avatar-animation.json
index 2b8b3eb9b3..1c3a603eb5 100644
--- a/interface/resources/avatar/avatar-animation.json
+++ b/interface/resources/avatar/avatar-animation.json
@@ -5244,23 +5244,23 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5313,19 +5313,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5380,19 +5380,19 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "idle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5469,19 +5469,19 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "strafeRightHmd",
@@ -5533,19 +5533,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5597,19 +5597,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5661,19 +5661,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5725,19 +5725,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5794,19 +5794,19 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnLeft",
@@ -5859,19 +5859,19 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5919,15 +5919,15 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "strafeLeftHmd",
@@ -5935,11 +5935,11 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -5983,15 +5983,15 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "idleSettle",
-                                                                                                            "var": "isNotMoving"
+                                                                                                            "var": "isNotInput"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "strafeRightHmd",
@@ -5999,11 +5999,11 @@
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
@@ -6128,19 +6128,19 @@
                                                                                                     "transitions": [
                                                                                                         {
                                                                                                             "state": "WALKFWD",
-                                                                                                            "var": "isMovingForward"
+                                                                                                            "var": "isInputForward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "WALKBWD",
-                                                                                                            "var": "isMovingBackward"
+                                                                                                            "var": "isInputBackward"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFERIGHT",
-                                                                                                            "var": "isMovingRight"
+                                                                                                            "var": "isInputRight"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "STRAFELEFT",
-                                                                                                            "var": "isMovingLeft"
+                                                                                                            "var": "isInputLeft"
                                                                                                         },
                                                                                                         {
                                                                                                             "state": "turnRight",
diff --git a/interface/src/avatar/MySkeletonModel.cpp b/interface/src/avatar/MySkeletonModel.cpp
index 38065c8095..8d92767321 100755
--- a/interface/src/avatar/MySkeletonModel.cpp
+++ b/interface/src/avatar/MySkeletonModel.cpp
@@ -315,6 +315,10 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) {
     const float TALKING_TIME_THRESHOLD = 0.75f;
     params.isTalking = head->getTimeWithoutTalking() <= TALKING_TIME_THRESHOLD;
 
+    //pass X and Z input key floats (-1 to 1) to rig
+    params.inputX = myAvatar->getDriveKey(MyAvatar::TRANSLATE_X);
+    params.inputZ = myAvatar->getDriveKey(MyAvatar::TRANSLATE_Z);
+
     myAvatar->updateRigControllerParameters(params);
 
     _rig.updateFromControllerParameters(params, deltaTime);
diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index d63c2d6a9b..88b42285cd 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -2160,6 +2160,48 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
         }
     }
 
+    //TODO: how to handle multiple inputs?  Is there a trick to prioritize fwd/bwd with order of operations?
+    if (params.inputX) {
+        if (params.inputX > 0.0f) {
+            // left
+            _animVars.set("isInputForward", false);
+            _animVars.set("isInputBackward", false);
+            _animVars.set("isInputRight", true);
+            _animVars.set("isInputLeft", false);
+            _animVars.set("isNotInput", false);
+        } else {
+            // right
+            _animVars.set("isInputForward", false);
+            _animVars.set("isInputBackward", false);
+            _animVars.set("isInputRight", false);
+            _animVars.set("isInputLeft", true);
+            _animVars.set("isNotInput", false);
+        }
+    } else if (params.inputZ) {
+        if (params.inputZ > 0.0f) {
+            // forward
+            _animVars.set("isInputForward", true);
+            _animVars.set("isInputBackward", false);
+            _animVars.set("isInputRight", false);
+            _animVars.set("isInputLeft", false);
+            _animVars.set("isNotInput", false);
+        } else {
+            // backward
+            _animVars.set("isInputForward", false);
+            _animVars.set("isInputBackward", true);
+            _animVars.set("isInputRight", false);
+            _animVars.set("isInputLeft", false);
+            _animVars.set("isNotInput", false);
+        }
+    } else if (params.inputX == 0.0f && params.inputZ == 0.0f) {
+        // no WASD input
+        _animVars.set("isInputForward", false);
+        _animVars.set("isInputBackward", false);
+        _animVars.set("isInputRight", false);
+        _animVars.set("isInputLeft", false);
+        _animVars.set("isNotInput", true);
+    }
+
     _headEnabled = params.primaryControllerFlags[PrimaryControllerType_Head] & (uint8_t)ControllerFlags::Enabled;
     bool leftHandEnabled = params.primaryControllerFlags[PrimaryControllerType_LeftHand] & (uint8_t)ControllerFlags::Enabled;
     bool rightHandEnabled = params.primaryControllerFlags[PrimaryControllerType_RightHand] & (uint8_t)ControllerFlags::Enabled;
diff --git a/libraries/animation/src/Rig.h b/libraries/animation/src/Rig.h
index 98431e1dca..8f5eddac00 100644
--- a/libraries/animation/src/Rig.h
+++ b/libraries/animation/src/Rig.h
@@ -88,6 +88,8 @@ public:
         AnimPose secondaryControllerPoses[NumSecondaryControllerTypes];  // rig space
         uint8_t secondaryControllerFlags[NumSecondaryControllerTypes];
         bool isTalking;
+        float inputX;
+        float inputZ;
         bool reactionEnabledFlags[NUM_AVATAR_BEGIN_END_REACTIONS];
         bool reactionTriggers[NUM_AVATAR_TRIGGER_REACTIONS];
         HFMJointShapeInfo hipsShapeInfo;

From 2626f85f49d1ab7d598857077f7533d5c8f7396e Mon Sep 17 00:00:00 2001
From: dooglifeSF <41022919+dooglifeSF@users.noreply.github.com>
Date: Tue, 8 Oct 2019 15:44:06 -0700
Subject: [PATCH 2/5] Handle multiple inputs, bias towards inputZ instead of
 inputX, and add a deadzone that matches xbox controller analog deadzone

---
 libraries/animation/src/Rig.cpp | 47 ++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 22 deletions(-)

diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index 88b42285cd..7f83fb5218 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -2160,40 +2160,43 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
         }
     }
 
-    //TODO: how to handle multiple inputs?  Is there a trick to prioritize fwd/bwd with order of operations?
-    if (params.inputX) {
-        if (params.inputX > 0.0f) {
-            // left
+    //deadzone constant
+    #define INPUT_DEADZONE_THRESHOLD 0.05f
+
+    if (abs(params.inputZ) > INPUT_DEADZONE_THRESHOLD && abs(params.inputZ) >= abs(params.inputX)) {
+            if (params.inputZ > INPUT_DEADZONE_THRESHOLD) {
+                    // forward
+                    _animVars.set("isInputForward", true);
+                    _animVars.set("isInputBackward", false);
+                    _animVars.set("isInputRight", false);
+                    _animVars.set("isInputLeft", false);
+                    _animVars.set("isNotInput", false);
+                }
+            else {
+                // backward
+                _animVars.set("isInputForward", false);
+                _animVars.set("isInputBackward", true);
+                _animVars.set("isInputRight", false);
+                _animVars.set("isInputLeft", false);
+                _animVars.set("isNotInput", false);
+            }
+    } else if (abs(params.inputX) > INPUT_DEADZONE_THRESHOLD && abs(params.inputX) > abs(params.inputZ)) {
+        if (params.inputX > INPUT_DEADZONE_THRESHOLD) {
+            // right
             _animVars.set("isInputForward", false);
             _animVars.set("isInputBackward", false);
             _animVars.set("isInputRight", true);
             _animVars.set("isInputLeft", false);
             _animVars.set("isNotInput", false);
         } else {
-            // right
+            // left
             _animVars.set("isInputForward", false);
             _animVars.set("isInputBackward", false);
             _animVars.set("isInputRight", false);
             _animVars.set("isInputLeft", true);
             _animVars.set("isNotInput", false);
         }
-    } else if (params.inputZ) {
-        if (params.inputZ > 0.0f) {
-            // forward
-            _animVars.set("isInputForward", true);
-            _animVars.set("isInputBackward", false);
-            _animVars.set("isInputRight", false);
-            _animVars.set("isInputLeft", false);
-            _animVars.set("isNotInput", false);
-        } else {
-            // backward
-            _animVars.set("isInputForward", false);
-            _animVars.set("isInputBackward", true);
-            _animVars.set("isInputRight", false);
-            _animVars.set("isInputLeft", false);
-            _animVars.set("isNotInput", false);
-        }
-    } else if (params.inputX == 0.0f && params.inputZ == 0.0f) {
+    } else if (params.inputX <= INPUT_DEADZONE_THRESHOLD && params.inputZ <= INPUT_DEADZONE_THRESHOLD) {
         // no WASD input
         _animVars.set("isInputForward", false);
         _animVars.set("isInputBackward", false);

From cfa7df7d1a27275d47b50424692d87ae5acbe972 Mon Sep 17 00:00:00 2001
From: dooglifeSF <41022919+dooglifeSF@users.noreply.github.com>
Date: Tue, 8 Oct 2019 16:14:21 -0700
Subject: [PATCH 3/5] Refactor the if-logic to remove complexity

---
 libraries/animation/src/Rig.cpp | 52 ++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index 7f83fb5218..8d78ff1418 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -2163,25 +2163,31 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
     //deadzone constant
     #define INPUT_DEADZONE_THRESHOLD 0.05f
 
-    if (abs(params.inputZ) > INPUT_DEADZONE_THRESHOLD && abs(params.inputZ) >= abs(params.inputX)) {
-            if (params.inputZ > INPUT_DEADZONE_THRESHOLD) {
-                    // forward
-                    _animVars.set("isInputForward", true);
-                    _animVars.set("isInputBackward", false);
-                    _animVars.set("isInputRight", false);
-                    _animVars.set("isInputLeft", false);
-                    _animVars.set("isNotInput", false);
-                }
-            else {
-                // backward
-                _animVars.set("isInputForward", false);
-                _animVars.set("isInputBackward", true);
-                _animVars.set("isInputRight", false);
-                _animVars.set("isInputLeft", false);
-                _animVars.set("isNotInput", false);
-            }
-    } else if (abs(params.inputX) > INPUT_DEADZONE_THRESHOLD && abs(params.inputX) > abs(params.inputZ)) {
-        if (params.inputX > INPUT_DEADZONE_THRESHOLD) {
+    if (abs(params.inputX) <= INPUT_DEADZONE_THRESHOLD && abs(params.inputZ) <= INPUT_DEADZONE_THRESHOLD) {
+        // no WASD input
+        _animVars.set("isInputForward", false);
+        _animVars.set("isInputBackward", false);
+        _animVars.set("isInputRight", false);
+        _animVars.set("isInputLeft", false);
+        _animVars.set("isNotInput", true);
+    } else if ( abs(params.inputZ) >= abs(params.inputX) ) {
+        if (params.inputZ > 0) {
+            // forward
+            _animVars.set("isInputForward", true);
+            _animVars.set("isInputBackward", false);
+            _animVars.set("isInputRight", false);
+            _animVars.set("isInputLeft", false);
+            _animVars.set("isNotInput", false);
+        } else { 
+            // backward
+            _animVars.set("isInputForward", false);
+            _animVars.set("isInputBackward", true);
+            _animVars.set("isInputRight", false);
+            _animVars.set("isInputLeft", false);
+            _animVars.set("isNotInput", false);
+        }
+    } else {
+        if (params.inputX > 0) {
             // right
             _animVars.set("isInputForward", false);
             _animVars.set("isInputBackward", false);
@@ -2196,15 +2202,9 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
             _animVars.set("isInputLeft", true);
             _animVars.set("isNotInput", false);
         }
-    } else if (params.inputX <= INPUT_DEADZONE_THRESHOLD && params.inputZ <= INPUT_DEADZONE_THRESHOLD) {
-        // no WASD input
-        _animVars.set("isInputForward", false);
-        _animVars.set("isInputBackward", false);
-        _animVars.set("isInputRight", false);
-        _animVars.set("isInputLeft", false);
-        _animVars.set("isNotInput", true);
     }
 
+
     _headEnabled = params.primaryControllerFlags[PrimaryControllerType_Head] & (uint8_t)ControllerFlags::Enabled;
     bool leftHandEnabled = params.primaryControllerFlags[PrimaryControllerType_LeftHand] & (uint8_t)ControllerFlags::Enabled;
     bool rightHandEnabled = params.primaryControllerFlags[PrimaryControllerType_RightHand] & (uint8_t)ControllerFlags::Enabled;

From 2a1258968aa3113206a3a27be7584bddcdf24453 Mon Sep 17 00:00:00 2001
From: dooglifeSF <41022919+dooglifeSF@users.noreply.github.com>
Date: Wed, 9 Oct 2019 10:10:45 -0700
Subject: [PATCH 4/5] Change macro to const float, use floats in control flow.

---
 libraries/animation/src/Rig.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index d84b04c800..432f9387fa 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -2161,7 +2161,7 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
     }
 
     //deadzone constant
-    #define INPUT_DEADZONE_THRESHOLD 0.05f
+    const float INPUT_DEADZONE_THRESHOLD = 0.05f;
 
     if (abs(params.inputX) <= INPUT_DEADZONE_THRESHOLD && abs(params.inputZ) <= INPUT_DEADZONE_THRESHOLD) {
         // no WASD input
@@ -2171,7 +2171,7 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
         _animVars.set("isInputLeft", false);
         _animVars.set("isNotInput", true);
     } else if ( abs(params.inputZ) >= abs(params.inputX) ) {
-        if (params.inputZ > 0) {
+        if (params.inputZ > 0.0f) {
             // forward
             _animVars.set("isInputForward", true);
             _animVars.set("isInputBackward", false);
@@ -2187,7 +2187,7 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
             _animVars.set("isNotInput", false);
         }
     } else {
-        if (params.inputX > 0) {
+        if (params.inputX > 0.0f) {
             // right
             _animVars.set("isInputForward", false);
             _animVars.set("isInputBackward", false);

From 85b681e70e82a1b28986166f735d6c5238b58590 Mon Sep 17 00:00:00 2001
From: dooglifeSF <41022919+dooglifeSF@users.noreply.github.com>
Date: Wed, 9 Oct 2019 11:07:14 -0700
Subject: [PATCH 5/5] switch abs() to fabsf()

---
 libraries/animation/src/Rig.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp
index 432f9387fa..0be05f843e 100644
--- a/libraries/animation/src/Rig.cpp
+++ b/libraries/animation/src/Rig.cpp
@@ -2163,14 +2163,14 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo
     //deadzone constant
     const float INPUT_DEADZONE_THRESHOLD = 0.05f;
 
-    if (abs(params.inputX) <= INPUT_DEADZONE_THRESHOLD && abs(params.inputZ) <= INPUT_DEADZONE_THRESHOLD) {
+    if (fabsf(params.inputX) <= INPUT_DEADZONE_THRESHOLD && fabsf(params.inputZ) <= INPUT_DEADZONE_THRESHOLD) {
         // no WASD input
         _animVars.set("isInputForward", false);
         _animVars.set("isInputBackward", false);
         _animVars.set("isInputRight", false);
         _animVars.set("isInputLeft", false);
         _animVars.set("isNotInput", true);
-    } else if ( abs(params.inputZ) >= abs(params.inputX) ) {
+    } else if (fabsf(params.inputZ) >= fabsf(params.inputX)) {
         if (params.inputZ > 0.0f) {
             // forward
             _animVars.set("isInputForward", true);