diff --git a/.Experimental/PlapPlapForAll/Components/DPS.cs b/.Experimental/PlapPlapForAll/Components/DPS.cs new file mode 100644 index 0000000..905c633 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Components/DPS.cs @@ -0,0 +1,146 @@ +using ABI_RC.Core; +using UnityEngine; + +namespace NAK.PlapPlapForAll; + +public enum DPSLightType +{ + Invalid, + Hole, + Ring, + Normal, + Tip +} + +public struct DPSOrifice +{ + public DPSLightType type; + public Light dpsLight; + public Light normalLight; + public Transform basis; +} + +public struct DPSPenetrator +{ + public Transform penetratorTransform; + public float length; // _Length // _TPS_PenetratorLength +} + +public static class DPS +{ + private static readonly int Length = Shader.PropertyToID("_Length"); + private static readonly int TpsPenetratorLength = Shader.PropertyToID("_TPS_PenetratorLength"); + + public static DPSLightType GetOrificeType(Light light) + { + int encoded = Mathf.RoundToInt(Mathf.Repeat((light.range * 500f) + 500f, 50f) + 200f); + return encoded switch + { + 205 => DPSLightType.Hole, // 0.41 + 210 => DPSLightType.Ring, // 0.42 + 225 => DPSLightType.Normal, // 0.45 + 245 => DPSLightType.Tip, // 0.49 + _ => DPSLightType.Invalid + }; + } + + public static bool ScanForDPS( + GameObject rootObject, + out List dpsOrifices, + out bool foundPenetrator) + { + dpsOrifices = null; + foundPenetrator = false; + + // Scan for DPS + Light[] allLights = rootObject.GetComponentsInChildren(true); + int lightCount = allLights.Length; + if (lightCount == 0) return false; + + // DPS setups are usually like this: + // - Empty Container + // - Light (Type light) (range set to 0.x1 for hole or 0.x2 for ring) + // - Light (Normal light) (range set to 0.x5) + + for (int i = 0; i < lightCount; i++) + { + Light light = allLights[i]; + + DPSLightType orificeType = GetOrificeType(light); + + if (orificeType == DPSLightType.Tip) + { + foundPenetrator = true; + continue; + } + + if (orificeType is DPSLightType.Hole or DPSLightType.Ring) + { + Transform lightTransform = light.transform; + Transform parent = lightTransform.parent; + + // Found a DPS light + DPSOrifice dpsOrifice = new() + { + type = orificeType, + dpsLight = light, + normalLight = null, + basis = parent // Assume parent is basis + }; + + // Try to find normal light sibling + foreach (Transform sibling in parent) + { + if (sibling == lightTransform) continue; + if (sibling.TryGetComponent(out Light siblingLight) + && GetOrificeType(siblingLight) == DPSLightType.Normal) + { + dpsOrifice.normalLight = siblingLight; + break; + } + } + + dpsOrifices ??= []; + dpsOrifices.Add(dpsOrifice); + } + } + + return dpsOrifices is { Count: > 0 } || foundPenetrator; + } + + public static void AttemptTPSHack(GameObject rootObject) + { + Renderer[] allRenderers = rootObject.GetComponentsInChildren(true); + int count = allRenderers.Length; + if (count == 0) return; + + SkinnedDickFixRoot fixRoot = rootObject.AddComponent(); + + for (int i = 0; i < count; i++) + { + Renderer render = allRenderers[i]; + if (render.gameObject.CompareTag(CVRTags.InternalObject)) + continue; + + Material mat = render.sharedMaterial; + if (!mat) continue; + + float length = 0f; + if (mat.HasProperty(TpsPenetratorLength)) length += mat.GetFloat(TpsPenetratorLength); + if (mat.HasProperty(Length)) length += mat.GetFloat(Length); + if (length <= 0f) continue; + + Transform dpsRoot; + SkinnedMeshRenderer smr = render as SkinnedMeshRenderer; + if (smr && smr.rootBone) + dpsRoot = smr.rootBone; + else + dpsRoot = render.transform; + + fixRoot.Register(render, dpsRoot, length); + + PlapPlapForAllMod.Logger.Msg( + $"Added shared DPS penetrator light for mesh '{render.name}' in object '{rootObject.name}'."); + } + } +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/Components/DickFix.cs b/.Experimental/PlapPlapForAll/Components/DickFix.cs new file mode 100644 index 0000000..68a1d13 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Components/DickFix.cs @@ -0,0 +1,126 @@ +using UnityEngine; + +namespace NAK.PlapPlapForAll; + +public sealed class SkinnedDickFixRoot : MonoBehaviour +{ + private struct Entry + { + public Transform root; + public GameObject lightObject; + public Renderer[] renderers; + public int rendererCount; + public bool lastState; + } + + private Entry[] _entries; + private int _entryCount; + + private void Awake() + { + _entries = new Entry[4]; + _entryCount = 0; + } + + public void Register(Renderer renderer, Transform dpsRoot, float length) + { + int idx = FindEntry(dpsRoot); + if (idx < 0) + { + idx = _entryCount; + if (idx == _entries.Length) + { + Entry[] old = _entries; + _entries = new Entry[old.Length << 1]; + Array.Copy(old, _entries, old.Length); + } + + GameObject lightObj = new("[PlapPlapForAllMod] Auto DPS Tip Light"); + lightObj.transform.SetParent(dpsRoot, false); + lightObj.transform.localPosition = new Vector3(0f, 0f, length * 0.5f); // Noachi said should be at base + lightObj.SetActive(false); // Initially off + + Light l = lightObj.AddComponent(); + l.type = LightType.Point; + l.range = 0.49f; + l.intensity = 0.354f; + l.shadows = LightShadows.None; + l.renderMode = LightRenderMode.ForceVertex; + l.color = new Color(0.003921569f, 0.003921569f, 0.003921569f); + + Entry e; + e.root = dpsRoot; + e.lightObject = lightObj; + e.renderers = new Renderer[2]; + e.rendererCount = 0; + e.lastState = false; + + _entries[idx] = e; + _entryCount++; + } + + ref Entry entry = ref _entries[idx]; + Renderer[] list = entry.renderers; + + for (int i = 0; i < entry.rendererCount; i++) + if (list[i] == renderer) + return; + + if (entry.rendererCount == list.Length) + { + Renderer[] old = list; + list = new Renderer[old.Length << 1]; + Array.Copy(old, list, old.Length); + entry.renderers = list; + } + + list[entry.rendererCount++] = renderer; + } + + private int FindEntry(Transform root) + { + for (int i = 0; i < _entryCount; i++) + if (_entries[i].root == root) + return i; + return -1; + } + + private void Update() + { + for (int i = 0; i < _entryCount; i++) + { + ref Entry entry = ref _entries[i]; + + bool active = false; + Renderer[] list = entry.renderers; + int count = entry.rendererCount; + + for (int r = 0; r < count; r++) + { + Renderer ren = list[r]; + if (!ren) continue; + if (ren.enabled && ren.gameObject.activeInHierarchy) + { + active = true; + break; + } + } + + if (active != entry.lastState) + { + entry.lastState = active; + entry.lightObject.SetActive(active); + } + } + } + + private void OnDisable() + { + for (int i = 0; i < _entryCount; i++) + { + ref Entry entry = ref _entries[i]; + entry.lightObject.SetActive(false); + entry.lastState = false; + } + } +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/Components/PlapPlapTap.cs b/.Experimental/PlapPlapForAll/Components/PlapPlapTap.cs new file mode 100644 index 0000000..90de670 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Components/PlapPlapTap.cs @@ -0,0 +1,271 @@ +using ABI.CCK.Components; +using UnityEngine; +using UnityEngine.Animations; + +namespace NAK.PlapPlapForAll; + +public enum PlapPlapAudioMode +{ + Ass, + Mouth, + Generic, + Vagina +} + +public sealed class PlapPlapTap : MonoBehaviour +{ + private static readonly Rule[] Rules = + { + new(PlapPlapAudioMode.Mouth, HumanBodyBones.Head, 3, + "mouth", "oral", "blow", "bj"), + new(PlapPlapAudioMode.Vagina, HumanBodyBones.Hips, 3, + "pussy", "vagina", "cunt", "v"), + new(PlapPlapAudioMode.Ass, HumanBodyBones.Hips, 2, "ass", + "anus", "butt", "anal", "b"), + new(PlapPlapAudioMode.Generic, null, 1, + "thigh", "armpit", "foot", "knee", "paizuri", "buttjob", "breast", "boob", "ear") + }; + + private DPSOrifice _dpsOrifice; + private Animator _animator; + private ParentConstraint _constraint; + private bool _dynamic; + private bool _lastLightState; + private int _activeSourceIndex = -1; + private PlapPlapAudioMode _mode; + private GameObject _plapPlapObject; + private RenderTexture _memoryTexture; + private bool _hasInitialized; + + public static bool IsBuiltInPlapPlapSetup(DPSOrifice dpsOrifice) + { + Transform basis = dpsOrifice.basis; + + // Check if basis name is plap plap + if (basis.name == "plap plap") return true; + + // Check if there is a texture property parser under the basis + SkinnedMeshRenderer smr = basis.GetComponentInChildren(true); + if (smr && smr.sharedMaterial && smr.sharedMaterial.name == "Unlit_detect dps") + return true; + + return false; + } + + public static PlapPlapTap CreateFromOrifice(DPSOrifice dpsOrifice, Animator animator, GameObject plapPlapPrefab) + { + Light light = dpsOrifice.dpsLight; + PlapPlapTap tap = light.gameObject.AddComponent(); + tap._dpsOrifice = dpsOrifice; + tap._animator = animator; + + GameObject plapPlap = Instantiate(plapPlapPrefab, light.transform, false); + tap._plapPlapObject = plapPlap; + + // Duplicate memory texture + CVRTexturePropertyParser parser = plapPlap.GetComponentInChildren(true); + Camera camera = plapPlap.GetComponentInChildren(true); + + RenderTexture instancedTexture = new(parser.texture); + instancedTexture.name += $"_Copy_{instancedTexture.GetHashCode()}"; + parser.texture = instancedTexture; + camera.targetTexture = instancedTexture; + tap._memoryTexture = instancedTexture; + + ParentConstraint pc = tap.GetComponentInParent(true); + if (pc && pc.sourceCount > 0) + { + tap._constraint = pc; + tap._dynamic = true; + } + + tap.SetOrificeMode(dpsOrifice.type); + tap.RecomputeMode(); + tap.SyncLightState(); + + PlapPlapForAllMod.Logger.Msg( + $"PlapPlapTap created for orifice '{dpsOrifice.type}' using light '{dpsOrifice.basis.name}'. " + + $"Dynamic: {tap._dynamic}, Initial Mode: {tap._mode}"); + + tap._hasInitialized = true; + + return tap; + } + + private void OnEnable() + { + if (!_hasInitialized) return; + RecomputeMode(); + SyncLightState(); + } + + private void OnDisable() + { + if (!_hasInitialized) return; + SyncLightState(); + } + + private void OnDestroy() + { + if (_memoryTexture) + { + Destroy(_memoryTexture); + _memoryTexture = null; + } + } + + private void Update() + { + if (!_dynamic || !_constraint) return; + + int top = -1; + float best = -1f; + + int count = _constraint.sourceCount; + for (int i = 0; i < count; i++) + { + ConstraintSource src = _constraint.GetSource(i); + if (!src.sourceTransform) continue; + + float w = src.weight; + if (w > best) + { + best = w; + top = i; + } + } + + if (top != _activeSourceIndex) + { + _activeSourceIndex = top; + RecomputeMode(); + } + } + + private void SyncLightState() + { + Light light = _dpsOrifice.dpsLight; + if (!light) return; + + bool on = light.isActiveAndEnabled; + if (_lastLightState == on) return; + _lastLightState = on; + + _plapPlapObject.SetActive(on); + } + + private void RecomputeMode() + { + Transform basis = _dpsOrifice.dpsLight.transform; + + if (_dynamic && _constraint && _activeSourceIndex >= 0) + { + ConstraintSource src = _constraint.GetSource(_activeSourceIndex); + if (src.sourceTransform) + basis = src.sourceTransform; + } + + string basisName = basis.name; + int bestScore = int.MinValue; + PlapPlapAudioMode bestMode = PlapPlapAudioMode.Generic; + + for (int r = 0; r < Rules.Length; r++) + { + ref readonly Rule rule = ref Rules[r]; + int score = 0; + + if (rule.HintBone.HasValue && _animator) + { + Transform bone = _animator.GetBoneTransform(rule.HintBone.Value); + if (bone && basis.IsChildOf(bone)) + score += rule.BoneWeight; + } + + string lowerName = basisName.ToLowerInvariant(); + + for (int k = 0; k < rule.Keywords.Length; k++) + { + string kw = rule.Keywords[k]; + string lowerKw = kw.ToLowerInvariant(); + + if (lowerName == lowerKw) + { + score += 8; + continue; + } + + bool tokenMatch = false; + int start = 0; + for (int i = 0; i <= lowerName.Length; i++) + { + if (i == lowerName.Length || !char.IsLetter(lowerName[i])) + { + int len = i - start; + if (len == lowerKw.Length) + { + bool equal = true; + for (int c = 0; c < len; c++) + { + if (lowerName[start + c] != lowerKw[c]) + { + equal = false; + break; + } + } + if (equal) + { + tokenMatch = true; + break; + } + } + start = i + 1; + } + } + + if (tokenMatch) + { + score += lowerKw.Length == 1 ? 6 : 5; + continue; + } + + if (lowerKw.Length >= 4 && lowerName.Contains(lowerKw)) + score += 3; + } + + if (score > bestScore) + { + bestScore = score; + bestMode = rule.Mode; + } + } + + if (bestMode == _mode) return; + _mode = bestMode; + + SetAudioMode(_mode); + + PlapPlapForAllMod.Logger.Msg($"PlapPlapTap applying mode {_mode}"); + } + + private readonly struct Rule(PlapPlapAudioMode mode, HumanBodyBones? bone, int boneWeight, params string[] keywords) + { + public readonly PlapPlapAudioMode Mode = mode; + public readonly HumanBodyBones? HintBone = bone; + public readonly int BoneWeight = boneWeight; + public readonly string[] Keywords = keywords; + } + + /* Interacting with Plap Plap */ + + public void SetAudioMode(PlapPlapAudioMode mode) + { + CVRAnimatorDriver animatorDriver = _plapPlapObject.GetComponent(); + animatorDriver.animatorParameter01 = (float)mode; + } + + public void SetOrificeMode(DPSLightType mode) + { + CVRAnimatorDriver animatorDriver = _plapPlapObject.GetComponent(); + animatorDriver.animatorParameter02 = (float)mode; + } +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/Components/StopHighlightPropagation.cs b/.Experimental/PlapPlapForAll/Components/StopHighlightPropagation.cs new file mode 100644 index 0000000..1b51342 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Components/StopHighlightPropagation.cs @@ -0,0 +1,43 @@ +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.InteractionSystem.Base; +using UnityEngine; + +namespace NAK.PlapPlapForAll; + +public class StopHighlightPropagation : Pickupable +{ + public override void OnGrab(InteractionContext context, Vector3 grabPoint) + { + // throw new NotImplementedException(); + } + + public override void OnDrop(InteractionContext context) + { + // throw new NotImplementedException(); + } + + public override void OnUseDown(InteractionContext context) + { + // throw new NotImplementedException(); + } + + public override void OnUseUp(InteractionContext context) + { + // throw new NotImplementedException(); + } + + public override void FlingTowardsTarget(ControllerRay controllerRay) + { + // throw new NotImplementedException(); + } + + public override bool CanPickup { get; } + public override bool DisallowTheft { get; } + public override float MaxGrabDistance { get; } + public override float MaxPushDistance { get; } + public override bool IsAutoHold { get; } + public override bool IsObjectRotationAllowed { get; } + public override bool IsObjectPushPullAllowed { get; } + public override bool IsTelepathicGrabAllowed { get; } + public override bool IsObjectUseAllowed { get; } +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/Main.cs b/.Experimental/PlapPlapForAll/Main.cs new file mode 100644 index 0000000..5221e99 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Main.cs @@ -0,0 +1,124 @@ +using ABI_RC.Core; +using ABI_RC.Core.Networking.IO.Social; +using MelonLoader; +using ABI_RC.Core.Player; +using ABI_RC.Systems.GameEventSystem; +using ABI.CCK.Components; +using UnityEngine; +using UnityEngine.Animations; + +namespace NAK.PlapPlapForAll; + +public class PlapPlapForAllMod : MelonMod +{ + public static MelonLogger.Instance Logger; + + public override void OnInitializeMelon() + { + Logger = LoggerInstance; + CVRGameEventSystem.Initialization.OnPlayerSetupStart.AddListener(OnPlayerSetupStart); + CVRGameEventSystem.Avatar.OnLocalAvatarLoad.AddListener(OnLocalAvatarLoaded); + CVRGameEventSystem.Avatar.OnRemoteAvatarLoad.AddListener(OnRemoteAvatarLoaded); + LoadAssetBundle(); + } + + private static void OnPlayerSetupStart() + { + PlapPlapPrefab.SetActive(false); + + // Remove ParentConstraint so we can reparent later + ParentConstraint parentConstraint = PlapPlapPrefab.GetComponent(); + if (parentConstraint) UnityEngine.Object.DestroyImmediate(parentConstraint); + + // Remove lights to avoid interfering with avatar lights + Light[] lights = PlapPlapPrefab.GetComponentsInChildren(true); + foreach (Light light in lights) UnityEngine.Object.DestroyImmediate(light); + + // Register the audio sources underneath to the Avatar mixer group + AudioSource[] audioSources = PlapPlapPrefab.GetComponentsInChildren(true); + foreach (AudioSource audioSource in audioSources) audioSource.outputAudioMixerGroup = RootLogic.Instance.avatarSfx; + + // Add StopHighlightPropagation to prevent plap plap from being highlighted + StopHighlightPropagation stopHighlight = PlapPlapPrefab.AddComponent(); + stopHighlight.enabled = false; // marker only + + Logger.Msg("Patched PlapPlap prefab!"); + } + + private static void OnLocalAvatarLoaded(CVRAvatar avatar) + => OnAvatarLoaded(PlayerSetup.Instance, avatar.gameObject); + private static void OnRemoteAvatarLoaded(CVRPlayerEntity playerEntity, CVRAvatar avatar) + => OnAvatarLoaded(playerEntity.PuppetMaster, avatar.gameObject); + + private static void OnAvatarLoaded(PlayerBase player, GameObject avatarObject) + { + // Enforcing friends with benefits + if (!Friends.FriendsWith(player.PlayerId)) + return; + + // Scan for DPS setups + if (!DPS.ScanForDPS(avatarObject, out List dpsOrifices, out bool foundPenetrator)) + return; + + // If no penetrator found, attempt to find one via TPS + if (!foundPenetrator) DPS.AttemptTPSHack(avatarObject); + + // Setup PlapPlap for each found orifice + if (dpsOrifices.Count != 0) + { + // Log found orifices + Logger.Msg($"Found {dpsOrifices.Count} DPS orifices on avatar '{avatarObject.name}' for player '{player.PlayerUsername}':"); + foreach (DPSOrifice dpsOrifice in dpsOrifices) Logger.Msg($"- Orifice Type: {dpsOrifice.type}, DPS Light: {dpsOrifice.dpsLight.name}, Normal Light: {(dpsOrifice.normalLight != null ? dpsOrifice.normalLight.name : "None")}"); + + // Configure PlapPlap for each orifice + Animator avatarAnimator = player.Animator; + foreach (DPSOrifice dpsOrifice in dpsOrifices) + { + // Skip if this is already a plap plap setup + if (PlapPlapTap.IsBuiltInPlapPlapSetup(dpsOrifice)) + continue; + + PlapPlapTap.CreateFromOrifice( + dpsOrifice, + avatarAnimator, + PlapPlapPrefab + ); + } + } + } + + /* Asset Bundle Loading */ + + private const string PlapPlapAssetsName = "PlapPlapForAll.Resources.plap plap.assets"; + private const string PlapPlapPrefabName = "Assets/Noachi/Plap Plap/plap plap.prefab"; + + private static GameObject PlapPlapPrefab; + + private void LoadAssetBundle() + { + LoggerInstance.Msg($"Loading required asset bundle..."); + using Stream resourceStream = MelonAssembly.Assembly.GetManifestResourceStream(PlapPlapAssetsName); + using MemoryStream memoryStream = new(); + if (resourceStream == null) { + LoggerInstance.Error($"Failed to load {PlapPlapAssetsName}!"); + return; + } + + resourceStream.CopyTo(memoryStream); + AssetBundle assetBundle = AssetBundle.LoadFromStream(memoryStream); + if (assetBundle == null) { + LoggerInstance.Error($"Failed to load {PlapPlapAssetsName}! Asset bundle is null!"); + return; + } + + PlapPlapPrefab = assetBundle.LoadAsset(PlapPlapPrefabName); + if (PlapPlapPrefab == null) { + LoggerInstance.Error($"Failed to load {PlapPlapPrefabName}! Prefab is null!"); + return; + } + PlapPlapPrefab.hideFlags |= HideFlags.DontUnloadUnusedAsset; + LoggerInstance.Msg($"Loaded {PlapPlapPrefabName}!"); + + LoggerInstance.Msg("Asset bundle successfully loaded!"); + } +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/PlapPlapForAll.csproj b/.Experimental/PlapPlapForAll/PlapPlapForAll.csproj new file mode 100644 index 0000000..f302093 --- /dev/null +++ b/.Experimental/PlapPlapForAll/PlapPlapForAll.csproj @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.Experimental/PlapPlapForAll/Properties/AssemblyInfo.cs b/.Experimental/PlapPlapForAll/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8e69b28 --- /dev/null +++ b/.Experimental/PlapPlapForAll/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using NAK.PlapPlapForAll.Properties; +using MelonLoader; +using System.Reflection; + +[assembly: AssemblyVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyTitle(nameof(NAK.PlapPlapForAll))] +[assembly: AssemblyCompany(AssemblyInfoParams.Author)] +[assembly: AssemblyProduct(nameof(NAK.PlapPlapForAll))] + +[assembly: MelonInfo( + typeof(NAK.PlapPlapForAll.PlapPlapForAllMod), + nameof(NAK.PlapPlapForAll), + AssemblyInfoParams.Version, + AssemblyInfoParams.Author, + downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/PlapPlapForAll" +)] + +[assembly: MelonGame("ChilloutVR", "ChilloutVR")] +[assembly: MelonPlatform(MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)] +[assembly: MelonPlatformDomain(MelonPlatformDomainAttribute.CompatibleDomains.MONO)] +[assembly: MelonColor(255, 246, 25, 99)] // red-pink +[assembly: MelonAuthorColor(255, 158, 21, 32)] // red +[assembly: HarmonyDontPatchAll] + +namespace NAK.PlapPlapForAll.Properties; +internal static class AssemblyInfoParams +{ + public const string Version = "1.0.0"; + public const string Author = "NotAKidoS, Noachi"; +} \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/README.md b/.Experimental/PlapPlapForAll/README.md new file mode 100644 index 0000000..43d1cb3 --- /dev/null +++ b/.Experimental/PlapPlapForAll/README.md @@ -0,0 +1,16 @@ +# PlapPlapForAll + +Adds Noach's PlapPlap prefab to any detected DPS setups on avatars. + +Will also fix existing penetrator setups which are missing the tip light. + +--- + +Here is the block of text where I tell you this mod is not affiliated or endorsed by ~~~~ABI. +https://documentation.abinteractive.net/official/legal/tos/#7-modding-our-games + +> This mod is an independent creation and is not affiliated with, supported by or approved by Alpha Blend Interactive. + +> Use of this mod is done so at the user's own risk and the creator cannot be held responsible for any issues arising from its use. + +> To the best of my knowledge, I have adhered to the Modding Guidelines established by Alpha Blend Interactive. \ No newline at end of file diff --git a/.Experimental/PlapPlapForAll/Resources/plap plap.assets b/.Experimental/PlapPlapForAll/Resources/plap plap.assets new file mode 100644 index 0000000..2271535 Binary files /dev/null and b/.Experimental/PlapPlapForAll/Resources/plap plap.assets differ diff --git a/NAK_CVR_Mods.sln b/NAK_CVR_Mods.sln index 1541fc7..9ce73c1 100644 --- a/NAK_CVR_Mods.sln +++ b/NAK_CVR_Mods.sln @@ -18,11 +18,9 @@ EndProject EndProject EndProject EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RelativeSync", "RelativeSync\RelativeSync.csproj", "{B48C8F19-9451-4EE2-999F-82C0033CDE2C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RelativeSyncJitterFix", "RelativeSyncJitterFix\RelativeSyncJitterFix.csproj", "{B48C8F19-9451-4EE2-999F-82C0033CDE2C}" EndProject EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LazyPrune", "LazyPrune\LazyPrune.csproj", "{8FA6D481-5801-4E4C-822E-DE561155D22B}" -EndProject EndProject EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScrollFlight", "ScrollFlight\ScrollFlight.csproj", "{1B5D7DCB-01A4-4988-8B25-211948AEED76}" @@ -32,8 +30,6 @@ EndProject EndProject EndProject EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeepVelocityOnExitFlight", "KeepVelocityOnExitFlight\KeepVelocityOnExitFlight.csproj", "{0BB3D187-BBBA-4C58-B246-102342BE5E8C}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASTExtension", "ASTExtension\ASTExtension.csproj", "{6580AA87-6A95-438E-A5D3-70E583CCD77B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvatarQueueSystemTweaks", "AvatarQueueSystemTweaks\AvatarQueueSystemTweaks.csproj", "{D178E422-283B-4FB3-89A6-AA4FB9F87E2F}" @@ -64,10 +60,58 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LuaNetworkVariables", ".Exp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TouchySquishy", ".Blackbox\TouchySquishy\TouchySquishy.csproj", "{FF4BF0E7-698D-49A0-96E9-0E2646FEAFFA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVRLuaToolsExtension", ".Experimental\CVRLuaToolsExtension\CVRLuaToolsExtension.csproj", "{3D221A25-007F-4764-98CD-CEEF2EB92165}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConfigureCalibrationPose", "ConfigureCalibrationPose\ConfigureCalibrationPose.csproj", "{31667A36-D069-4708-9DCA-E3446009941B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuperAwesomeMod", ".Deprecated\SuperAwesomeMod\SuperAwesomeMod.csproj", "{11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OriginShift", ".Experimental\OriginShift\OriginShift.csproj", "{A891F616-D163-4B1D-99E4-17C49810D3E4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatBubbles", "ChatBubbles\ChatBubbles.csproj", "{6981A299-1743-4342-9F20-B8FC0263C54D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InDepthLogging", ".Blackbox\InDepthLogging\InDepthLogging.csproj", "{544C21EF-51EF-4947-BBED-26A6794A71D7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FuckCameras", "FuckCameras\FuckCameras.csproj", "{D2B53F5A-9D6A-4402-B7FD-83BB1503D395}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FuckCohtml2", "FuckCohtml2\FuckCohtml2.csproj", "{F1CCF5D2-EA11-4FE8-A5E2-A92655245893}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MisatyanEffector", "MisatyanEffector\MisatyanEffector.csproj", "{0EA59927-C46A-43DE-9E16-ED64EC1F4FB5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DummyMenu", "DummyMenu\DummyMenu.csproj", "{DDCEE1C8-80EE-4DFF-84F2-6CE67D02AC22}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tinyboard", "Tinyboard\Tinyboard.csproj", "{3678F633-47DD-443B-8A6B-0CF33F45097F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FuckOffUICamera", "FuckOffUICamera\FuckOffUICamera.csproj", "{FAF20A58-1CA6-4543-A8FB-70085F31EFDF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IFUCKINGHATECAMERAS", "IFUCKINGHATECAMERAS\IFUCKINGHATECAMERAS.csproj", "{2878A29C-E40F-4A1D-A0A3-678742D3814F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApiSwitcher", ".Blackbox\ApiSwitcher\ApiSwitcher.csproj", "{BBDFF009-CD61-4345-AE16-01B18B5F8073}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Blackbox", "Blackbox", "{FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BufferParticleFixer", "BufferParticleFixer\BufferParticleFixer.csproj", "{46E47494-A96A-4138-BA3E-3A9A012C518A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShowPlayerInSelfMirror", "ShowPlayerInSelfMirror\ShowPlayerInSelfMirror.csproj", "{33435863-4366-438B-9524-354D61E06806}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatBoxTweaks", "ChatBoxTweaks\ChatBoxTweaks.csproj", "{661119FB-B83B-4C48-8810-48293C6D7661}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControlToUnlockEyes", "ControlToUnlockEyes\ControlToUnlockEyes.csproj", "{42C051F5-8DF6-4335-83F9-43A732595C05}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccountSwitcher", ".Blackbox\AccountSwitcher\AccountSwitcher.csproj", "{CB20A400-51AC-456E-B261-3F6804EA6314}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RConHelper", ".Blackbox\RConHelper\RConHelper.csproj", "{E3950FB3-C4BD-4320-89F9-331C93781FBB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ByeByePerformanceThankYouAMD", "ByeByePerformanceThankYouAMD\ByeByePerformanceThankYouAMD.csproj", "{B9B67099-777A-4686-AE01-455B101B3B36}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVRGizmos", ".Deprecated\CVRGizmos\CVRGizmos.csproj", "{77FF7FA8-EBC2-4400-B7FF-3A5F7DBFAEAE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVRPersonalMirror", ".Blackbox\CVRPersonalMirror\CVRPersonalMirror.csproj", "{A19BF0EC-70C3-49D0-B278-02807669F240}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayableNetIk", ".Blackbox\PlayableNetIk\PlayableNetIk.csproj", "{7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Experimental", "Experimental", "{B8FAD767-CB47-4112-8AFC-8620A51B946A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlapPlapForAll", ".Experimental\PlapPlapForAll\PlapPlapForAll.csproj", "{1DE6CF9F-996E-459B-9129-D76245001F5F}" +EndProject EndProject EndProject EndProject @@ -147,10 +191,6 @@ Global {24A069F4-4D69-4ABD-AA16-77765469245B}.Debug|Any CPU.Build.0 = Debug|Any CPU {24A069F4-4D69-4ABD-AA16-77765469245B}.Release|Any CPU.ActiveCfg = Release|Any CPU {24A069F4-4D69-4ABD-AA16-77765469245B}.Release|Any CPU.Build.0 = Release|Any CPU - {8FA6D481-5801-4E4C-822E-DE561155D22B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8FA6D481-5801-4E4C-822E-DE561155D22B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8FA6D481-5801-4E4C-822E-DE561155D22B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8FA6D481-5801-4E4C-822E-DE561155D22B}.Release|Any CPU.Build.0 = Release|Any CPU {05C427DD-1261-4AAD-B316-A551FC126F2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {05C427DD-1261-4AAD-B316-A551FC126F2C}.Debug|Any CPU.Build.0 = Debug|Any CPU {05C427DD-1261-4AAD-B316-A551FC126F2C}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -191,10 +231,6 @@ Global {7C675E64-0A2D-4B34-B6D1-5D6AA369A520}.Debug|Any CPU.Build.0 = Debug|Any CPU {7C675E64-0A2D-4B34-B6D1-5D6AA369A520}.Release|Any CPU.ActiveCfg = Release|Any CPU {7C675E64-0A2D-4B34-B6D1-5D6AA369A520}.Release|Any CPU.Build.0 = Release|Any CPU - {0BB3D187-BBBA-4C58-B246-102342BE5E8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0BB3D187-BBBA-4C58-B246-102342BE5E8C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0BB3D187-BBBA-4C58-B246-102342BE5E8C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0BB3D187-BBBA-4C58-B246-102342BE5E8C}.Release|Any CPU.Build.0 = Release|Any CPU {6580AA87-6A95-438E-A5D3-70E583CCD77B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6580AA87-6A95-438E-A5D3-70E583CCD77B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6580AA87-6A95-438E-A5D3-70E583CCD77B}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -323,14 +359,102 @@ Global {FF4BF0E7-698D-49A0-96E9-0E2646FEAFFA}.Debug|Any CPU.Build.0 = Debug|Any CPU {FF4BF0E7-698D-49A0-96E9-0E2646FEAFFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {FF4BF0E7-698D-49A0-96E9-0E2646FEAFFA}.Release|Any CPU.Build.0 = Release|Any CPU - {3D221A25-007F-4764-98CD-CEEF2EB92165}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3D221A25-007F-4764-98CD-CEEF2EB92165}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D221A25-007F-4764-98CD-CEEF2EB92165}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3D221A25-007F-4764-98CD-CEEF2EB92165}.Release|Any CPU.Build.0 = Release|Any CPU {31667A36-D069-4708-9DCA-E3446009941B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {31667A36-D069-4708-9DCA-E3446009941B}.Debug|Any CPU.Build.0 = Debug|Any CPU {31667A36-D069-4708-9DCA-E3446009941B}.Release|Any CPU.ActiveCfg = Release|Any CPU {31667A36-D069-4708-9DCA-E3446009941B}.Release|Any CPU.Build.0 = Release|Any CPU + {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Release|Any CPU.Build.0 = Release|Any CPU + {A891F616-D163-4B1D-99E4-17C49810D3E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A891F616-D163-4B1D-99E4-17C49810D3E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A891F616-D163-4B1D-99E4-17C49810D3E4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A891F616-D163-4B1D-99E4-17C49810D3E4}.Release|Any CPU.Build.0 = Release|Any CPU + {6981A299-1743-4342-9F20-B8FC0263C54D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6981A299-1743-4342-9F20-B8FC0263C54D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6981A299-1743-4342-9F20-B8FC0263C54D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6981A299-1743-4342-9F20-B8FC0263C54D}.Release|Any CPU.Build.0 = Release|Any CPU + {544C21EF-51EF-4947-BBED-26A6794A71D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {544C21EF-51EF-4947-BBED-26A6794A71D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {544C21EF-51EF-4947-BBED-26A6794A71D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {544C21EF-51EF-4947-BBED-26A6794A71D7}.Release|Any CPU.Build.0 = Release|Any CPU + {D2B53F5A-9D6A-4402-B7FD-83BB1503D395}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D2B53F5A-9D6A-4402-B7FD-83BB1503D395}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D2B53F5A-9D6A-4402-B7FD-83BB1503D395}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D2B53F5A-9D6A-4402-B7FD-83BB1503D395}.Release|Any CPU.Build.0 = Release|Any CPU + {F1CCF5D2-EA11-4FE8-A5E2-A92655245893}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F1CCF5D2-EA11-4FE8-A5E2-A92655245893}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1CCF5D2-EA11-4FE8-A5E2-A92655245893}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F1CCF5D2-EA11-4FE8-A5E2-A92655245893}.Release|Any CPU.Build.0 = Release|Any CPU + {0EA59927-C46A-43DE-9E16-ED64EC1F4FB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0EA59927-C46A-43DE-9E16-ED64EC1F4FB5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0EA59927-C46A-43DE-9E16-ED64EC1F4FB5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0EA59927-C46A-43DE-9E16-ED64EC1F4FB5}.Release|Any CPU.Build.0 = Release|Any CPU + {DDCEE1C8-80EE-4DFF-84F2-6CE67D02AC22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DDCEE1C8-80EE-4DFF-84F2-6CE67D02AC22}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DDCEE1C8-80EE-4DFF-84F2-6CE67D02AC22}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DDCEE1C8-80EE-4DFF-84F2-6CE67D02AC22}.Release|Any CPU.Build.0 = Release|Any CPU + {3678F633-47DD-443B-8A6B-0CF33F45097F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3678F633-47DD-443B-8A6B-0CF33F45097F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3678F633-47DD-443B-8A6B-0CF33F45097F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3678F633-47DD-443B-8A6B-0CF33F45097F}.Release|Any CPU.Build.0 = Release|Any CPU + {FAF20A58-1CA6-4543-A8FB-70085F31EFDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FAF20A58-1CA6-4543-A8FB-70085F31EFDF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FAF20A58-1CA6-4543-A8FB-70085F31EFDF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FAF20A58-1CA6-4543-A8FB-70085F31EFDF}.Release|Any CPU.Build.0 = Release|Any CPU + {2878A29C-E40F-4A1D-A0A3-678742D3814F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2878A29C-E40F-4A1D-A0A3-678742D3814F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2878A29C-E40F-4A1D-A0A3-678742D3814F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2878A29C-E40F-4A1D-A0A3-678742D3814F}.Release|Any CPU.Build.0 = Release|Any CPU + {BBDFF009-CD61-4345-AE16-01B18B5F8073}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BBDFF009-CD61-4345-AE16-01B18B5F8073}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BBDFF009-CD61-4345-AE16-01B18B5F8073}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BBDFF009-CD61-4345-AE16-01B18B5F8073}.Release|Any CPU.Build.0 = Release|Any CPU + {46E47494-A96A-4138-BA3E-3A9A012C518A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {46E47494-A96A-4138-BA3E-3A9A012C518A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46E47494-A96A-4138-BA3E-3A9A012C518A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {46E47494-A96A-4138-BA3E-3A9A012C518A}.Release|Any CPU.Build.0 = Release|Any CPU + {33435863-4366-438B-9524-354D61E06806}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33435863-4366-438B-9524-354D61E06806}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33435863-4366-438B-9524-354D61E06806}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33435863-4366-438B-9524-354D61E06806}.Release|Any CPU.Build.0 = Release|Any CPU + {661119FB-B83B-4C48-8810-48293C6D7661}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {661119FB-B83B-4C48-8810-48293C6D7661}.Debug|Any CPU.Build.0 = Debug|Any CPU + {661119FB-B83B-4C48-8810-48293C6D7661}.Release|Any CPU.ActiveCfg = Release|Any CPU + {661119FB-B83B-4C48-8810-48293C6D7661}.Release|Any CPU.Build.0 = Release|Any CPU + {42C051F5-8DF6-4335-83F9-43A732595C05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42C051F5-8DF6-4335-83F9-43A732595C05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42C051F5-8DF6-4335-83F9-43A732595C05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42C051F5-8DF6-4335-83F9-43A732595C05}.Release|Any CPU.Build.0 = Release|Any CPU + {CB20A400-51AC-456E-B261-3F6804EA6314}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CB20A400-51AC-456E-B261-3F6804EA6314}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CB20A400-51AC-456E-B261-3F6804EA6314}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CB20A400-51AC-456E-B261-3F6804EA6314}.Release|Any CPU.Build.0 = Release|Any CPU + {E3950FB3-C4BD-4320-89F9-331C93781FBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3950FB3-C4BD-4320-89F9-331C93781FBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3950FB3-C4BD-4320-89F9-331C93781FBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3950FB3-C4BD-4320-89F9-331C93781FBB}.Release|Any CPU.Build.0 = Release|Any CPU + {B9B67099-777A-4686-AE01-455B101B3B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9B67099-777A-4686-AE01-455B101B3B36}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9B67099-777A-4686-AE01-455B101B3B36}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9B67099-777A-4686-AE01-455B101B3B36}.Release|Any CPU.Build.0 = Release|Any CPU + {77FF7FA8-EBC2-4400-B7FF-3A5F7DBFAEAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {77FF7FA8-EBC2-4400-B7FF-3A5F7DBFAEAE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {77FF7FA8-EBC2-4400-B7FF-3A5F7DBFAEAE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {77FF7FA8-EBC2-4400-B7FF-3A5F7DBFAEAE}.Release|Any CPU.Build.0 = Release|Any CPU + {A19BF0EC-70C3-49D0-B278-02807669F240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A19BF0EC-70C3-49D0-B278-02807669F240}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A19BF0EC-70C3-49D0-B278-02807669F240}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A19BF0EC-70C3-49D0-B278-02807669F240}.Release|Any CPU.Build.0 = Release|Any CPU + {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B}.Release|Any CPU.Build.0 = Release|Any CPU + {1DE6CF9F-996E-459B-9129-D76245001F5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1DE6CF9F-996E-459B-9129-D76245001F5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1DE6CF9F-996E-459B-9129-D76245001F5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1DE6CF9F-996E-459B-9129-D76245001F5F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -338,4 +462,15 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {CD7DECEC-F4A0-4EEF-978B-72748414D52A} EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {BBDFF009-CD61-4345-AE16-01B18B5F8073} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {FF4BF0E7-698D-49A0-96E9-0E2646FEAFFA} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {544C21EF-51EF-4947-BBED-26A6794A71D7} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {0EA59927-C46A-43DE-9E16-ED64EC1F4FB5} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {CB20A400-51AC-456E-B261-3F6804EA6314} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {E3950FB3-C4BD-4320-89F9-331C93781FBB} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {A19BF0EC-70C3-49D0-B278-02807669F240} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} + {1DE6CF9F-996E-459B-9129-D76245001F5F} = {B8FAD767-CB47-4112-8AFC-8620A51B946A} + EndGlobalSection EndGlobal diff --git a/README.md b/README.md index ed9da33..ca65a8c 100644 --- a/README.md +++ b/README.md @@ -6,23 +6,23 @@ | Name | Description | Download | |------|-------------|----------| -| [ASTExtension](ASTExtension/README.md) | Extension mod for [Avatar Scale Tool](https://github.com/NotAKidoS/AvatarScaleTool): | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/ASTExtension.dll) | +| [ASTExtension](ASTExtension/README.md) | Extension mod for [Avatar Scale Tool](https://github.com/NotAKidoS/AvatarScaleTool): | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/ASTExtension.dll) | | [AvatarQueueSystemTweaks](AvatarQueueSystemTweaks/README.md) | Small tweaks to the Avatar Queue System. | No Download | | [ConfigureCalibrationPose](ConfigureCalibrationPose/README.md) | Select FBT calibration pose. | No Download | -| [CustomSpawnPoint](CustomSpawnPoint/README.md) | Replaces the unused Images button in the World Details page with a button to set a custom spawn point. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/CustomSpawnPoint.dll) | -| [DoubleTapJumpToExitSeat](DoubleTapJumpToExitSeat/README.md) | Replaces seat exit controls with a double-tap of the jump button, avoiding accidental exits from joystick drift or opening the menu. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/DoubleTapJumpToExitSeat.dll) | -| [FuckToes](FuckToes/README.md) | Prevents VRIK from autodetecting toes in Halfbody or Fullbody. | No Download | +| [CustomSpawnPoint](CustomSpawnPoint/README.md) | Replaces the unused Images button in the World Details page with a button to set a custom spawn point. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/CustomSpawnPoint.dll) | +| [DoubleTapJumpToExitSeat](DoubleTapJumpToExitSeat/README.md) | Replaces seat exit controls with a double-tap of the jump button, avoiding accidental exits from joystick drift or opening the menu. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/DoubleTapJumpToExitSeat.dll) | +| [FuckToes](FuckToes/README.md) | Prevents VRIK from autodetecting toes in Halfbody or Fullbody. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/FuckToes.dll) | | [KeepVelocityOnExitFlight](KeepVelocityOnExitFlight/README.md) | Keeps the player's velocity when exiting flight mode. Makes it possible to fling yourself like in Garry's Mod. | No Download | | [LazyPrune](LazyPrune/README.md) | Prevents loaded objects from immediately unloading on destruction. Should prevent needlessly unloading & reloading all avatars/props on world rejoin or GS reconnection. | No Download | -| [PropLoadingHexagon](PropLoadingHexagon/README.md) | https://github.com/NotAKidoS/NAK_CVR_Mods/assets/37721153/a892c765-71c1-47f3-a781-bdb9b60ba117 | No Download | -| [RCCVirtualSteeringWheel](RCCVirtualSteeringWheel/README.md) | Allows you to physically grab rigged RCC steering wheels in VR to provide steering input. No explicit setup required other than defining the Steering Wheel transform within the RCC component. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/RCCVirtualSteeringWheel.dll) | -| [RelativeSyncJitterFix](RelativeSyncJitterFix/README.md) | Relative sync jitter fix is the single harmony patch that could not make it into the native release of RelativeSync. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/RelativeSyncJitterFix.dll) | -| [ShareBubbles](ShareBubbles/README.md) | Share Bubbles! Allows you to drop down bubbles containing Avatars & Props. Requires both users to have the mod installed. Synced over Mod Network. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/ShareBubbles.dll) | -| [SmootherRay](SmootherRay/README.md) | Smoothes your controller while the raycast lines are visible. | No Download | +| [PropLoadingHexagon](PropLoadingHexagon/README.md) | https://github.com/NotAKidoS/NAK_CVR_Mods/assets/37721153/a892c765-71c1-47f3-a781-bdb9b60ba117 | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/PropLoadingHexagon.dll) | +| [RCCVirtualSteeringWheel](RCCVirtualSteeringWheel/README.md) | Allows you to physically grab rigged RCC steering wheels in VR to provide steering input. No explicit setup required other than defining the Steering Wheel transform within the RCC component. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/RCCVirtualSteeringWheel.dll) | +| [RelativeSyncJitterFix](RelativeSyncJitterFix/README.md) | Relative sync jitter fix is the single harmony patch that could not make it into the native release of RelativeSync. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/RelativeSyncJitterFix.dll) | +| [ShareBubbles](ShareBubbles/README.md) | Share Bubbles! Allows you to drop down bubbles containing Avatars & Props. Requires both users to have the mod installed. Synced over Mod Network. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/ShareBubbles.dll) | +| [SmootherRay](SmootherRay/README.md) | Smoothes your controller while the raycast lines are visible. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/SmootherRay.dll) | | [Stickers](Stickers/README.md) | Stickers! Allows you to place small images on any surface. Requires both users to have the mod installed. Synced over Mod Network. | No Download | -| [ThirdPerson](ThirdPerson/README.md) | Original repo: https://github.com/oestradiol/CVR-Mods | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/ThirdPerson.dll) | -| [Tinyboard](Tinyboard/README.md) | Makes the keyboard small and smart. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/Tinyboard.dll) | -| [YouAreMyPropNowWeAreHavingSoftTacosLater](YouAreMyPropNowWeAreHavingSoftTacosLater/README.md) | Lets you bring held, attached, and occupied props through world loads. This is configurable in the mod settings. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r47/YouAreMyPropNowWeAreHavingSoftTacosLater.dll) | +| [ThirdPerson](ThirdPerson/README.md) | Original repo: https://github.com/oestradiol/CVR-Mods | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/ThirdPerson.dll) | +| [Tinyboard](Tinyboard/README.md) | Makes the keyboard small and smart. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/Tinyboard.dll) | +| [YouAreMyPropNowWeAreHavingSoftTacosLater](YouAreMyPropNowWeAreHavingSoftTacosLater/README.md) | Lets you bring held, attached, and occupied props through world loads. This is configurable in the mod settings. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/YouAreMyPropNowWeAreHavingSoftTacosLater.dll) | ### Experimental Mods @@ -30,9 +30,10 @@ |------|-------------|----------| | [CVRLuaToolsExtension](.Experimental/CVRLuaToolsExtension/README.md) | Extension mod for [CVRLuaTools](https://github.com/NotAKidoS/CVRLuaTools) Hot Reload functionality. | No Download | | [CustomRichPresence](.Experimental/CustomRichPresence/README.md) | Lets you customize the Steam & Discord rich presence messages & values. | No Download | -| [LuaNetworkVariables](.Experimental/LuaNetworkVariables/README.md) | Adds a simple module for creating network variables & events *kinda* similar to Garry's Mod. | No Download | +| [LuaNetworkVariables](.Experimental/LuaNetworkVariables/README.md) | Adds a simple module for creating network variables & events *kinda* similar to Garry's Mod. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/LuaNetworkVariables.dll) | | [LuaTTS](.Experimental/LuaTTS/README.md) | Provides access to the built-in text-to-speech (TTS) functionality to lua scripts. Allows you to make the local player speak. | No Download | -| [OriginShift](.Experimental/OriginShift/README.md) | Experimental mod that allows world origin to be shifted to prevent floating point precision issues. | No Download | +| [OriginShift](.Experimental/OriginShift/README.md) | Experimental mod that allows world origin to be shifted to prevent floating point precision issues. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/OriginShift.dll) | +| [PlapPlapForAll](.Experimental/PlapPlapForAll/README.md) | Adds Noach's PlapPlap prefab to any detected DPS setups on avatars. | No Download | | [ScriptingSpoofer](.Experimental/ScriptingSpoofer/README.md) | Prevents **local** scripts from accessing your Username or UserID by spoofing them with random values each session. | No Download | diff --git a/References.Items.props b/References.Items.props index 69164f3..8c9a594 100644 --- a/References.Items.props +++ b/References.Items.props @@ -20,8 +20,8 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Assembly-CSharp.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Aura2_Core.dll + + $(MsBuildThisFileDirectory)\.ManagedLibs\AsyncImageLoader.Runtime.dll False @@ -92,6 +92,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Crc32.NET.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\CVRLogger.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\DarkRift.Client.dll False @@ -100,6 +104,14 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\DarkRift.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\DiscordRPC.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\dotmore.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\DTLS.Net.dll False @@ -116,6 +128,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\ECM2.Walkthrough.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\EmbedIO.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\endel.nativewebsocket.dll False @@ -128,6 +144,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\FMODUnityResonance.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\Hacks.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\ICSharpCode.SharpZipLib.dll False @@ -140,6 +160,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\LibVLCSharp.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\LucHeart.CoreOSC.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\MagicaCloth.dll False @@ -148,6 +172,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\MagicaClothV2.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\MeaMod.DNS.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\MeshBakerCore.dll False @@ -156,6 +184,26 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Meta.XR.BuildingBlocks.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\Meta.XR.EnvironmentDepth.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\Meta.XR.ImmersiveDebugger.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\Meta.XR.ImmersiveDebugger.Interface.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\Meta.XR.MultiplayerBlocks.Shared.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\Microsoft.Win32.Registry.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\Mono.Security.dll False @@ -200,6 +248,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Oculus.VR.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\OSCQuery.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\PICO.Platform.dll False @@ -224,10 +276,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\SALSA-LipSync.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\SALSA.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\ShapesRuntime.dll False @@ -244,10 +292,18 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\SteamVR_Actions.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\Swan.Lite.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\System.Buffers.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\System.Collections.Immutable.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\System.ComponentModel.Composition.dll False @@ -288,6 +344,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\System.IO.Compression.FileSystem.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\System.IO.Hashing.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\System.Memory.dll False @@ -384,10 +444,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.AI.Navigation.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Analytics.DataPrivacy.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Burst.dll False @@ -420,6 +476,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Entities.Hybrid.HybridComponents.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Entities.UI.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.InputSystem.dll False @@ -440,10 +500,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.InternalAPIEngineBridge.003.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.InternalAPIEngineBridge.012.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Jobs.dll False @@ -460,10 +516,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Mathematics.Extensions.Hybrid.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Platforms.Common.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Polybrush.dll False @@ -496,18 +548,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Profiling.Core.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Properties.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Properties.Reflection.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Properties.UI.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.RenderPipelines.Core.Runtime.dll False @@ -532,62 +572,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Serialization.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Analytics.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Authentication.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Analytics.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Configuration.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Device.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Environments.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Environments.Internal.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Internal.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Networking.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Registration.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Scheduler.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Telemetry.dll - False - - - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.Services.Core.Threading.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.TextMeshPro.dll False @@ -628,6 +612,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.XR.Management.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.XR.MockHMD.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\Unity.XR.Oculus.dll False @@ -704,6 +692,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.ClusterRendererModule.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.ContentLoadModule.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.CoreModule.dll False @@ -788,6 +780,10 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.ProfilerModule.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.PropertiesModule.dll + False + $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll False @@ -860,10 +856,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UIElementsModule.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UIElementsNativeModule.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UIModule.dll False @@ -872,10 +864,6 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UmbraModule.dll False - - $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UNETModule.dll - False - $(MsBuildThisFileDirectory)\.ManagedLibs\UnityEngine.UnityAnalyticsCommonModule.dll False @@ -952,5 +940,25 @@ $(MsBuildThisFileDirectory)\.ManagedLibs\Valve.Newtonsoft.Json.dll False + + $(MsBuildThisFileDirectory)\.ManagedLibs\WasmScripting.UnsafeUtils.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\Wasmtime.Dotnet.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\ZLinq.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\ZLinq.Unity.dll + False + + + $(MsBuildThisFileDirectory)\.ManagedLibs\ZLinq.Unity.UnityCollectoins.dll + False + diff --git a/copy_and_nstrip_dll.ps1 b/copy_and_nstrip_dll.ps1 index 0f2c7f3..68fcc99 100644 --- a/copy_and_nstrip_dll.ps1 +++ b/copy_and_nstrip_dll.ps1 @@ -10,10 +10,10 @@ $cvrDefaultPath = "C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR" # $cvrDefaultPath = "E:\temp\CVR_Experimental" # Array with the dlls to strip -$dllsToStrip = @('Assembly-CSharp.dll','Assembly-CSharp-firstpass.dll','AVProVideo.Runtime.dll', 'Unity.TextMeshPro.dll', 'MagicaCloth.dll', 'MagicaClothV2.dll', 'ECM2.dll', 'TheClapper.dll', 'MTJobSystem.dll') +$dllsToStrip = @('Assembly-CSharp.dll','Assembly-CSharp-firstpass.dll','AVProVideo.Runtime.dll', 'Unity.TextMeshPro.dll', 'MagicaCloth.dll', 'MagicaClothV2.dll', 'ECM2.dll', 'DarkRift.dll', 'DarkRift.Client.dll', 'MTJobSystem.dll') # Array with the mods to grab -$modNames = @("BTKUILib", "BTKSAImmersiveHud", "PortableMirrorMod", "VRBinding", "TheClapper") +$modNames = @("BTKUILib") # Array with dlls to ignore from ManagedLibs $cvrManagedLibNamesToIgnore = @("netstandard", "Mono.Cecil", "Unity.Burst.Cecil")