do we need to exist after doing our job?

This commit is contained in:
NotAKidoS 2023-01-27 04:43:44 -06:00
parent 29a32b6453
commit b9d48d0b11
3 changed files with 9 additions and 7 deletions

View file

@ -3,7 +3,7 @@ using UnityEngine;
namespace NAK.Melons.AASBufferFix; namespace NAK.Melons.AASBufferFix;
public class AASBufferFix : MonoBehaviour public class AASBufferHelper : MonoBehaviour
{ {
public bool isAcceptingAAS = true; public bool isAcceptingAAS = true;
@ -74,12 +74,14 @@ public class AASBufferFix : MonoBehaviour
{ {
isAcceptingAAS = true; isAcceptingAAS = true;
puppetMaster?.ApplyAdvancedAvatarSettings(aasBufferFloat, aasBufferInt, aasBufferByte); puppetMaster?.ApplyAdvancedAvatarSettings(aasBufferFloat, aasBufferInt, aasBufferByte);
Destroy(this);
} }
public void ApplyExternalAAS(float[] settingsFloat, int[] settingsInt, byte[] settingsByte) public void ApplyExternalAAS(float[] settingsFloat, int[] settingsInt, byte[] settingsByte)
{ {
isAcceptingAAS = true; isAcceptingAAS = true;
puppetMaster?.ApplyAdvancedAvatarSettings(settingsFloat, settingsInt, settingsByte); puppetMaster?.ApplyAdvancedAvatarSettings(settingsFloat, settingsInt, settingsByte);
Destroy(this);
} }
public void StoreExternalAASBuffer(float[] settingsFloat, int[] settingsInt, byte[] settingsByte) public void StoreExternalAASBuffer(float[] settingsFloat, int[] settingsInt, byte[] settingsByte)

View file

@ -13,7 +13,7 @@ internal class HarmonyPatches
[HarmonyPatch(typeof(PuppetMaster), "Start")] [HarmonyPatch(typeof(PuppetMaster), "Start")]
private static void Postfix_PuppetMaster_Start(ref PuppetMaster __instance) private static void Postfix_PuppetMaster_Start(ref PuppetMaster __instance)
{ {
AASBufferFix externalBuffer = __instance.AddComponentIfMissing<AASBufferFix>(); AASBufferHelper externalBuffer = __instance.AddComponentIfMissing<AASBufferHelper>();
externalBuffer.puppetMaster = __instance; externalBuffer.puppetMaster = __instance;
} }
@ -21,7 +21,7 @@ internal class HarmonyPatches
[HarmonyPatch(typeof(PuppetMaster), "AvatarInstantiated")] [HarmonyPatch(typeof(PuppetMaster), "AvatarInstantiated")]
private static void Postfix_PuppetMaster_AvatarInstantiated(ref PuppetMaster __instance, ref Animator ____animator) private static void Postfix_PuppetMaster_AvatarInstantiated(ref PuppetMaster __instance, ref Animator ____animator)
{ {
AASBufferFix externalBuffer = __instance.GetComponent<AASBufferFix>(); AASBufferHelper externalBuffer = __instance.GetComponent<AASBufferHelper>();
if (externalBuffer != null) externalBuffer.OnAvatarInstantiated(____animator); if (externalBuffer != null) externalBuffer.OnAvatarInstantiated(____animator);
} }
@ -29,7 +29,7 @@ internal class HarmonyPatches
[HarmonyPatch(typeof(PuppetMaster), "AvatarDestroyed")] [HarmonyPatch(typeof(PuppetMaster), "AvatarDestroyed")]
private static void Postfix_PuppetMaster_AvatarDestroyed(ref PuppetMaster __instance) private static void Postfix_PuppetMaster_AvatarDestroyed(ref PuppetMaster __instance)
{ {
AASBufferFix externalBuffer = __instance.GetComponent<AASBufferFix>(); AASBufferHelper externalBuffer = __instance.GetComponent<AASBufferHelper>();
if (externalBuffer != null) externalBuffer.OnAvatarDestroyed(); if (externalBuffer != null) externalBuffer.OnAvatarDestroyed();
} }
@ -37,7 +37,7 @@ internal class HarmonyPatches
[HarmonyPatch(typeof(PuppetMaster), "ApplyAdvancedAvatarSettings")] [HarmonyPatch(typeof(PuppetMaster), "ApplyAdvancedAvatarSettings")]
private static bool Prefix_PuppetMaster_ApplyAdvancedAvatarSettings(float[] settingsFloat, int[] settingsInt, byte[] settingsByte, ref PuppetMaster __instance) private static bool Prefix_PuppetMaster_ApplyAdvancedAvatarSettings(float[] settingsFloat, int[] settingsInt, byte[] settingsByte, ref PuppetMaster __instance)
{ {
AASBufferFix externalBuffer = __instance.GetComponent<AASBufferFix>(); AASBufferHelper externalBuffer = __instance.GetComponent<AASBufferHelper>();
if (externalBuffer != null && !externalBuffer.isAcceptingAAS) if (externalBuffer != null && !externalBuffer.isAcceptingAAS)
{ {
externalBuffer.OnApplyAAS(settingsFloat, settingsInt, settingsByte); externalBuffer.OnApplyAAS(settingsFloat, settingsInt, settingsByte);
@ -50,7 +50,7 @@ internal class HarmonyPatches
[HarmonyPatch(typeof(CVRAnimatorManager), "ApplyAdvancedAvatarSettingsFromBuffer")] [HarmonyPatch(typeof(CVRAnimatorManager), "ApplyAdvancedAvatarSettingsFromBuffer")]
private static bool Prefix_PuppetMaster_ApplyAdvancedAvatarSettingsFromBuffer(ref Animator ____animator) private static bool Prefix_PuppetMaster_ApplyAdvancedAvatarSettingsFromBuffer(ref Animator ____animator)
{ {
AASBufferFix externalBuffer = ____animator.GetComponentInParent<AASBufferFix>(); AASBufferHelper externalBuffer = ____animator.GetComponentInParent<AASBufferHelper>();
if (externalBuffer != null && !externalBuffer.isAcceptingAAS) if (externalBuffer != null && !externalBuffer.isAcceptingAAS)
{ {
//dont apply if stable buffer no exist //dont apply if stable buffer no exist

View file

@ -6,6 +6,6 @@ public class AASBufferFixMod : MelonMod
{ {
public override void OnInitializeMelon() public override void OnInitializeMelon()
{ {
//boobs
} }
} }