diff --git a/README.md b/README.md
index 7799b57..e13be68 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Merged set of MelonLoader mods for ChilloutVR.
| [Desktop Head Tracking](/ml_dht/README.md)| ml_dht | 1.1.3 [:arrow_down:](../../releases/latest/download/ml_dht.dll)| ✔ Yes |
| [Desktop Reticle Switch](/ml_drs/README.md)| ml_drs | 1.0.0 [:arrow_down:](../../releases/latest/download/ml_drs.dll)| ✔ Yes |
| [Extended Game Notifications](/ml_egn/README.md) | ml_egn | 1.0.2 [:arrow_down:](../../releases/latest/download/ml_egn.dll)| ✔ Yes |
-| [Leap Motion Extension](/ml_lme/README.md)| ml_lme | 1.3.8 [:arrow_down:](../../releases/latest/download/ml_lme.dll)| ✔ Yes |
+| [Leap Motion Extension](/ml_lme/README.md)| ml_lme | 1.3.9 [:arrow_down:](../../releases/latest/download/ml_lme.dll)| ✔ Yes
:hourglass_flowing_sand: Update review |
| [Pickup Arm Movement](/ml_pam/README.md)| ml_pam | 1.0.5 [:arrow_down:](../../releases/latest/download/ml_pam.dll)| ✔ Yes |
| [Player Movement Copycat](/ml_pmc/README.md)| ml_pmc | 1.0.0 [:arrow_down:](../../releases/latest/download/ml_pmc.dll)| ✔ Yes |
| [Player Ragdoll Mod](/ml_prm/README.md)| ml_prm | 1.0.5 [:arrow_down:](../../releases/latest/download/ml_prm.dll)| ✔ Yes |
diff --git a/ml_lme/LeapInput.cs b/ml_lme/LeapInput.cs
index 16c8f4e..38d9ffa 100644
--- a/ml_lme/LeapInput.cs
+++ b/ml_lme/LeapInput.cs
@@ -137,7 +137,7 @@ namespace ml_lme
{
ResetFingers(true);
m_handVisibleLeft = false;
- if (Settings.Gestures)
+ if(Settings.Gestures)
ResetGestures(true);
}
}
@@ -153,7 +153,7 @@ namespace ml_lme
{
ResetFingers(false);
m_handVisibleRight = false;
- if (Settings.Gestures)
+ if(Settings.Gestures)
ResetGestures(false);
}
}
@@ -174,10 +174,10 @@ namespace ml_lme
m_handRayLeft.enabled = (l_data.m_leftHand.m_present && (!m_inVR || !Utils.IsLeftHandTracked() || !Settings.FingersOnly));
m_handRayRight.enabled = (l_data.m_rightHand.m_present && (!m_inVR || !Utils.IsRightHandTracked() || !Settings.FingersOnly));
}
-
+
public override void UpdateInput()
{
- if (!Settings.Enabled)
+ if(!Settings.Enabled)
return;
GestureMatcher.LeapData l_data = LeapManager.GetInstance().GetLatestData();
@@ -241,46 +241,44 @@ namespace ml_lme
}
}
- if (Settings.Gestures)
+ if(Settings.Gestures)
{
// Left hand gestures
- if (l_data.m_leftHand.m_present && (!m_inVR || !Utils.IsLeftHandTracked() || !Settings.FingersOnly))
+ if(l_data.m_leftHand.m_present)
{
m_inputManager.gestureLeftRaw = 0f;
// Finger Point & Finger Gun
- if (m_inputManager.fingerCurlLeftIndex < 0.2f && m_inputManager.fingerCurlLeftMiddle > 0.75f &&
- m_inputManager.fingerCurlLeftRing > 0.75f && m_inputManager.fingerCurlLeftPinky > 0.75f)
+ if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle > 0.75f) &&
+ (m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky > 0.75f))
{
- m_inputManager.gestureLeftRaw = m_inputManager.fingerCurlLeftThumb >= 0.5f ? 4f : 3f;
+ m_inputManager.gestureLeftRaw = (m_inputManager.fingerCurlLeftThumb >= 0.5f) ? 4f : 3f;
}
// Peace Sign
- if (m_inputManager.fingerCurlLeftIndex < 0.2f && m_inputManager.fingerCurlLeftMiddle < 0.2f &&
- m_inputManager.fingerCurlLeftRing > 0.75f && m_inputManager.fingerCurlLeftPinky > 0.75f)
+ if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle < 0.2f) &&
+ (m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky > 0.75f))
{
m_inputManager.gestureLeftRaw = 5f;
}
// Rock and Roll
- if (m_inputManager.fingerCurlLeftIndex < 0.2f && m_inputManager.fingerCurlLeftMiddle > 0.75f &&
- m_inputManager.fingerCurlLeftRing > 0.75f && m_inputManager.fingerCurlLeftPinky < 0.5f)
+ if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle > 0.75f) &&
+ (m_inputManager.fingerCurlLeftRing > 0.75f) && (m_inputManager.fingerCurlLeftPinky < 0.5f))
{
m_inputManager.gestureLeftRaw = 6f;
}
// Fist & Thumbs Up
- if (m_inputManager.fingerCurlLeftIndex > 0.5f && m_inputManager.fingerCurlLeftMiddle > 0.5f &&
- m_inputManager.fingerCurlLeftRing > 0.5f && m_inputManager.fingerCurlLeftPinky > 0.5f)
+ if((m_inputManager.fingerCurlLeftIndex > 0.5f) && (m_inputManager.fingerCurlLeftMiddle > 0.5f) &&
+ (m_inputManager.fingerCurlLeftRing > 0.5f) && (m_inputManager.fingerCurlLeftPinky > 0.5f))
{
- m_inputManager.gestureLeftRaw = m_inputManager.fingerCurlLeftThumb >= 0.5f
- ? (l_data.m_rightHand.m_grabStrength - 0.5f) * 2f
- : 2f;
+ m_inputManager.gestureLeftRaw = (m_inputManager.fingerCurlLeftThumb >= 0.5f) ? ((l_data.m_rightHand.m_grabStrength - 0.5f) * 2f) : 2f;
}
-
+
// Open Hand
- if (m_inputManager.fingerCurlLeftIndex < 0.2f && m_inputManager.fingerCurlLeftMiddle < 0.2f &&
- m_inputManager.fingerCurlLeftRing < 0.2f && m_inputManager.fingerCurlLeftPinky < 0.2f)
+ if((m_inputManager.fingerCurlLeftIndex < 0.2f) && (m_inputManager.fingerCurlLeftMiddle < 0.2f) &&
+ (m_inputManager.fingerCurlLeftRing < 0.2f) && (m_inputManager.fingerCurlLeftPinky < 0.2f))
{
m_inputManager.gestureLeftRaw = -1f;
}
@@ -289,43 +287,41 @@ namespace ml_lme
}
// Right hand gestures
- if (l_data.m_rightHand.m_present && (!m_inVR || !Utils.IsRightHandTracked() || !Settings.FingersOnly))
+ if(l_data.m_rightHand.m_present)
{
m_inputManager.gestureRightRaw = 0f;
// Finger Point & Finger Gun
- if (m_inputManager.fingerCurlRightIndex < 0.2f && m_inputManager.fingerCurlRightMiddle > 0.75f &&
- m_inputManager.fingerCurlRightRing > 0.75f && m_inputManager.fingerCurlRightPinky > 0.75f)
+ if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle > 0.75f) &&
+ (m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky > 0.75f))
{
- m_inputManager.gestureRightRaw = m_inputManager.fingerCurlRightThumb >= 0.5f ? 4f : 3f;
+ m_inputManager.gestureRightRaw = (m_inputManager.fingerCurlRightThumb >= 0.5f) ? 4f : 3f;
}
// Peace Sign
- if (m_inputManager.fingerCurlRightIndex < 0.2f && m_inputManager.fingerCurlRightMiddle < 0.2f &&
- m_inputManager.fingerCurlRightRing > 0.75f && m_inputManager.fingerCurlRightPinky > 0.75f)
+ if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle < 0.2f) &&
+ (m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky > 0.75f))
{
m_inputManager.gestureRightRaw = 5f;
}
// Rock and Roll
- if (m_inputManager.fingerCurlRightIndex < 0.2f && m_inputManager.fingerCurlRightMiddle > 0.75f &&
- m_inputManager.fingerCurlRightRing > 0.75f && m_inputManager.fingerCurlRightPinky < 0.5f)
+ if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle > 0.75f) &&
+ (m_inputManager.fingerCurlRightRing > 0.75f) && (m_inputManager.fingerCurlRightPinky < 0.5f))
{
m_inputManager.gestureRightRaw = 6f;
}
// Fist & Thumbs Up
- if (m_inputManager.fingerCurlRightIndex > 0.5f && m_inputManager.fingerCurlRightMiddle > 0.5f &&
- m_inputManager.fingerCurlRightRing > 0.5f && m_inputManager.fingerCurlRightPinky > 0.5f)
+ if((m_inputManager.fingerCurlRightIndex > 0.5f) && (m_inputManager.fingerCurlRightMiddle > 0.5f) &&
+ (m_inputManager.fingerCurlRightRing > 0.5f) && (m_inputManager.fingerCurlRightPinky > 0.5f))
{
- m_inputManager.gestureRightRaw = m_inputManager.fingerCurlRightThumb >= 0.5f
- ? (l_data.m_rightHand.m_grabStrength - 0.5f) * 2f
- : 2f;
+ m_inputManager.gestureRightRaw = (m_inputManager.fingerCurlRightThumb >= 0.5f) ? ((l_data.m_rightHand.m_grabStrength - 0.5f) * 2f) : 2f;
}
// Open Hand
- if (m_inputManager.fingerCurlRightIndex < 0.2f && m_inputManager.fingerCurlRightMiddle < 0.2f &&
- m_inputManager.fingerCurlRightRing < 0.2f && m_inputManager.fingerCurlRightPinky < 0.2f)
+ if((m_inputManager.fingerCurlRightIndex < 0.2f) && (m_inputManager.fingerCurlRightMiddle < 0.2f) &&
+ (m_inputManager.fingerCurlRightRing < 0.2f) && (m_inputManager.fingerCurlRightPinky < 0.2f))
{
m_inputManager.gestureRightRaw = -1f;
}
@@ -462,7 +458,7 @@ namespace ml_lme
void ResetGestures(bool p_left)
{
- if (p_left)
+ if(p_left)
{
m_inputManager.gestureLeft = 0f;
m_inputManager.gestureLeftRaw = 0f;
@@ -475,7 +471,7 @@ namespace ml_lme
}
// Game settings
- void OnGameSettingBoolChange(string p_name, bool p_state)
+ void OnGameSettingBoolChange(string p_name, bool p_state)
{
if(p_name == "ControlUseGripToGrab")
m_gripToGrab = p_state;
diff --git a/ml_lme/Properties/AssemblyInfo.cs b/ml_lme/Properties/AssemblyInfo.cs
index 525b41d..872d5c1 100644
--- a/ml_lme/Properties/AssemblyInfo.cs
+++ b/ml_lme/Properties/AssemblyInfo.cs
@@ -1,10 +1,10 @@
using System.Reflection;
[assembly: AssemblyTitle("LeapMotionExtension")]
-[assembly: AssemblyVersion("1.3.8")]
-[assembly: AssemblyFileVersion("1.3.8")]
+[assembly: AssemblyVersion("1.3.9")]
+[assembly: AssemblyFileVersion("1.3.9")]
-[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.3.8", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
+[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.3.9", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
[assembly: MelonLoader.MelonOptionalDependencies("ml_pmc")]
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
diff --git a/ml_lme/README.md b/ml_lme/README.md
index f523f1e..901a93b 100644
--- a/ml_lme/README.md
+++ b/ml_lme/README.md
@@ -23,5 +23,6 @@ Available mod's settings in `Settings - Implementation - Leap Motion Tracking`:
* **Model visibility:** shows Leap Motion controller model, useful for tracking visualizing, disabled by default.
* **Visualize hands:** shows overlayed hands model, disabled by default.
* **Interaction input:** enables in-game interactions (props, menu and etc.); `true` by default.
+* **Recognize gestures:** sets avatar gestures (fist, gun, rock'n'roll and etc.) based on current fingers pose; `false` by default.
* **Interact gesture threadhold:** activation limit for interaction based on hand gesture; 80 by default.
* **Grip gesture threadhold:** activation limit for grip based on hand gesture; 40 by default.
diff --git a/ml_lme/resources/menu.js b/ml_lme/resources/menu.js
index b6f455e..82f9d4d 100644
--- a/ml_lme/resources/menu.js
+++ b/ml_lme/resources/menu.js
@@ -400,7 +400,7 @@ function inp_dropdown_mod_lme(_obj, _callbackName) {