mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-04 07:19:22 +00:00
push what i have
This commit is contained in:
parent
dc2916e8e6
commit
d77afcc009
16 changed files with 496 additions and 91 deletions
55
ViewpointHeadScaleFix/Main.cs
Normal file
55
ViewpointHeadScaleFix/Main.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
using ABI_RC.Core.Player;
|
||||
using ABI_RC.Core.Savior;
|
||||
using MelonLoader;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NAK.ViewpointHeadScaleFix;
|
||||
|
||||
// Makes initialCameraPos scale with head bone scale
|
||||
|
||||
public class ViewpointHeadScaleFix : MelonMod
|
||||
{
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
HarmonyInstance.Patch(
|
||||
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.CalibrateAvatar)),
|
||||
postfix: new HarmonyLib.HarmonyMethod(typeof(ViewpointHeadScaleFix).GetMethod(nameof(OnPlayerSetupCalibrateAvatar_Postfix), BindingFlags.NonPublic | BindingFlags.Static))
|
||||
);
|
||||
HarmonyInstance.Patch(
|
||||
typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.SetViewPointOffset)),
|
||||
prefix: new HarmonyLib.HarmonyMethod(typeof(ViewpointHeadScaleFix).GetMethod(nameof(OnPlayerSetupSetViewPointOffset_Prefix), BindingFlags.NonPublic | BindingFlags.Static))
|
||||
);
|
||||
}
|
||||
|
||||
private static void OnPlayerSetupCalibrateAvatar_Postfix(ref PlayerSetup __instance)
|
||||
{
|
||||
if (!MetaPort.Instance.isUsingVr)
|
||||
return;
|
||||
|
||||
Transform headTransform = __instance._animator.GetBoneTransform(HumanBodyBones.Head);
|
||||
if (headTransform == null)
|
||||
return;
|
||||
|
||||
_originalCameraPos = __instance.initialCameraPos;
|
||||
_initialHeadScale = headTransform.localScale;
|
||||
}
|
||||
|
||||
private static void OnPlayerSetupSetViewPointOffset_Prefix(ref PlayerSetup __instance)
|
||||
{
|
||||
if (!MetaPort.Instance.isUsingVr)
|
||||
return;
|
||||
|
||||
Transform headTransform = __instance._animator.GetBoneTransform(HumanBodyBones.Head);
|
||||
if (headTransform == null)
|
||||
return;
|
||||
|
||||
__instance.initialCameraPos = __instance.MultiplyVectors(
|
||||
_originalCameraPos,
|
||||
__instance.DivideVectors(headTransform.localScale, _initialHeadScale)
|
||||
);
|
||||
}
|
||||
|
||||
private static Vector3 _originalCameraPos = Vector3.one;
|
||||
private static Vector3 _initialHeadScale = Vector3.one;
|
||||
}
|
32
ViewpointHeadScaleFix/Properties/AssemblyInfo.cs
Normal file
32
ViewpointHeadScaleFix/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,32 @@
|
|||
using MelonLoader;
|
||||
using NAK.ViewpointHeadScaleFix.Properties;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)]
|
||||
[assembly: AssemblyTitle(nameof(NAK.ViewpointHeadScaleFix))]
|
||||
[assembly: AssemblyCompany(AssemblyInfoParams.Author)]
|
||||
[assembly: AssemblyProduct(nameof(NAK.ViewpointHeadScaleFix))]
|
||||
|
||||
[assembly: MelonInfo(
|
||||
typeof(NAK.ViewpointHeadScaleFix.ViewpointHeadScaleFix),
|
||||
nameof(NAK.ViewpointHeadScaleFix),
|
||||
AssemblyInfoParams.Version,
|
||||
AssemblyInfoParams.Author,
|
||||
downloadLink: "https://github.com/NotAKidOnSteam/NAK_CVR_Mods/tree/main/AvatarScale"
|
||||
)]
|
||||
|
||||
[assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")]
|
||||
[assembly: MelonPlatform(MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)]
|
||||
[assembly: MelonPlatformDomain(MelonPlatformDomainAttribute.CompatibleDomains.MONO)]
|
||||
[assembly: MelonColor(255, 241, 200, 82)]
|
||||
[assembly: MelonAuthorColor(255, 114, 17, 25)]
|
||||
[assembly: HarmonyDontPatchAll]
|
||||
|
||||
namespace NAK.ViewpointHeadScaleFix.Properties;
|
||||
internal static class AssemblyInfoParams
|
||||
{
|
||||
public const string Version = "1.0.0";
|
||||
public const string Author = "NotAKidoS";
|
||||
}
|
2
ViewpointHeadScaleFix/ViewpointHeadScaleFix.csproj
Normal file
2
ViewpointHeadScaleFix/ViewpointHeadScaleFix.csproj
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk"/>
|
Loading…
Add table
Add a link
Reference in a new issue