diff --git a/ml_aci/Main.cs b/ml_aci/Main.cs
new file mode 100644
index 0000000..fab8acc
--- /dev/null
+++ b/ml_aci/Main.cs
@@ -0,0 +1,23 @@
+using ABI_RC.Core.UI;
+using ABI_RC.Core.EventSystem;
+
+namespace ml_aci
+{
+ public class AvatarChangeInfo : MelonLoader.MelonMod
+ {
+ public override void OnApplicationStart()
+ {
+ HarmonyInstance.Patch(
+ typeof(AssetManagement).GetMethod(nameof(AssetManagement.LoadLocalAvatar)),
+ null,
+ new HarmonyLib.HarmonyMethod(typeof(AvatarChangeInfo).GetMethod(nameof(OnLocalAvatarLoad), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
+ );
+ }
+
+ static void OnLocalAvatarLoad()
+ {
+ if(CohtmlHud.Instance != null)
+ CohtmlHud.Instance.ViewDropText("Avatar changed", "Please, wait ...");
+ }
+ }
+}
diff --git a/ml_aci/Properties/AssemblyInfo.cs b/ml_aci/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..9a3c537
--- /dev/null
+++ b/ml_aci/Properties/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Reflection;
+
+[assembly: AssemblyTitle("AvatarChangeInfo")]
+[assembly: AssemblyVersion("1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0")]
+
+[assembly: MelonLoader.MelonInfo(typeof(ml_aci.AvatarChangeInfo), "AvatarChangeInfo", "1.0.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
+[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
+[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
+[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
\ No newline at end of file
diff --git a/ml_aci/ml_aci.csproj b/ml_aci/ml_aci.csproj
new file mode 100644
index 0000000..562ab8b
--- /dev/null
+++ b/ml_aci/ml_aci.csproj
@@ -0,0 +1,74 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {1B5ACA07-6266-4C9A-BA30-D4BBE6634846}
+ Library
+ Properties
+ ml_aci
+ ml_aci
+ v4.7.2
+ 512
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+ False
+ F:\games\Steam\common\ChilloutVR\MelonLoader\0Harmony.dll
+ False
+
+
+ False
+ F:\games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp.dll
+ False
+
+
+ False
+ F:\games\Steam\common\ChilloutVR\MelonLoader\MelonLoader.dll
+ False
+
+
+
+
+
+
+
+
+
+ False
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+ copy /y "$(TargetPath)" "C:\Games\Steam\common\ChilloutVR\Mods\"
+
+
\ No newline at end of file
diff --git a/ml_lme_cvr/ml_lme_cvr.csproj.user b/ml_aci/ml_aci.csproj.user
similarity index 100%
rename from ml_lme_cvr/ml_lme_cvr.csproj.user
rename to ml_aci/ml_aci.csproj.user
diff --git a/ml_drs/Main.cs b/ml_drs/Main.cs
new file mode 100644
index 0000000..29da25a
--- /dev/null
+++ b/ml_drs/Main.cs
@@ -0,0 +1,17 @@
+using ABI_RC.Core.UI;
+using UnityEngine;
+
+namespace ml_drs
+{
+ public class DesktopRectileSwitch : MelonLoader.MelonMod
+ {
+ public override void OnUpdate()
+ {
+ if(Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.R))
+ {
+ if((CohtmlHud.Instance != null) && (CohtmlHud.Instance.desktopPointer != null))
+ CohtmlHud.Instance.desktopPointer.SetActive(!CohtmlHud.Instance.desktopPointer.activeSelf);
+ }
+ }
+ }
+}
diff --git a/ml_drs/Properties/AssemblyInfo.cs b/ml_drs/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..b69d7a0
--- /dev/null
+++ b/ml_drs/Properties/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Reflection;
+
+[assembly: AssemblyTitle("DesktopRectileSwitch")]
+[assembly: AssemblyVersion("1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0")]
+
+[assembly: MelonLoader.MelonInfo(typeof(ml_drs.DesktopRectileSwitch), "DesktopRectileSwitch", "1.0.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
+[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
+[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
+[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
\ No newline at end of file
diff --git a/ml_drs/ml_drs.csproj b/ml_drs/ml_drs.csproj
new file mode 100644
index 0000000..41b71ab
--- /dev/null
+++ b/ml_drs/ml_drs.csproj
@@ -0,0 +1,74 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {06CD5155-4459-48C3-8A53-E0B91136351B}
+ Library
+ Properties
+ ml_drs
+ ml_drs
+ v4.7.2
+ 512
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+ False
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\cohtml.Net.dll
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\Cohtml.Runtime.dll
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\MelonLoader\MelonLoader.dll
+ False
+
+
+
+
+
+
+
+
+
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.InputLegacyModule.dll
+ False
+
+
+
+
+
+
+
+
+ copy /y "$(TargetPath)" "C:\Games\Steam\common\ChilloutVR\Mods\"
+
+
\ No newline at end of file
diff --git a/ml_drs/ml_drs.csproj.user b/ml_drs/ml_drs.csproj.user
new file mode 100644
index 0000000..2539084
--- /dev/null
+++ b/ml_drs/ml_drs.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ C:\Games\Steam\common\ChilloutVR\MelonLoader\;C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\
+
+
\ No newline at end of file
diff --git a/ml_fpt/Main.cs b/ml_fpt/Main.cs
new file mode 100644
index 0000000..e82f4cf
--- /dev/null
+++ b/ml_fpt/Main.cs
@@ -0,0 +1,50 @@
+using ABI_RC.Core.Player;
+using ABI_RC.Core.UI;
+using UnityEngine;
+
+namespace ml_fpt
+{
+ public class FourPointTracking : MelonLoader.MelonMod
+ {
+ static readonly Vector4 ms_pointVector4 = new Vector4(0f, 0f, 0f, 1f);
+
+ public override void OnUpdate()
+ {
+ if(Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.T))
+ CalibrateHipsTracker(); // Separated, awaiting for release of UI mod
+ }
+
+ static void CalibrateHipsTracker()
+ {
+ bool l_result = false;
+
+ if((PlayerSetup.Instance != null) && PlayerSetup.Instance._inVr && (PlayerSetup.Instance._animator != null) && PlayerSetup.Instance._animator.isHuman)
+ {
+ for(int i = 0; i < PlayerSetup.Instance._trackerManager.trackerNames.Length; i++)
+ {
+ if(PlayerSetup.Instance._trackerManager.trackerNames[i] == "vive_tracker_waist")
+ {
+ Transform l_target = PlayerSetup.Instance._trackerManager.trackers[i].target;
+ Matrix4x4 l_offset = PlayerSetup.Instance._trackerManager.trackers[i].transform.GetMatrix().inverse * PlayerSetup.Instance._animator.GetBoneTransform(HumanBodyBones.Hips).GetMatrix();
+ l_target.localPosition = l_offset * ms_pointVector4;
+ l_target.localRotation = l_offset.rotation;
+
+ var l_vrIK = PlayerSetup.Instance._avatar.GetComponent();
+ if((l_vrIK != null) && (l_vrIK.solver?.spine != null))
+ {
+ l_vrIK.solver.spine.pelvisTarget = l_target;
+ l_vrIK.solver.spine.pelvisPositionWeight = 1f;
+ l_vrIK.solver.spine.pelvisRotationWeight = 1f;
+ }
+
+ l_result = true;
+ break;
+ }
+ }
+ }
+
+ if(CohtmlHud.Instance != null)
+ CohtmlHud.Instance.ViewDropText("4-Point Tracking", (l_result ? "Calibration successful" : "Calibration failed"));
+ }
+ }
+}
diff --git a/ml_fpt/Properties/AssemblyInfo.cs b/ml_fpt/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..d5cb18a
--- /dev/null
+++ b/ml_fpt/Properties/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Reflection;
+
+[assembly: AssemblyTitle("FourPointTracking")]
+[assembly: AssemblyVersion("1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0")]
+
+[assembly: MelonLoader.MelonInfo(typeof(ml_fpt.FourPointTracking), "FourPointTracking", "1.0.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
+[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
+[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
+[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
\ No newline at end of file
diff --git a/ml_fpt/Utils.cs b/ml_fpt/Utils.cs
new file mode 100644
index 0000000..dac0a0b
--- /dev/null
+++ b/ml_fpt/Utils.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace ml_fpt
+{
+ static class Utils
+ {
+ // Extensions
+ public static Matrix4x4 GetMatrix(this Transform p_transform, bool p_pos = true, bool p_rot = true, bool p_scl = false)
+ {
+ return Matrix4x4.TRS(p_pos ? p_transform.position : Vector3.zero, p_rot ? p_transform.rotation : Quaternion.identity, p_scl ? p_transform.localScale : Vector3.one);
+ }
+ }
+}
diff --git a/ml_fpt/ml_fpt.csproj b/ml_fpt/ml_fpt.csproj
new file mode 100644
index 0000000..1267f5a
--- /dev/null
+++ b/ml_fpt/ml_fpt.csproj
@@ -0,0 +1,87 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {EC0A8C41-A429-42CD-B8FA-401A802D4BA6}
+ Library
+ Properties
+ ml_fpt
+ ml_fpt
+ v4.7.2
+ 512
+ true
+
+
+
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp.dll
+ False
+
+
+ False
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp-firstpass.dll
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\cohtml.Net.dll
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\Cohtml.Runtime.dll
+ False
+
+
+ C:\Games\Steam\common\ChilloutVR\MelonLoader\MelonLoader.dll
+ False
+
+
+
+
+
+
+
+
+
+ False
+
+
+ False
+
+
+ False
+ C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.InputLegacyModule.dll
+ False
+
+
+
+
+
+
+
+
+
+ copy /y "$(TargetPath)" "C:\Games\Steam\common\ChilloutVR\Mods\
+
+
\ No newline at end of file
diff --git a/ml_fpt/ml_fpt.csproj.user b/ml_fpt/ml_fpt.csproj.user
new file mode 100644
index 0000000..2539084
--- /dev/null
+++ b/ml_fpt/ml_fpt.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ C:\Games\Steam\common\ChilloutVR\MelonLoader\;C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\
+
+
\ No newline at end of file
diff --git a/ml_lme_cvr/AssetsHandler.cs b/ml_lme/AssetsHandler.cs
similarity index 99%
rename from ml_lme_cvr/AssetsHandler.cs
rename to ml_lme/AssetsHandler.cs
index 3fc4ad2..bbbb1e7 100644
--- a/ml_lme_cvr/AssetsHandler.cs
+++ b/ml_lme/AssetsHandler.cs
@@ -3,7 +3,7 @@ using System.IO;
using System.Reflection;
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
static class AssetsHandler
{
diff --git a/ml_lme_cvr/DependenciesHandler.cs b/ml_lme/DependenciesHandler.cs
similarity index 99%
rename from ml_lme_cvr/DependenciesHandler.cs
rename to ml_lme/DependenciesHandler.cs
index 430f605..0dd928b 100644
--- a/ml_lme_cvr/DependenciesHandler.cs
+++ b/ml_lme/DependenciesHandler.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Reflection;
using System.Security.Cryptography;
-namespace ml_lme_cvr
+namespace ml_lme
{
static class DependenciesHandler
{
diff --git a/ml_lme_cvr/GestureMatcher.cs b/ml_lme/GestureMatcher.cs
similarity index 99%
rename from ml_lme_cvr/GestureMatcher.cs
rename to ml_lme/GestureMatcher.cs
index 3db5346..3777ff7 100644
--- a/ml_lme_cvr/GestureMatcher.cs
+++ b/ml_lme/GestureMatcher.cs
@@ -1,6 +1,6 @@
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
static class GestureMatcher
{
diff --git a/ml_lme_cvr/LeapIK.cs b/ml_lme/LeapIK.cs
similarity index 99%
rename from ml_lme_cvr/LeapIK.cs
rename to ml_lme/LeapIK.cs
index 8e3b1b9..356239d 100644
--- a/ml_lme_cvr/LeapIK.cs
+++ b/ml_lme/LeapIK.cs
@@ -1,6 +1,6 @@
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
[RequireComponent(typeof(Animator))]
[DisallowMultipleComponent]
diff --git a/ml_lme_cvr/LeapTracked.cs b/ml_lme/LeapTracked.cs
similarity index 99%
rename from ml_lme_cvr/LeapTracked.cs
rename to ml_lme/LeapTracked.cs
index ad8c9a9..78bde4f 100644
--- a/ml_lme_cvr/LeapTracked.cs
+++ b/ml_lme/LeapTracked.cs
@@ -3,7 +3,7 @@ using ABI_RC.Core.Savior;
using System.Linq;
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
[RequireComponent(typeof(IndexIK))]
[DisallowMultipleComponent]
diff --git a/ml_lme_cvr/Main.cs b/ml_lme/Main.cs
similarity index 99%
rename from ml_lme_cvr/Main.cs
rename to ml_lme/Main.cs
index f20775f..76b06f2 100644
--- a/ml_lme_cvr/Main.cs
+++ b/ml_lme/Main.cs
@@ -2,7 +2,7 @@
using ABI_RC.Core.UI;
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
public class LeapMotionExtension : MelonLoader.MelonMod
diff --git a/ml_lme_cvr/Properties/AssemblyInfo.cs b/ml_lme/Properties/AssemblyInfo.cs
similarity index 73%
rename from ml_lme_cvr/Properties/AssemblyInfo.cs
rename to ml_lme/Properties/AssemblyInfo.cs
index 5ee5bc9..57416e3 100644
--- a/ml_lme_cvr/Properties/AssemblyInfo.cs
+++ b/ml_lme/Properties/AssemblyInfo.cs
@@ -4,7 +4,7 @@
[assembly: AssemblyVersion("1.0.7")]
[assembly: AssemblyFileVersion("1.0.7")]
-[assembly: MelonLoader.MelonInfo(typeof(ml_lme_cvr.LeapMotionExtension), "LeapMotionExtension", "1.0.7", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
+[assembly: MelonLoader.MelonInfo(typeof(ml_lme.LeapMotionExtension), "LeapMotionExtension", "1.0.7", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
diff --git a/ml_lme_cvr/README.md b/ml_lme/README.md
similarity index 100%
rename from ml_lme_cvr/README.md
rename to ml_lme/README.md
diff --git a/ml_lme_cvr/Settings.cs b/ml_lme/Settings.cs
similarity index 99%
rename from ml_lme_cvr/Settings.cs
rename to ml_lme/Settings.cs
index d4d2fd2..2130a49 100644
--- a/ml_lme_cvr/Settings.cs
+++ b/ml_lme/Settings.cs
@@ -2,7 +2,7 @@
using System;
using UnityEngine;
-namespace ml_lme_cvr
+namespace ml_lme
{
static class Settings
{
diff --git a/ml_lme_cvr/Utils.cs b/ml_lme/Utils.cs
similarity index 88%
rename from ml_lme_cvr/Utils.cs
rename to ml_lme/Utils.cs
index 8cb3ded..2040962 100644
--- a/ml_lme_cvr/Utils.cs
+++ b/ml_lme/Utils.cs
@@ -1,4 +1,4 @@
-namespace ml_lme_cvr
+namespace ml_lme
{
static class Utils
{
diff --git a/ml_lme_cvr/ml_lme_cvr.csproj b/ml_lme/ml_lme.csproj
similarity index 98%
rename from ml_lme_cvr/ml_lme_cvr.csproj
rename to ml_lme/ml_lme.csproj
index a906f0b..8a5724b 100644
--- a/ml_lme_cvr/ml_lme_cvr.csproj
+++ b/ml_lme/ml_lme.csproj
@@ -7,8 +7,8 @@
{83CC74B7-F444-40E1-BD06-67CEC995A919}
Library
Properties
- ml_lme_cvr
- ml_lme_cvr
+ ml_lme
+ ml_lme
v4.7.2
512
true
diff --git a/ml_lme/ml_lme.csproj.user b/ml_lme/ml_lme.csproj.user
new file mode 100644
index 0000000..2539084
--- /dev/null
+++ b/ml_lme/ml_lme.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ C:\Games\Steam\common\ChilloutVR\MelonLoader\;C:\Games\Steam\common\ChilloutVR\ChilloutVR_Data\Managed\
+
+
\ No newline at end of file
diff --git a/ml_lme_cvr/resources/leapmotion_controller.asset b/ml_lme/resources/leapmotion_controller.asset
similarity index 100%
rename from ml_lme_cvr/resources/leapmotion_controller.asset
rename to ml_lme/resources/leapmotion_controller.asset
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Arm.cs b/ml_lme/vendor/LeapCSharp/Arm.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Arm.cs
rename to ml_lme/vendor/LeapCSharp/Arm.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Bone.cs b/ml_lme/vendor/LeapCSharp/Bone.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Bone.cs
rename to ml_lme/vendor/LeapCSharp/Bone.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/CSharpExtensions.cs b/ml_lme/vendor/LeapCSharp/CSharpExtensions.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/CSharpExtensions.cs
rename to ml_lme/vendor/LeapCSharp/CSharpExtensions.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/CircularObjectBuffer.cs b/ml_lme/vendor/LeapCSharp/CircularObjectBuffer.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/CircularObjectBuffer.cs
rename to ml_lme/vendor/LeapCSharp/CircularObjectBuffer.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Config.cs b/ml_lme/vendor/LeapCSharp/Config.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Config.cs
rename to ml_lme/vendor/LeapCSharp/Config.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Connection.cs b/ml_lme/vendor/LeapCSharp/Connection.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Connection.cs
rename to ml_lme/vendor/LeapCSharp/Connection.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Controller.cs b/ml_lme/vendor/LeapCSharp/Controller.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Controller.cs
rename to ml_lme/vendor/LeapCSharp/Controller.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/CopyFromLeapCExtensions.cs b/ml_lme/vendor/LeapCSharp/CopyFromLeapCExtensions.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/CopyFromLeapCExtensions.cs
rename to ml_lme/vendor/LeapCSharp/CopyFromLeapCExtensions.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/CopyFromOtherExtensions.cs b/ml_lme/vendor/LeapCSharp/CopyFromOtherExtensions.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/CopyFromOtherExtensions.cs
rename to ml_lme/vendor/LeapCSharp/CopyFromOtherExtensions.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Device.cs b/ml_lme/vendor/LeapCSharp/Device.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Device.cs
rename to ml_lme/vendor/LeapCSharp/Device.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/DeviceList.cs b/ml_lme/vendor/LeapCSharp/DeviceList.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/DeviceList.cs
rename to ml_lme/vendor/LeapCSharp/DeviceList.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/DistortionData.cs b/ml_lme/vendor/LeapCSharp/DistortionData.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/DistortionData.cs
rename to ml_lme/vendor/LeapCSharp/DistortionData.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Events.cs b/ml_lme/vendor/LeapCSharp/Events.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Events.cs
rename to ml_lme/vendor/LeapCSharp/Events.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/FailedDevice.cs b/ml_lme/vendor/LeapCSharp/FailedDevice.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/FailedDevice.cs
rename to ml_lme/vendor/LeapCSharp/FailedDevice.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/FailedDeviceList.cs b/ml_lme/vendor/LeapCSharp/FailedDeviceList.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/FailedDeviceList.cs
rename to ml_lme/vendor/LeapCSharp/FailedDeviceList.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Finger.cs b/ml_lme/vendor/LeapCSharp/Finger.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Finger.cs
rename to ml_lme/vendor/LeapCSharp/Finger.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Frame.cs b/ml_lme/vendor/LeapCSharp/Frame.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Frame.cs
rename to ml_lme/vendor/LeapCSharp/Frame.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Hand.cs b/ml_lme/vendor/LeapCSharp/Hand.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Hand.cs
rename to ml_lme/vendor/LeapCSharp/Hand.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/IController.cs b/ml_lme/vendor/LeapCSharp/IController.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/IController.cs
rename to ml_lme/vendor/LeapCSharp/IController.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Image.cs b/ml_lme/vendor/LeapCSharp/Image.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Image.cs
rename to ml_lme/vendor/LeapCSharp/Image.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/ImageData.cs b/ml_lme/vendor/LeapCSharp/ImageData.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/ImageData.cs
rename to ml_lme/vendor/LeapCSharp/ImageData.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/LeapC.cs b/ml_lme/vendor/LeapCSharp/LeapC.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/LeapC.cs
rename to ml_lme/vendor/LeapCSharp/LeapC.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/LeapQuaternion.cs b/ml_lme/vendor/LeapCSharp/LeapQuaternion.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/LeapQuaternion.cs
rename to ml_lme/vendor/LeapCSharp/LeapQuaternion.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/LeapTransform.cs b/ml_lme/vendor/LeapCSharp/LeapTransform.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/LeapTransform.cs
rename to ml_lme/vendor/LeapCSharp/LeapTransform.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Logger.cs b/ml_lme/vendor/LeapCSharp/Logger.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Logger.cs
rename to ml_lme/vendor/LeapCSharp/Logger.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Matrix.cs b/ml_lme/vendor/LeapCSharp/Matrix.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Matrix.cs
rename to ml_lme/vendor/LeapCSharp/Matrix.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/MemoryManager.cs b/ml_lme/vendor/LeapCSharp/MemoryManager.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/MemoryManager.cs
rename to ml_lme/vendor/LeapCSharp/MemoryManager.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/MessageSeverity.cs b/ml_lme/vendor/LeapCSharp/MessageSeverity.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/MessageSeverity.cs
rename to ml_lme/vendor/LeapCSharp/MessageSeverity.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/PointMapping.cs b/ml_lme/vendor/LeapCSharp/PointMapping.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/PointMapping.cs
rename to ml_lme/vendor/LeapCSharp/PointMapping.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/StructMarshal.cs b/ml_lme/vendor/LeapCSharp/StructMarshal.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/StructMarshal.cs
rename to ml_lme/vendor/LeapCSharp/StructMarshal.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/TransformExtensions.cs b/ml_lme/vendor/LeapCSharp/TransformExtensions.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/TransformExtensions.cs
rename to ml_lme/vendor/LeapCSharp/TransformExtensions.cs
diff --git a/ml_lme_cvr/vendor/LeapCSharp/Vector.cs b/ml_lme/vendor/LeapCSharp/Vector.cs
similarity index 100%
rename from ml_lme_cvr/vendor/LeapCSharp/Vector.cs
rename to ml_lme/vendor/LeapCSharp/Vector.cs
diff --git a/ml_lme_cvr/vendor/LeapSDK/LICENSE.md b/ml_lme/vendor/LeapSDK/LICENSE.md
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/LICENSE.md
rename to ml_lme/vendor/LeapSDK/LICENSE.md
diff --git a/ml_lme_cvr/vendor/LeapSDK/README.md b/ml_lme/vendor/LeapSDK/README.md
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/README.md
rename to ml_lme/vendor/LeapSDK/README.md
diff --git a/ml_lme_cvr/vendor/LeapSDK/ThirdPartyNotices.md b/ml_lme/vendor/LeapSDK/ThirdPartyNotices.md
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/ThirdPartyNotices.md
rename to ml_lme/vendor/LeapSDK/ThirdPartyNotices.md
diff --git a/ml_lme_cvr/vendor/LeapSDK/lib/x64/LICENSE.protobuf b/ml_lme/vendor/LeapSDK/lib/x64/LICENSE.protobuf
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/lib/x64/LICENSE.protobuf
rename to ml_lme/vendor/LeapSDK/lib/x64/LICENSE.protobuf
diff --git a/ml_lme_cvr/vendor/LeapSDK/lib/x64/LeapC.dll b/ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/lib/x64/LeapC.dll
rename to ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll
diff --git a/ml_lme_cvr/vendor/LeapSDK/lib/x64/LeapC.lib b/ml_lme/vendor/LeapSDK/lib/x64/LeapC.lib
similarity index 100%
rename from ml_lme_cvr/vendor/LeapSDK/lib/x64/LeapC.lib
rename to ml_lme/vendor/LeapSDK/lib/x64/LeapC.lib
diff --git a/ml_lme_cvr/.github/img_01.png b/ml_lme_cvr/.github/img_01.png
deleted file mode 100644
index 9b42233..0000000
Binary files a/ml_lme_cvr/.github/img_01.png and /dev/null differ
diff --git a/ml_mods_cvr.sln b/ml_mods_cvr.sln
index 79199f4..ef4975b 100644
--- a/ml_mods_cvr.sln
+++ b/ml_mods_cvr.sln
@@ -3,7 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1738
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ml_lme_cvr", "ml_lme_cvr\ml_lme_cvr.csproj", "{83CC74B7-F444-40E1-BD06-67CEC995A919}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ml_fpt", "ml_fpt\ml_fpt.csproj", "{EC0A8C41-A429-42CD-B8FA-401A802D4BA6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ml_lme", "ml_lme\ml_lme.csproj", "{83CC74B7-F444-40E1-BD06-67CEC995A919}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ml_aci", "ml_aci\ml_aci.csproj", "{1B5ACA07-6266-4C9A-BA30-D4BBE6634846}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ml_drs", "ml_drs\ml_drs.csproj", "{06CD5155-4459-48C3-8A53-E0B91136351B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +17,22 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EC0A8C41-A429-42CD-B8FA-401A802D4BA6}.Debug|x64.ActiveCfg = Debug|x64
+ {EC0A8C41-A429-42CD-B8FA-401A802D4BA6}.Debug|x64.Build.0 = Debug|x64
+ {EC0A8C41-A429-42CD-B8FA-401A802D4BA6}.Release|x64.ActiveCfg = Release|x64
+ {EC0A8C41-A429-42CD-B8FA-401A802D4BA6}.Release|x64.Build.0 = Release|x64
{83CC74B7-F444-40E1-BD06-67CEC995A919}.Debug|x64.ActiveCfg = Debug|x64
{83CC74B7-F444-40E1-BD06-67CEC995A919}.Debug|x64.Build.0 = Debug|x64
{83CC74B7-F444-40E1-BD06-67CEC995A919}.Release|x64.ActiveCfg = Release|x64
{83CC74B7-F444-40E1-BD06-67CEC995A919}.Release|x64.Build.0 = Release|x64
+ {1B5ACA07-6266-4C9A-BA30-D4BBE6634846}.Debug|x64.ActiveCfg = Debug|x64
+ {1B5ACA07-6266-4C9A-BA30-D4BBE6634846}.Debug|x64.Build.0 = Debug|x64
+ {1B5ACA07-6266-4C9A-BA30-D4BBE6634846}.Release|x64.ActiveCfg = Release|x64
+ {1B5ACA07-6266-4C9A-BA30-D4BBE6634846}.Release|x64.Build.0 = Release|x64
+ {06CD5155-4459-48C3-8A53-E0B91136351B}.Debug|x64.ActiveCfg = Debug|x64
+ {06CD5155-4459-48C3-8A53-E0B91136351B}.Debug|x64.Build.0 = Debug|x64
+ {06CD5155-4459-48C3-8A53-E0B91136351B}.Release|x64.ActiveCfg = Release|x64
+ {06CD5155-4459-48C3-8A53-E0B91136351B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE