mirror of
https://github.com/hanetzer/sdraw_mods_cvr.git
synced 2025-09-03 10:29:22 +00:00
Minor changes
This commit is contained in:
parent
674f572415
commit
3713253375
5 changed files with 8 additions and 103 deletions
|
@ -1,6 +1,6 @@
|
||||||
Merged set of MelonLoader mods for ChilloutVR.
|
Merged set of MelonLoader mods for ChilloutVR.
|
||||||
|
|
||||||
**Table for game build 2022r171p2:**
|
**Table for game build 2023r171p2 and 2023r172ex1:**
|
||||||
| Full name | Short name | Latest version | Available in [CVRMA](https://github.com/knah/CVRMelonAssistant) |
|
| Full name | Short name | Latest version | Available in [CVRMA](https://github.com/knah/CVRMelonAssistant) |
|
||||||
|:---------:|:----------:|:--------------:| :----------------------------------------------------------------|
|
|:---------:|:----------:|:--------------:| :----------------------------------------------------------------|
|
||||||
| [Avatar Motion Tweaker](/ml_amt/README.md) | ml_amt | 1.3.2 [:arrow_down:](../../releases/latest/download/ml_amt.dll)| ✔ Yes<br>:hourglass_flowing_sand: Update review |
|
| [Avatar Motion Tweaker](/ml_amt/README.md) | ml_amt | 1.3.2 [:arrow_down:](../../releases/latest/download/ml_amt.dll)| ✔ Yes<br>:hourglass_flowing_sand: Update review |
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace ml_gmf
|
|
||||||
{
|
|
||||||
class AnimatorAnalyzer
|
|
||||||
{
|
|
||||||
bool m_enabled = true;
|
|
||||||
List<AnimatorControllerParameter> m_parameters = null;
|
|
||||||
|
|
||||||
public void AnalyzeFrom(Animator p_animator)
|
|
||||||
{
|
|
||||||
m_enabled = p_animator.enabled;
|
|
||||||
m_parameters = p_animator.parameters?.ToList();
|
|
||||||
|
|
||||||
if(m_parameters != null)
|
|
||||||
{
|
|
||||||
foreach(var l_param in m_parameters)
|
|
||||||
{
|
|
||||||
switch(l_param.type)
|
|
||||||
{
|
|
||||||
case AnimatorControllerParameterType.Bool:
|
|
||||||
case AnimatorControllerParameterType.Trigger:
|
|
||||||
l_param.defaultBool = p_animator.GetBool(l_param.nameHash);
|
|
||||||
break;
|
|
||||||
case AnimatorControllerParameterType.Float:
|
|
||||||
l_param.defaultFloat = p_animator.GetFloat(l_param.nameHash);
|
|
||||||
break;
|
|
||||||
case AnimatorControllerParameterType.Int:
|
|
||||||
l_param.defaultInt = p_animator.GetInteger(l_param.nameHash);
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ApplyTo(Animator p_animator)
|
|
||||||
{
|
|
||||||
p_animator.enabled = m_enabled;
|
|
||||||
|
|
||||||
if(m_parameters != null)
|
|
||||||
{
|
|
||||||
foreach(var l_param in m_parameters)
|
|
||||||
{
|
|
||||||
switch(l_param.type)
|
|
||||||
{
|
|
||||||
case AnimatorControllerParameterType.Bool:
|
|
||||||
p_animator.SetBool(l_param.nameHash, l_param.defaultBool);
|
|
||||||
break;
|
|
||||||
case AnimatorControllerParameterType.Float:
|
|
||||||
p_animator.SetFloat(l_param.nameHash, l_param.defaultFloat);
|
|
||||||
break;
|
|
||||||
case AnimatorControllerParameterType.Int:
|
|
||||||
p_animator.SetInteger(l_param.nameHash, l_param.defaultInt);
|
|
||||||
break;
|
|
||||||
case AnimatorControllerParameterType.Trigger:
|
|
||||||
{
|
|
||||||
if(l_param.defaultBool)
|
|
||||||
p_animator.SetTrigger(l_param.nameHash);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsEnabled() => m_enabled;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,44 +10,20 @@ namespace ml_gmf.Fixes
|
||||||
{
|
{
|
||||||
p_instance.Patch(
|
p_instance.Patch(
|
||||||
typeof(CVRAnimatorManager).GetMethod(nameof(CVRAnimatorManager.SetOverrideAnimation)),
|
typeof(CVRAnimatorManager).GetMethod(nameof(CVRAnimatorManager.SetOverrideAnimation)),
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Prefix), BindingFlags.Static | BindingFlags.NonPublic)),
|
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Prefix), BindingFlags.Static | BindingFlags.NonPublic))
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Postfix), BindingFlags.Static | BindingFlags.NonPublic))
|
|
||||||
);
|
);
|
||||||
p_instance.Patch(
|
p_instance.Patch(
|
||||||
typeof(CVRAnimatorManager).GetMethod(nameof(CVRAnimatorManager.RestoreOverrideAnimation)),
|
typeof(CVRAnimatorManager).GetMethod(nameof(CVRAnimatorManager.RestoreOverrideAnimation)),
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Prefix), BindingFlags.Static | BindingFlags.NonPublic)),
|
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Prefix), BindingFlags.Static | BindingFlags.NonPublic))
|
||||||
new HarmonyLib.HarmonyMethod(typeof(AnimationOverrides).GetMethod(nameof(OnOverride_Postfix), BindingFlags.Static | BindingFlags.NonPublic))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnOverride_Prefix(ref CVRAnimatorManager __instance, out AnimatorAnalyzer __state)
|
static void OnOverride_Prefix(ref CVRAnimatorManager __instance)
|
||||||
{
|
{
|
||||||
__state = new AnimatorAnalyzer();
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if(__instance.animator != null)
|
if(__instance.animator != null)
|
||||||
{
|
|
||||||
__state.AnalyzeFrom(__instance.animator);
|
|
||||||
if(__state.IsEnabled())
|
|
||||||
__instance.animator.enabled = false;
|
|
||||||
__instance.animator.WriteDefaultValues();
|
__instance.animator.WriteDefaultValues();
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(Exception l_exception)
|
|
||||||
{
|
|
||||||
MelonLoader.MelonLogger.Error(l_exception);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
static void OnOverride_Postfix(ref CVRAnimatorManager __instance, AnimatorAnalyzer __state)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if(__instance.animator != null)
|
|
||||||
{
|
|
||||||
__state.ApplyTo(__instance.animator);
|
|
||||||
if(__state.IsEnabled())
|
|
||||||
__instance.animator.Update(0f);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(Exception l_exception)
|
catch(Exception l_exception)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,3 +3,4 @@
|
||||||
[assembly: MelonLoader.MelonOptionalDependencies("ml_pmc")]
|
[assembly: MelonLoader.MelonOptionalDependencies("ml_pmc")]
|
||||||
[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)]
|
||||||
|
[assembly: MelonLoader.MelonAdditionalCredits("NotAKidOnSteam")]
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
using System.Reflection;
|
[assembly: MelonLoader.MelonInfo(typeof(ml_prm.PlayerRagdollMod), "PlayerRagdollMod", "1.0.8", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
||||||
|
|
||||||
[assembly: MelonLoader.MelonInfo(typeof(ml_prm.PlayerRagdollMod), "PlayerRagdollMod", "1.0.8", "SDraw", "https://github.com/SDraw/ml_mods_cvr")]
|
|
||||||
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
[assembly: MelonLoader.MelonGame(null, "ChilloutVR")]
|
||||||
[assembly: MelonLoader.MelonPriority(2)]
|
[assembly: MelonLoader.MelonPriority(2)]
|
||||||
[assembly: MelonLoader.MelonOptionalDependencies("BTKUILib")]
|
[assembly: MelonLoader.MelonOptionalDependencies("BTKUILib")]
|
||||||
[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)]
|
||||||
|
[assembly: MelonLoader.MelonAdditionalCredits("kafeijao, NotAKidOnSteam")]
|
Loading…
Add table
Add a link
Reference in a new issue