Decompiled source of Vocaloid Pack v1.18.1

vocaloidpack.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Threading.Tasks;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using CamVisuals;
using GameNetcodeStuff;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using ModelReplacement;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("vocaloidpack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("vocaloidpack")]
[assembly: AssemblyTitle("vocaloidpack")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace CamVisuals
{
	[BepInPlugin("CameraVisuals", "gaby", "1.0.0")]
	public class CameraVisuals : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(Terminal))]
		internal class DetectCameraTerminalPatch : MonoBehaviour
		{
			[HarmonyPatch(typeof(Terminal), "BeginUsingTerminal")]
			[HarmonyPostfix]
			public static void DetectCamera()
			{
				//IL_0047: Unknown result type (might be due to invalid IL or missing references)
				//IL_0067: Unknown result type (might be due to invalid IL or missing references)
				if (Plugin.cameraAdjustEnabled.Value)
				{
					PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController;
					if (!terminalDisable)
					{
						((Component)localPlayerController).transform.Find("ScavengerModel/metarig/CameraContainer/MainCamera/HUDHelmetPosition").localPosition = new Vector3(0.01f, -0.05f, -0.05f);
						((Component)localPlayerController).transform.localScale = new Vector3(1f, 1f, 1f);
						terminalDisable = true;
					}
				}
			}

			[HarmonyPatch(typeof(Terminal), "QuitTerminal")]
			[HarmonyPostfix]
			public static void ResetCamera()
			{
				//IL_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_0072: Unknown result type (might be due to invalid IL or missing references)
				if (Plugin.cameraAdjustEnabled.Value)
				{
					PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController;
					if (terminalDisable)
					{
						float num = -0.05f * (1f / currCameraLocalScale);
						((Component)localPlayerController).transform.Find("ScavengerModel/metarig/CameraContainer/MainCamera/HUDHelmetPosition").localPosition = new Vector3(0.01f, num, -0.05f);
						((Component)localPlayerController).transform.localScale = new Vector3(currCameraLocalScale, currCameraLocalScale, currCameraLocalScale);
						terminalDisable = false;
					}
				}
			}
		}

		private readonly Harmony harmony = new Harmony("CameraVisuals");

		private static GameObject gameObject;

		private static CameraVisuals Instance;

		private static float currCameraLocalScale = 1f;

		private static bool terminalDisable = false;

		internal static ManualLogSource Log;

		private void Awake()
		{
			if ((Object)(object)Instance == (Object)null)
			{
				Instance = this;
			}
			Log = ((BaseUnityPlugin)this).Logger;
			harmony.PatchAll(typeof(CameraVisuals));
		}

		public static void UpdateCurrCameraLocalScale(float modelHeight)
		{
			float num = modelHeight / 173f;
			currCameraLocalScale = num;
		}

		public static void DetectCamera(PlayerControllerB player, Vector3 cameraLocalPosition, float modelHeight)
		{
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			float num = modelHeight / 173f;
			gameObject = ((Component)player).gameObject;
			Transform val = gameObject.transform.Find("ScavengerModel/metarig/CameraContainer");
			if ((Object)(object)val != (Object)null)
			{
				float num2 = -0.05f * (1f / num);
				Vector3 localPosition = default(Vector3);
				((Vector3)(ref localPosition))..ctor(0.01f, num2, -0.05f);
				Vector3 localScale = default(Vector3);
				((Vector3)(ref localScale))..ctor(num, num, num);
				currCameraLocalScale = num;
				gameObject.transform.Find("ScavengerModel/metarig/CameraContainer/MainCamera/HUDHelmetPosition").localPosition = localPosition;
				gameObject.transform.localScale = localScale;
			}
			else
			{
				Log.LogInfo((object)"Camera Container not found!");
			}
		}
	}
}
namespace ModelReplacement
{
	public class ModelReplacementManager : MonoBehaviour
	{
		internal static ManualLogSource Log;

		internal static void OverrideStart(Vector3 cameraLocalPosition, float modelHeight, CharacterController modelController)
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			CharacterController thisController = GameNetworkManager.Instance.localPlayerController.thisController;
			if (!Plugin.cameraAdjustEnabled.Value)
			{
				return;
			}
			float num = modelHeight / 173f;
			((Component)modelController).transform.localScale = Plugin.defaultModelScale * num;
			if ((Object)(object)thisController != (Object)(object)modelController)
			{
				return;
			}
			if (GameNetworkManager.Instance.localPlayerController.inTerminalMenu)
			{
				CameraVisuals.UpdateCurrCameraLocalScale(modelHeight);
				return;
			}
			Task.Delay(1).ContinueWith(delegate
			{
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				CameraVisuals.DetectCamera(GameNetworkManager.Instance.localPlayerController, cameraLocalPosition, modelHeight);
			});
		}

		internal static void OverrideOnDestroy(CharacterController modelController)
		{
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			CharacterController thisController = GameNetworkManager.Instance.localPlayerController.thisController;
			if (Plugin.cameraAdjustEnabled.Value && (Object)(object)thisController == (Object)(object)modelController)
			{
				Transform transform = ((Component)GameNetworkManager.Instance.localPlayerController).transform;
				Transform val = transform.Find("ScavengerModel/metarig/CameraContainer");
				if ((Object)(object)val != (Object)null)
				{
					((Component)transform).transform.Find("ScavengerModel/metarig/CameraContainer/MainCamera/HUDHelmetPosition").localPosition = Plugin.defaultCameraLocalPosition;
					((Component)transform).transform.localScale = Plugin.defaultModelScale;
					((Component)modelController).transform.localScale = Plugin.defaultModelScale;
				}
				else
				{
					CameraVisuals.Log.LogInfo((object)"Camera Container not found");
				}
			}
		}
	}
	public class VFLOWER : BodyReplacementBase
	{
		private string model_name = "VFlower";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 180f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class CMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Cute";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class SEEU : BodyReplacementBase
	{
		private string model_name = "SeeU";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 165f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class AMEIKO : BodyReplacementBase
	{
		private string model_name = "Adult Meiko";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 169f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class IMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Infinity";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class RGIRL : BodyReplacementBase
	{
		private string model_name = "Miku Rolling Girl";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class NMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Nyanko";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class PMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Plugin";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class YUU : BodyReplacementBase
	{
		private string model_name = "Yuu";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 168f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class WIL : BodyReplacementBase
	{
		private string model_name = "Wil";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 185f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class KYO : BodyReplacementBase
	{
		private string model_name = "Kyo";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 175f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class MIKI : BodyReplacementBase
	{
		private string model_name = "Miki";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 172f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class FUKASE : BodyReplacementBase
	{
		private string model_name = "Fukase";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 174f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class PIKO : BodyReplacementBase
	{
		private string model_name = "Piko";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 170f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class ZMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Zukin";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class MRTM : BodyReplacementBase
	{
		private string model_name = "Miku Rasetsu to Mukuro";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class UNI : BodyReplacementBase
	{
		private string model_name = "UNI";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 180f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class V3FLOWER : BodyReplacementBase
	{
		private string model_name = "V3 Flower";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 180f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class STARDUST : BodyReplacementBase
	{
		private string model_name = "Stardust";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class YUECHENG : BodyReplacementBase
	{
		private string model_name = "Yue Cheng";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 190f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class UTAP : BodyReplacementBase
	{
		private string model_name = "Uta Utane Pants";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class UTAS : BodyReplacementBase
	{
		private string model_name = "Uta Utane Skirt";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class DSMIKU : BodyReplacementBase
	{
		private string model_name = "Miku Deep Sea";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class RRF : BodyReplacementBase
	{
		private string model_name = "Rin Raspberry Fox";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 157f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class YOHIO : BodyReplacementBase
	{
		private string model_name = "YOHIOloid";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 177f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class YOHIOA : BodyReplacementBase
	{
		private string model_name = "YOHIOloid Anniversary";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 177f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class IA : BodyReplacementBase
	{
		private string model_name = "IA";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 174f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class YANHE : BodyReplacementBase
	{
		private string model_name = "Yan He";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 190f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class DAINA : BodyReplacementBase
	{
		private string model_name = "Daina";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 185f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class ELEANOR : BodyReplacementBase
	{
		private string model_name = "Eleanor Forte";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class LONGYA : BodyReplacementBase
	{
		private string model_name = "Yuezheng Longya";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 198f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class DEX : BodyReplacementBase
	{
		private string model_name = "Dex";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 190f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class RUBY : BodyReplacementBase
	{
		private string model_name = "Ruby";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 172f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class MWINTER : BodyReplacementBase
	{
		private string model_name = "Miku Winter";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 158f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class GUMISV2 : BodyReplacementBase
	{
		private string model_name = "GUMI SV2";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class LUOT : BodyReplacementBase
	{
		private string model_name = "Luo Tianyi";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 156f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class ZMOKE : BodyReplacementBase
	{
		private string model_name = "Zhiyu Moke";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 170f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class OUNA : BodyReplacementBase
	{
		private string model_name = "Otomachi Una";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 137f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class RANA : BodyReplacementBase
	{
		private string model_name = "Rana";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 125f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class ZUNDAMON : BodyReplacementBase
	{
		private string model_name = "Zundamon";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 130f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class KRIKKA : BodyReplacementBase
	{
		private string model_name = "Koharu Rikka";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 175f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class CHIYU : BodyReplacementBase
	{
		private string model_name = "Chiyu";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 172f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class KAKARI : BodyReplacementBase
	{
		private string model_name = "Kizuna Akari";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 178f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class MAYU : BodyReplacementBase
	{
		private string model_name = "Mayu";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 173f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class GAKUPO : BodyReplacementBase
	{
		private string model_name = "Kamui Gakupo";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(-0.15f, 0f, 0f), 202f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class ADACHIR : BodyReplacementBase
	{
		private string model_name = "Adachi Rei";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 180f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	public class LING : BodyReplacementBase
	{
		private string model_name = "Yuezheng Ling";

		protected override GameObject LoadAssetsAndReturnModel()
		{
			return Assets.MainAssetBundle.LoadAsset<GameObject>(model_name);
		}

		protected override void Start()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((BodyReplacementBase)this).Start();
			ModelReplacementManager.OverrideStart(new Vector3(0f, 0f, 0f), 160f, ((Component)this).GetComponent<PlayerControllerB>().thisController);
		}

		protected override void OnDestroy()
		{
			ModelReplacementManager.OverrideOnDestroy(((Component)this).GetComponent<PlayerControllerB>().thisController);
			((BodyReplacementBase)this).OnDestroy();
		}
	}
	[BepInPlugin("gaby.vocaloidpack", "Vocaloid Pack", "1.18.1")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		internal static Vector3 defaultModelScale = new Vector3(1f, 1f, 1f);

		internal static Vector3 defaultCameraLocalPosition = new Vector3(0.01f, -0.05f, -0.05f);

		internal static ConfigEntry<bool> cameraAdjustEnabled;

		private void Awake()
		{
			//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f4: Expected O, but got Unknown
			Assets.PopulateAssets();
			BindConfigs();
			ModelReplacementAPI.RegisterSuitModelReplacement("VFlower", typeof(VFLOWER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Cute", typeof(CMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("SeeU", typeof(SEEU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Adult Meiko", typeof(AMEIKO));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Infinity", typeof(IMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Rolling Girl", typeof(RGIRL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Nyanko", typeof(NMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Plugin", typeof(PMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Yuu", typeof(YUU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Wil", typeof(WIL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Kyo", typeof(KYO));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miki", typeof(MIKI));
			ModelReplacementAPI.RegisterSuitModelReplacement("Fukase", typeof(FUKASE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Piko", typeof(PIKO));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Zukin", typeof(ZMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Rasetsu to Mukuro", typeof(MRTM));
			ModelReplacementAPI.RegisterSuitModelReplacement("UNI", typeof(UNI));
			ModelReplacementAPI.RegisterSuitModelReplacement("V3 Flower", typeof(V3FLOWER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Stardust", typeof(STARDUST));
			ModelReplacementAPI.RegisterSuitModelReplacement("Yue Cheng", typeof(YUECHENG));
			ModelReplacementAPI.RegisterSuitModelReplacement("Uta Utane Pants", typeof(UTAP));
			ModelReplacementAPI.RegisterSuitModelReplacement("Uta Utane Skirt", typeof(UTAS));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Deep Sea", typeof(DSMIKU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Rin Raspberry Fox", typeof(RRF));
			ModelReplacementAPI.RegisterSuitModelReplacement("YOHIOloid", typeof(YOHIO));
			ModelReplacementAPI.RegisterSuitModelReplacement("YOHIOloid Anniversary", typeof(YOHIOA));
			ModelReplacementAPI.RegisterSuitModelReplacement("IA", typeof(IA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Yan He", typeof(YANHE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Daina", typeof(DAINA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Eleanor Forte", typeof(ELEANOR));
			ModelReplacementAPI.RegisterSuitModelReplacement("Yuezheng Longya", typeof(LONGYA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Dex", typeof(DEX));
			ModelReplacementAPI.RegisterSuitModelReplacement("Ruby", typeof(RUBY));
			ModelReplacementAPI.RegisterSuitModelReplacement("Miku Winter", typeof(MWINTER));
			ModelReplacementAPI.RegisterSuitModelReplacement("GUMI SV2", typeof(GUMISV2));
			ModelReplacementAPI.RegisterSuitModelReplacement("Luo Tianyi", typeof(LUOT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Zhiyu Moke", typeof(ZMOKE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Otomachi Una", typeof(OUNA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Rana", typeof(RANA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Zundamon", typeof(ZUNDAMON));
			ModelReplacementAPI.RegisterSuitModelReplacement("Koharu Rikka", typeof(KRIKKA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Chiyu", typeof(CHIYU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Kizuna Akari", typeof(KAKARI));
			ModelReplacementAPI.RegisterSuitModelReplacement("Mayu", typeof(MAYU));
			ModelReplacementAPI.RegisterSuitModelReplacement("Kamui Gakupo", typeof(GAKUPO));
			ModelReplacementAPI.RegisterSuitModelReplacement("Adachi Rei", typeof(ADACHIR));
			ModelReplacementAPI.RegisterSuitModelReplacement("Yuezheng Ling", typeof(LING));
			Harmony val = new Harmony("com.gaby.vocaloidpack");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.gaby.vocaloidpack is loaded!");
		}

		private void BindConfigs()
		{
			cameraAdjustEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Configs", "Camera Adjustment Enabled", true, "Enable the camera height adjustments");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "vocaloid";

		public static AssetBundle MainAssetBundle = null;

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}