mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-03 18:39:23 +00:00
Fixes for build 2022r169
This commit is contained in:
parent
c3f063ff3e
commit
24849e25ca
10 changed files with 44 additions and 48 deletions
10
README.md
10
README.md
|
@ -1,12 +1,12 @@
|
||||||
Merged set of MelonLoader mods for ChilloutVR.
|
Merged set of MelonLoader mods for ChilloutVR.
|
||||||
|
|
||||||
**State table for game build 2022r168p2:**
|
**State table for game build 2022r169:**
|
||||||
| Full name | Short name | Latest version | Available in [CVRMA](https://github.com/knah/CVRMelonAssistant) | Current Status | Notes |
|
| Full name | Short name | Latest version | Available in [CVRMA](https://github.com/knah/CVRMelonAssistant) | Current Status | Notes |
|
||||||
|-----------|------------|----------------|-----------------------------------------------------------------|----------------|-------|
|
|-----------|------------|----------------|-----------------------------------------------------------------|----------------|-------|
|
||||||
| Avatar Change Info | ml_aci | 1.0.2 | Yes | Working |
|
| Avatar Change Info | ml_aci | 1.0.2 | Yes | Working |
|
||||||
| Avatar Motion Tweaker | ml_amt | 1.1.0 | Yes | Working |
|
| Avatar Motion Tweaker | ml_amt | 1.1.1 | On review | Working |
|
||||||
| Desktop Head Tracking | ml_dht | 1.0.2 | Yes | Working |
|
| Desktop Head Tracking | ml_dht | 1.0.3 | On review | Working |
|
||||||
| Desktop Reticle Switch | ml_drs | 1.0.0 | Yes | Working |
|
| Desktop Reticle Switch | ml_drs | 1.0.0 | Yes | Working |
|
||||||
| Four Point Tracking | ml_fpt | 1.0.6 | Yes | Working |
|
| Four Point Tracking | ml_fpt | 1.0.7 | On review | Working |
|
||||||
| Leap Motion Extension | ml_lme | 1.1.8 | Yes | Working |
|
| Leap Motion Extension | ml_lme | 1.1.8 | Yes | Working partially | No tracking in VR |
|
||||||
| Server Connection Info | ml_sci | 1.0.1 | Yes | Working |
|
| Server Connection Info | ml_sci | 1.0.1 | Yes | Working |
|
||||||
|
|
|
@ -10,7 +10,8 @@ namespace ml_amt
|
||||||
|
|
||||||
public override void OnApplicationStart()
|
public override void OnApplicationStart()
|
||||||
{
|
{
|
||||||
ms_instance = this;
|
if(ms_instance == null)
|
||||||
|
ms_instance = this;
|
||||||
|
|
||||||
Settings.Init();
|
Settings.Init();
|
||||||
Settings.IKOverrideCrouchChange += this.OnIKOverrideCrouchChange;
|
Settings.IKOverrideCrouchChange += this.OnIKOverrideCrouchChange;
|
||||||
|
@ -27,9 +28,9 @@ namespace ml_amt
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AvatarMotionTweaker).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
new HarmonyLib.HarmonyMethod(typeof(AvatarMotionTweaker).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
||||||
);
|
);
|
||||||
HarmonyInstance.Patch(
|
HarmonyInstance.Patch(
|
||||||
typeof(PlayerSetup).GetMethod("SetupAvatarGeneral", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic),
|
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.CalibrateAvatar)),
|
||||||
null,
|
null,
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AvatarMotionTweaker).GetMethod(nameof(OnSetupAvatarGeneral_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
new HarmonyLib.HarmonyMethod(typeof(AvatarMotionTweaker).GetMethod(nameof(OnCalibrateAvatar_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
||||||
);
|
);
|
||||||
|
|
||||||
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
MelonLoader.MelonCoroutines.Start(WaitForLocalPlayer());
|
||||||
|
@ -100,13 +101,13 @@ namespace ml_amt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnSetupAvatarGeneral_Postfix() => ms_instance?.OnSetupAvatarGeneral();
|
static void OnCalibrateAvatar_Postfix() => ms_instance?.OnCalibrateAvatar();
|
||||||
void OnSetupAvatarGeneral()
|
void OnCalibrateAvatar()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(m_localTweaker != null)
|
if(m_localTweaker != null)
|
||||||
m_localTweaker.OnSetupAvatarGeneral();
|
m_localTweaker.OnCalibrateAvatar();
|
||||||
}
|
}
|
||||||
catch(System.Exception l_exception)
|
catch(System.Exception l_exception)
|
||||||
{
|
{
|
||||||
|
|
|
@ -168,7 +168,7 @@ namespace ml_amt
|
||||||
m_parameters.Clear();
|
m_parameters.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnSetupAvatarGeneral()
|
public void OnCalibrateAvatar()
|
||||||
{
|
{
|
||||||
m_vrIk = PlayerSetup.Instance._avatar.GetComponent<VRIK>();
|
m_vrIk = PlayerSetup.Instance._avatar.GetComponent<VRIK>();
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyTitle("AvatarMotionTweaker")]
|
[assembly: AssemblyTitle("AvatarMotionTweaker")]
|
||||||
[assembly: AssemblyVersion("1.1.0")]
|
[assembly: AssemblyVersion("1.1.1")]
|
||||||
[assembly: AssemblyFileVersion("1.1.0")]
|
[assembly: AssemblyFileVersion("1.1.1")]
|
||||||
|
|
||||||
[assembly: MelonLoader.MelonInfo(typeof(ml_amt.AvatarMotionTweaker), "AvatarMotionTweaker", "1.1.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
[assembly: MelonLoader.MelonInfo(typeof(ml_amt.AvatarMotionTweaker), "AvatarMotionTweaker", "1.1.1", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||||
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||||
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
|
@ -93,7 +93,7 @@ namespace ml_dht
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnSetupAvatarGeneral()
|
public void OnCalibrateAvatar()
|
||||||
{
|
{
|
||||||
m_avatarDescriptior = PlayerSetup.Instance._avatar.GetComponent<CVRAvatar>();
|
m_avatarDescriptior = PlayerSetup.Instance._avatar.GetComponent<CVRAvatar>();
|
||||||
m_headBone = PlayerSetup.Instance._animator.GetBoneTransform(HumanBodyBones.Head);
|
m_headBone = PlayerSetup.Instance._animator.GetBoneTransform(HumanBodyBones.Head);
|
||||||
|
|
|
@ -36,9 +36,9 @@ namespace ml_dht
|
||||||
new HarmonyLib.HarmonyMethod(typeof(DesktopHeadTracking).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
new HarmonyLib.HarmonyMethod(typeof(DesktopHeadTracking).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
||||||
);
|
);
|
||||||
HarmonyInstance.Patch(
|
HarmonyInstance.Patch(
|
||||||
typeof(PlayerSetup).GetMethod("SetupAvatarGeneral", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic),
|
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.CalibrateAvatar)),
|
||||||
null,
|
null,
|
||||||
new HarmonyLib.HarmonyMethod(typeof(DesktopHeadTracking).GetMethod(nameof(OnSetupAvatarGeneral_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
new HarmonyLib.HarmonyMethod(typeof(DesktopHeadTracking).GetMethod(nameof(OnCalibrateAvatar_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
||||||
);
|
);
|
||||||
HarmonyInstance.Patch(
|
HarmonyInstance.Patch(
|
||||||
typeof(CVREyeController).GetMethod("Update", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic),
|
typeof(CVREyeController).GetMethod("Update", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic),
|
||||||
|
@ -96,13 +96,13 @@ namespace ml_dht
|
||||||
m_localTracked.SetFaceOverride(p_state);
|
m_localTracked.SetFaceOverride(p_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnSetupAvatarGeneral_Postfix() => ms_instance?.OnSetupAvatarGeneral();
|
static void OnCalibrateAvatar_Postfix() => ms_instance?.OnCalibrateAvatar();
|
||||||
void OnSetupAvatarGeneral()
|
void OnCalibrateAvatar()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(m_localTracked != null)
|
if(m_localTracked != null)
|
||||||
m_localTracked.OnSetupAvatarGeneral();
|
m_localTracked.OnCalibrateAvatar();
|
||||||
}
|
}
|
||||||
catch(System.Exception e)
|
catch(System.Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyTitle("DesktopHeadTracking")]
|
[assembly: AssemblyTitle("DesktopHeadTracking")]
|
||||||
[assembly: AssemblyVersion("1.0.2")]
|
[assembly: AssemblyVersion("1.0.3")]
|
||||||
[assembly: AssemblyFileVersion("1.0.2")]
|
[assembly: AssemblyFileVersion("1.0.3")]
|
||||||
|
|
||||||
[assembly: MelonLoader.MelonInfo(typeof(ml_dht.DesktopHeadTracking), "DesktopHeadTracking", "1.0.2", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
[assembly: MelonLoader.MelonInfo(typeof(ml_dht.DesktopHeadTracking), "DesktopHeadTracking", "1.0.3", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||||
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||||
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
|
@ -24,6 +24,3 @@ Available mod's settings in `Settings - Implementation - Desktop Head Tracking`:
|
||||||
|
|
||||||
# Known compatible tracking software
|
# Known compatible tracking software
|
||||||
* [VSeeFace](https://www.vseeface.icu) with [Tracking Data Parser mod](https://github.com/SDraw/ml_mods_vsf)
|
* [VSeeFace](https://www.vseeface.icu) with [Tracking Data Parser mod](https://github.com/SDraw/ml_mods_vsf)
|
||||||
|
|
||||||
# Notes
|
|
||||||
* Blinking doesn't work for remote players due to [game's bug](https://feedback.abinteractive.net/p/overrided-blinking-state-isn-t-copied-to-movement-data-from-network).
|
|
||||||
|
|
|
@ -3,6 +3,8 @@ using ABI_RC.Core.InteractionSystem;
|
||||||
using ABI_RC.Core.Player;
|
using ABI_RC.Core.Player;
|
||||||
using ABI_RC.Core.Savior;
|
using ABI_RC.Core.Savior;
|
||||||
using ABI_RC.Core.UI;
|
using ABI_RC.Core.UI;
|
||||||
|
using ABI_RC.Systems.IK;
|
||||||
|
using ABI_RC.Systems.IK.SubSystems;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
@ -15,7 +17,6 @@ namespace ml_fpt
|
||||||
bool m_ready = false;
|
bool m_ready = false;
|
||||||
|
|
||||||
IndexIK m_indexIk = null;
|
IndexIK m_indexIk = null;
|
||||||
CVR_IK_Calibrator m_ikCalibrator = null;
|
|
||||||
RootMotion.FinalIK.VRIK m_vrIK = null;
|
RootMotion.FinalIK.VRIK m_vrIK = null;
|
||||||
RuntimeAnimatorController m_runtimeAnimator = null;
|
RuntimeAnimatorController m_runtimeAnimator = null;
|
||||||
List<CVRAdvancedSettingsFileProfileValue> m_aasParameters = null;
|
List<CVRAdvancedSettingsFileProfileValue> m_aasParameters = null;
|
||||||
|
@ -30,7 +31,8 @@ namespace ml_fpt
|
||||||
|
|
||||||
public override void OnApplicationStart()
|
public override void OnApplicationStart()
|
||||||
{
|
{
|
||||||
ms_instance = this;
|
if(ms_instance == null)
|
||||||
|
ms_instance = this;
|
||||||
|
|
||||||
m_avatarCalibrations = new Dictionary<string, System.Tuple<Vector3, Quaternion>>();
|
m_avatarCalibrations = new Dictionary<string, System.Tuple<Vector3, Quaternion>>();
|
||||||
|
|
||||||
|
@ -40,9 +42,9 @@ namespace ml_fpt
|
||||||
new HarmonyLib.HarmonyMethod(typeof(FourPointTracking).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
new HarmonyLib.HarmonyMethod(typeof(FourPointTracking).GetMethod(nameof(OnAvatarClear_Postfix), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static))
|
||||||
);
|
);
|
||||||
HarmonyInstance.Patch(
|
HarmonyInstance.Patch(
|
||||||
typeof(PlayerSetup).GetMethod("SetupAvatarGeneral", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic),
|
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.CalibrateAvatar)),
|
||||||
null,
|
null,
|
||||||
new HarmonyLib.HarmonyMethod(typeof(FourPointTracking).GetMethod(nameof(OnSetupAvatarGeneral_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
new HarmonyLib.HarmonyMethod(typeof(FourPointTracking).GetMethod(nameof(OnCalibrateAvatar_Postfix), System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic))
|
||||||
);
|
);
|
||||||
|
|
||||||
MelonLoader.MelonCoroutines.Start(WaitForMainMenuView());
|
MelonLoader.MelonCoroutines.Start(WaitForMainMenuView());
|
||||||
|
@ -75,14 +77,13 @@ namespace ml_fpt
|
||||||
yield return null;
|
yield return null;
|
||||||
|
|
||||||
m_indexIk = PlayerSetup.Instance.gameObject.GetComponent<IndexIK>();
|
m_indexIk = PlayerSetup.Instance.gameObject.GetComponent<IndexIK>();
|
||||||
m_ikCalibrator = PlayerSetup.Instance.gameObject.GetComponent<CVR_IK_Calibrator>();
|
|
||||||
|
|
||||||
m_ready = true;
|
m_ready = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartCalibration()
|
void StartCalibration()
|
||||||
{
|
{
|
||||||
if(m_ready && !m_calibrationActive && PlayerSetup.Instance._inVr && !PlayerSetup.Instance.avatarIsLoading && PlayerSetup.Instance._animator.isHuman && !m_ikCalibrator.inFullbodyCalibration && !m_ikCalibrator.avatarCalibratedAsFullBody)
|
if(m_ready && !m_calibrationActive && PlayerSetup.Instance._inVr && !PlayerSetup.Instance.avatarIsLoading && PlayerSetup.Instance._animator.isHuman && !BodySystem.isCalibrating && !BodySystem.isCalibratedAsFullBody)
|
||||||
{
|
{
|
||||||
m_hipsTrackerIndex = GetHipsTracker();
|
m_hipsTrackerIndex = GetHipsTracker();
|
||||||
if(m_hipsTrackerIndex != -1)
|
if(m_hipsTrackerIndex != -1)
|
||||||
|
@ -100,8 +101,8 @@ namespace ml_fpt
|
||||||
if(m_vrIK != null)
|
if(m_vrIK != null)
|
||||||
m_vrIK.solver.OnPreUpdate += this.OverrideIKWeight;
|
m_vrIK.solver.OnPreUpdate += this.OverrideIKWeight;
|
||||||
|
|
||||||
m_ikCalibrator.leftHandModel.SetActive(true);
|
IKSystem.Instance.leftHandModel.SetActive(true);
|
||||||
m_ikCalibrator.rightHandModel.SetActive(true);
|
IKSystem.Instance.rightHandModel.SetActive(true);
|
||||||
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(true);
|
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(true);
|
||||||
CVR_InteractableManager.enableInteractions = false;
|
CVR_InteractableManager.enableInteractions = false;
|
||||||
|
|
||||||
|
@ -125,7 +126,6 @@ namespace ml_fpt
|
||||||
if(m_vrIK != null)
|
if(m_vrIK != null)
|
||||||
m_vrIK.enabled = false;
|
m_vrIK.enabled = false;
|
||||||
|
|
||||||
m_ikCalibrator.enabled = false;
|
|
||||||
m_indexIk.enabled = false;
|
m_indexIk.enabled = false;
|
||||||
|
|
||||||
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(true, m_hips);
|
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(true, m_hips);
|
||||||
|
@ -154,7 +154,6 @@ namespace ml_fpt
|
||||||
}
|
}
|
||||||
|
|
||||||
m_indexIk.enabled = true;
|
m_indexIk.enabled = true;
|
||||||
m_ikCalibrator.enabled = true;
|
|
||||||
|
|
||||||
PlayerSetup.Instance._animator.runtimeAnimatorController = m_runtimeAnimator;
|
PlayerSetup.Instance._animator.runtimeAnimatorController = m_runtimeAnimator;
|
||||||
PlayerSetup.Instance.animatorManager.SetAnimator(PlayerSetup.Instance._animator, m_runtimeAnimator);
|
PlayerSetup.Instance.animatorManager.SetAnimator(PlayerSetup.Instance._animator, m_runtimeAnimator);
|
||||||
|
@ -166,8 +165,8 @@ namespace ml_fpt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ikCalibrator.leftHandModel.SetActive(false);
|
IKSystem.Instance.leftHandModel.SetActive(false);
|
||||||
m_ikCalibrator.rightHandModel.SetActive(false);
|
IKSystem.Instance.rightHandModel.SetActive(false);
|
||||||
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(false);
|
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(false);
|
||||||
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(false);
|
PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(false);
|
||||||
CVR_InteractableManager.enableInteractions = true;
|
CVR_InteractableManager.enableInteractions = true;
|
||||||
|
@ -213,10 +212,9 @@ namespace ml_fpt
|
||||||
MelonLoader.MelonCoroutines.Stop(m_calibrationTask);
|
MelonLoader.MelonCoroutines.Stop(m_calibrationTask);
|
||||||
|
|
||||||
m_indexIk.enabled = true;
|
m_indexIk.enabled = true;
|
||||||
m_ikCalibrator.enabled = true;
|
|
||||||
|
|
||||||
m_ikCalibrator.leftHandModel.SetActive(false);
|
IKSystem.Instance.leftHandModel.SetActive(false);
|
||||||
m_ikCalibrator.rightHandModel.SetActive(false);
|
IKSystem.Instance.rightHandModel.SetActive(false);
|
||||||
|
|
||||||
if(m_hipsTrackerIndex != -1)
|
if(m_hipsTrackerIndex != -1)
|
||||||
{
|
{
|
||||||
|
@ -236,12 +234,12 @@ namespace ml_fpt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnSetupAvatarGeneral_Postfix() => ms_instance?.OnSetupAvatarGeneral();
|
static void OnCalibrateAvatar_Postfix() => ms_instance?.OnCalibrateAvatar();
|
||||||
void OnSetupAvatarGeneral()
|
void OnCalibrateAvatar()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(m_ready && PlayerSetup.Instance._inVr && PlayerSetup.Instance._animator.isHuman && !m_ikCalibrator.avatarCalibratedAsFullBody)
|
if(m_ready && PlayerSetup.Instance._inVr && PlayerSetup.Instance._animator.isHuman && !VRTrackerManager.Instance.CheckFullBody())
|
||||||
{
|
{
|
||||||
int l_hipsTracker = GetHipsTracker();
|
int l_hipsTracker = GetHipsTracker();
|
||||||
if((l_hipsTracker != -1) && m_avatarCalibrations.TryGetValue(MetaPort.Instance.currentAvatarGuid, out var l_stored))
|
if((l_hipsTracker != -1) && m_avatarCalibrations.TryGetValue(MetaPort.Instance.currentAvatarGuid, out var l_stored))
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyTitle("FourPointTracking")]
|
[assembly: AssemblyTitle("FourPointTracking")]
|
||||||
[assembly: AssemblyVersion("1.0.6")]
|
[assembly: AssemblyVersion("1.0.7")]
|
||||||
[assembly: AssemblyFileVersion("1.0.6")]
|
[assembly: AssemblyFileVersion("1.0.7")]
|
||||||
|
|
||||||
[assembly: MelonLoader.MelonInfo(typeof(ml_fpt.FourPointTracking), "FourPointTracking", "1.0.6", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
[assembly: MelonLoader.MelonInfo(typeof(ml_fpt.FourPointTracking), "FourPointTracking", "1.0.7", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||||
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
[assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||||
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
[assembly: MelonLoader.MelonPlatformDomain(MelonLoader.MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
Loading…
Add table
Add a link
Reference in a new issue