From bb94c3f038a49ffd970829fc35d82dc4b943ac69 Mon Sep 17 00:00:00 2001 From: SDraw Date: Wed, 9 Aug 2023 22:32:55 +0300 Subject: [PATCH] Minor fixes --- ml_amt/Main.cs | 6 ------ ml_amt/MotionTweaker.cs | 22 +++++++++++++--------- ml_amt/Properties/AssemblyInfo.cs | 2 +- ml_amt/Settings.cs | 2 +- ml_amt/ml_amt.csproj | 2 +- ml_pmc/PoseCopycat.cs | 20 ++++++++++++-------- 6 files changed, 28 insertions(+), 26 deletions(-) diff --git a/ml_amt/Main.cs b/ml_amt/Main.cs index 56779f5..75baebc 100644 --- a/ml_amt/Main.cs +++ b/ml_amt/Main.cs @@ -55,12 +55,6 @@ namespace ml_amt yield return null; m_localTweaker = PlayerSetup.Instance.gameObject.AddComponent(); - m_localTweaker.SetCrouchLimit(Settings.CrouchLimit); - m_localTweaker.SetProneLimit(Settings.ProneLimit); - m_localTweaker.SetIKOverrideFly(Settings.IKOverrideFly); - m_localTweaker.SetIKOverrideJump(Settings.IKOverrideJump); - m_localTweaker.SetDetectEmotes(Settings.DetectEmotes); - m_localTweaker.SetFollowHips(Settings.FollowHips); } public override void OnDeinitializeMelon() diff --git a/ml_amt/MotionTweaker.cs b/ml_amt/MotionTweaker.cs index d0ccef4..857308e 100644 --- a/ml_amt/MotionTweaker.cs +++ b/ml_amt/MotionTweaker.cs @@ -62,6 +62,13 @@ namespace ml_amt { m_inVR = Utils.IsInVR(); + SetCrouchLimit(Settings.CrouchLimit); + SetProneLimit(Settings.ProneLimit); + SetIKOverrideFly(Settings.IKOverrideFly); + SetIKOverrideJump(Settings.IKOverrideJump); + SetDetectEmotes(Settings.DetectEmotes); + SetFollowHips(Settings.FollowHips); + Settings.CrouchLimitChange += this.SetCrouchLimit; Settings.ProneLimitChange += this.SetProneLimit; Settings.IKOverrideFlyChange += this.SetIKOverrideFly; @@ -69,9 +76,6 @@ namespace ml_amt Settings.DetectEmotesChange += this.SetDetectEmotes; Settings.FollowHipsChange += this.SetFollowHips; Settings.MassCenterChange += this.OnMassCenterChange; - - SetCrouchLimit(Settings.CrouchLimit); - SetProneLimit(Settings.ProneLimit); } void OnDestroy() @@ -135,8 +139,8 @@ namespace ml_amt m_ikLimits = null; m_parameters.Clear(); - PlayerSetup.Instance.avatarCrouchLimit = Mathf.Max(Mathf.Clamp01(Settings.CrouchLimit), Mathf.Clamp01(Settings.CrouchLimit)); - PlayerSetup.Instance.avatarProneLimit = Mathf.Min(Mathf.Clamp01(Settings.CrouchLimit), Mathf.Clamp01(Settings.CrouchLimit)); + PlayerSetup.Instance.avatarCrouchLimit = Mathf.Clamp01(Settings.CrouchLimit); + PlayerSetup.Instance.avatarProneLimit = Mathf.Clamp01(Settings.ProneLimit); } internal void OnSetupAvatar() @@ -288,12 +292,12 @@ namespace ml_amt internal void SetCrouchLimit(float p_value) { if(m_ikLimits == null) - PlayerSetup.Instance.avatarCrouchLimit = Mathf.Max(Mathf.Clamp01(p_value), PlayerSetup.Instance.avatarProneLimit); + PlayerSetup.Instance.avatarCrouchLimit = Mathf.Clamp01(p_value); } internal void SetProneLimit(float p_value) { if(m_ikLimits == null) - PlayerSetup.Instance.avatarProneLimit = Mathf.Min(Mathf.Clamp01(p_value), PlayerSetup.Instance.avatarCrouchLimit); + PlayerSetup.Instance.avatarProneLimit = Mathf.Clamp01(p_value); } internal void SetIKOverrideFly(bool p_state) { @@ -328,8 +332,8 @@ namespace ml_amt if(m_ikLimits != null) { Vector3 l_values = m_ikLimits.localPosition; - PlayerSetup.Instance.avatarCrouchLimit = Mathf.Max(Mathf.Clamp01(l_values.x), Mathf.Clamp01(l_values.y)); - PlayerSetup.Instance.avatarProneLimit = Mathf.Min(Mathf.Clamp01(l_values.x), Mathf.Clamp01(l_values.y)); + PlayerSetup.Instance.avatarCrouchLimit = Mathf.Clamp01(l_values.x); + PlayerSetup.Instance.avatarProneLimit = Mathf.Clamp01(l_values.y); } } diff --git a/ml_amt/Properties/AssemblyInfo.cs b/ml_amt/Properties/AssemblyInfo.cs index a4e1f79..cdf7d7c 100644 --- a/ml_amt/Properties/AssemblyInfo.cs +++ b/ml_amt/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ -[assembly: MelonLoader.MelonInfo(typeof(ml_amt.AvatarMotionTweaker), "AvatarMotionTweaker", "1.2.9", "SDraw", "https://github.com/SDraw/ml_mods_cvr")] +[assembly: MelonLoader.MelonInfo(typeof(ml_amt.AvatarMotionTweaker), "AvatarMotionTweaker", "1.3.0", "SDraw", "https://github.com/SDraw/ml_mods_cvr")] [assembly: MelonLoader.MelonGame(null, "ChilloutVR")] [assembly: MelonLoader.MelonOptionalDependencies("ml_prm", "ml_pmc")] [assembly: MelonLoader.MelonPlatform(MelonLoader.MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)] diff --git a/ml_amt/Settings.cs b/ml_amt/Settings.cs index 579f940..2d3f1b2 100644 --- a/ml_amt/Settings.cs +++ b/ml_amt/Settings.cs @@ -55,8 +55,8 @@ namespace ml_amt ms_category.CreateEntry(ModSetting.IKOverrideJump.ToString(), IKOverrideJump), ms_category.CreateEntry(ModSetting.DetectEmotes.ToString(), DetectEmotes), ms_category.CreateEntry(ModSetting.FollowHips.ToString(), FollowHips), - ms_category.CreateEntry(ModSetting.MassCenter.ToString(), MassCenter), ms_category.CreateEntry(ModSetting.ScaledJump.ToString(), ScaledJump), + ms_category.CreateEntry(ModSetting.MassCenter.ToString(), MassCenter), ms_category.CreateEntry(ModSetting.OverrideFix.ToString(), OverrideFix) }; diff --git a/ml_amt/ml_amt.csproj b/ml_amt/ml_amt.csproj index 1c23fd1..ba59599 100644 --- a/ml_amt/ml_amt.csproj +++ b/ml_amt/ml_amt.csproj @@ -6,7 +6,7 @@ None AvatarMotionTweaker AvatarMotionTweaker - 1.2.9 + 1.3.0 x64 ml_amt diff --git a/ml_pmc/PoseCopycat.cs b/ml_pmc/PoseCopycat.cs index 7375df9..028b49d 100644 --- a/ml_pmc/PoseCopycat.cs +++ b/ml_pmc/PoseCopycat.cs @@ -159,6 +159,14 @@ namespace ml_pmc // Patches internal void OnAvatarClear() { + if(m_active) + { + RestoreIK(); + RestoreFingerTracking(); + OnActivityChange?.Invoke(false); + } + m_active = false; + m_inVr = Utils.IsInVR(); if(m_puppetParser != null) @@ -172,10 +180,6 @@ namespace ml_pmc m_poseHandler?.Dispose(); m_poseHandler = null; - if(m_active) - OnActivityChange?.Invoke(false); - m_active = false; - m_distanceLimit = float.MaxValue; m_fingerTracking = false; m_pose = new HumanPose(); @@ -283,16 +287,16 @@ namespace ml_pmc void OverrideIK() { - if((m_vrIk != null) && !BodySystem.isCalibrating) + if(!BodySystem.isCalibrating) BodySystem.TrackingPositionWeight = 0f; } void RestoreIK() { - if((m_vrIk != null) && !BodySystem.isCalibrating) - { + if(!BodySystem.isCalibrating) BodySystem.TrackingPositionWeight = 1f; + + if(m_vrIk != null) m_vrIk.solver.Reset(); - } } void RestoreFingerTracking() {