diff --git a/NAK_CVR_Mods.sln b/NAK_CVR_Mods.sln index 732cae0..6eba649 100644 --- a/NAK_CVR_Mods.sln +++ b/NAK_CVR_Mods.sln @@ -47,6 +47,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ThirdPerson", "ThirdPerson\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AvatarScaleMod", "AvatarScale\AvatarScaleMod.csproj", "{A6DF0D98-428C-4FE2-BA7F-756312122B1E}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nevermind", "Nevermind\Nevermind.csproj", "{0432AB34-549E-4E36-8C92-6B9991800D67}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -141,6 +143,10 @@ Global {A6DF0D98-428C-4FE2-BA7F-756312122B1E}.Debug|Any CPU.Build.0 = Debug|Any CPU {A6DF0D98-428C-4FE2-BA7F-756312122B1E}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6DF0D98-428C-4FE2-BA7F-756312122B1E}.Release|Any CPU.Build.0 = Release|Any CPU + {0432AB34-549E-4E36-8C92-6B9991800D67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0432AB34-549E-4E36-8C92-6B9991800D67}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0432AB34-549E-4E36-8C92-6B9991800D67}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0432AB34-549E-4E36-8C92-6B9991800D67}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Nevermind/Main.cs b/Nevermind/Main.cs new file mode 100644 index 0000000..31c7110 --- /dev/null +++ b/Nevermind/Main.cs @@ -0,0 +1,36 @@ +using ABI_RC.Core.IO; +using MelonLoader; +using UnityEngine; + +namespace NAK.Nevermind; + +public class Nevermind : MelonMod +{ + public override void OnUpdate() + { + if (!Input.GetKeyDown(KeyCode.Home)) return; + + CancelWorldDownloadJoinOnComplete(); + CancelWorldLoadJoin(); + } + + void CancelWorldDownloadJoinOnComplete() + { + var downloadManager = CVRDownloadManager.Instance; + downloadManager.ActiveWorldDownload = false; + foreach (var download in downloadManager._downloadTasks) + download.Value.JoinOnComplete = false; + } + + void CancelWorldLoadJoin() + { + var objectLoader = CVRObjectLoader.Instance; + if (!objectLoader._isLoadingWorld) + { + objectLoader.j.Bytes = null; + objectLoader.j.ObjectId = null; + objectLoader.IsLoadingWorldToJoin = false; + objectLoader.CurrentWorldLoadingStage = -1; + } + } +} \ No newline at end of file diff --git a/Nevermind/Nevermind.csproj b/Nevermind/Nevermind.csproj new file mode 100644 index 0000000..66a50a8 --- /dev/null +++ b/Nevermind/Nevermind.csproj @@ -0,0 +1,2 @@ + + diff --git a/Nevermind/Nevermind.sln b/Nevermind/Nevermind.sln new file mode 100644 index 0000000..2a2c640 --- /dev/null +++ b/Nevermind/Nevermind.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32630.192 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Nevermind", "Nevermind.csproj", "{A1C8A08C-6307-409F-92E9-BF2BA21E1850}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A1C8A08C-6307-409F-92E9-BF2BA21E1850}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1C8A08C-6307-409F-92E9-BF2BA21E1850}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1C8A08C-6307-409F-92E9-BF2BA21E1850}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1C8A08C-6307-409F-92E9-BF2BA21E1850}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {523DBE1D-F499-41EE-A58B-34E7CB38FBD1} + EndGlobalSection +EndGlobal diff --git a/Nevermind/Properties/AssemblyInfo.cs b/Nevermind/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8e54d13 --- /dev/null +++ b/Nevermind/Properties/AssemblyInfo.cs @@ -0,0 +1,31 @@ +using Nevermind.Properties; +using MelonLoader; +using System.Reflection; + +[assembly: AssemblyVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyTitle(nameof(NAK.Nevermind))] +[assembly: AssemblyCompany(AssemblyInfoParams.Author)] +[assembly: AssemblyProduct(nameof(NAK.Nevermind))] + +[assembly: MelonInfo( + typeof(NAK.Nevermind.Nevermind), + nameof(NAK.Nevermind), + AssemblyInfoParams.Version, + AssemblyInfoParams.Author, + downloadLink: "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/Nevermind" +)] + +[assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")] +[assembly: MelonPlatform(MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)] +[assembly: MelonPlatformDomain(MelonPlatformDomainAttribute.CompatibleDomains.MONO)] +[assembly: MelonOptionalDependencies("BTKUILib")] +[assembly: HarmonyDontPatchAll] + +namespace Nevermind.Properties; +internal static class AssemblyInfoParams +{ + public const string Version = "1.0.0"; + public const string Author = "NotAKidoS"; +} \ No newline at end of file diff --git a/Nevermind/format.json b/Nevermind/format.json new file mode 100644 index 0000000..d6c4f78 --- /dev/null +++ b/Nevermind/format.json @@ -0,0 +1,23 @@ +{ + "_id": 129, + "name": "Nevermind", + "modversion": "1.0.0", + "gameversion": "2022r170", + "loaderversion": "0.5.7", + "modtype": "Mod", + "author": "NotAKidoS", + "description": "Prevents VRIK from using toe bones in VR & optionaly FBT.\n\nVRIK calculates weird center of mass when toes are mapped, so it is sometimes desired to unmap toes to prevent an avatars feet from resting far back.\n\nPlease see the README for relevant imagery detailing the problem.", + "searchtags": [ + "toes", + "vrik", + "ik", + "feet" + ], + "requirements": [ + "None" + ], + "downloadlink": "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/releases/download/r3/Nevermind.dll", + "sourcelink": "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/Nevermind/", + "changelog": "- Initial Release\n- No double patching. Bad. Stinky. Dont do it.", + "embedcolor": "#ffc700" +} \ No newline at end of file