added compatibility mode

add compatibility mode that somehow fixes avatars with scuffed armatures and initial poses

gonna look into using a tpose animation
This commit is contained in:
NotAKidoS 2022-12-26 00:26:13 -06:00
parent 0dbe4ed149
commit c71036f74f
3 changed files with 39 additions and 3 deletions

View file

@ -7,7 +7,7 @@ public class DesktopVRIKMod : MelonMod
{
internal const string SettingsCategory = "DesktopVRIK";
private static MelonPreferences_Category m_categoryDesktopVRIK;
private static MelonPreferences_Entry<bool> m_entryEnabled, m_entryEmulateHipMovement, m_entryEmoteVRIK, m_entryEmoteLookAtIK;
private static MelonPreferences_Entry<bool> m_entryEnabled, m_entryEmulateHipMovement, m_entryEmoteVRIK, m_entryEmoteLookAtIK, m_entryCompatibilityMode;
public override void OnInitializeMelon()
{
m_categoryDesktopVRIK = MelonPreferences.CreateCategory(SettingsCategory);
@ -15,6 +15,7 @@ public class DesktopVRIKMod : MelonMod
m_entryEmulateHipMovement = m_categoryDesktopVRIK.CreateEntry<bool>("Emulate Hip Movement", true, description: "Emulates VRChat-like hip movement when moving head up/down on desktop.");
m_entryEmoteVRIK = m_categoryDesktopVRIK.CreateEntry<bool>("Disable Emote VRIK", true, description: "Disable VRIK while emoting. Only disable if you are ok with looking dumb.");
m_entryEmoteLookAtIK = m_categoryDesktopVRIK.CreateEntry<bool>("Disable Emote LookAtIK", true, description: "Disable LookAtIK while emoting. This setting doesn't really matter, as LookAtIK isn't networked while doing an emote.");
m_entryCompatibilityMode = m_categoryDesktopVRIK.CreateEntry<bool>("Compatibility Mode", false, description: "Runs finger muscle calibration- which somehow makes bad armatures work better but also pushes heels into the ground."); ;
m_categoryDesktopVRIK.SaveToFile(false);
foreach (var setting in m_categoryDesktopVRIK.Entries)
@ -42,6 +43,7 @@ public class DesktopVRIKMod : MelonMod
DesktopVRIK.Instance.Setting_EmulateVRChatHipMovement = m_entryEmulateHipMovement.Value;
DesktopVRIK.Instance.Setting_EmoteVRIK = m_entryEmoteVRIK.Value;
DesktopVRIK.Instance.Setting_EmoteLookAtIK = m_entryEmoteLookAtIK.Value;
DesktopVRIK.Instance.Setting_CompatibilityMode = m_entryCompatibilityMode.Value;
}
private void OnUpdateSettings(object arg1, object arg2) => UpdateAllSettings();