Forgotten eye blinking

This commit is contained in:
SDraw 2026-05-10 11:53:09 +03:00
parent 2c4fbb1731
commit aa8def3192
No known key found for this signature in database
GPG key ID: BB95B4DAB2BB8BB5
4 changed files with 19 additions and 16 deletions

View file

@ -1,4 +1,5 @@
using ABI_RC.Core.Player;
using ABI_RC.Core.Savior;
using ABI_RC.Systems.FaceTracking;
using System;
using System.Reflection;
@ -8,8 +9,6 @@ namespace ml_asl
{
public class AvatarSyncedLook : MelonLoader.MelonMod
{
readonly static Matrix4x4 ms_back = Matrix4x4.Translate(Vector3.back);
public override void OnInitializeMelon()
{
HarmonyInstance.Patch(
@ -28,14 +27,24 @@ namespace ml_asl
{
try
{
if(Settings.Enabled && (__instance.EyeMovementController != null) && !FaceTrackingManager.Instance.IsEyeDataAvailable())
if(Settings.Enabled && (__instance.EyeMovementController != null))
{
____playerAvatarMovementData.EyeTrackingOverride = true;
if(!FaceTrackingManager.Instance.IsEyeDataAvailable())
{
____playerAvatarMovementData.EyeTrackingOverride = true;
if(__instance.EyeMovementController.CurrentTarget != null)
____playerAvatarMovementData.EyeTrackingPosition = __instance.EyeMovementController.CurrentTarget.GetPosition();
else
____playerAvatarMovementData.EyeTrackingPosition = (__instance.transform.GetMatrix() * ms_back).GetPosition();
if(__instance.EyeMovementController.CurrentTarget != null)
____playerAvatarMovementData.EyeTrackingPosition = __instance.EyeMovementController.CurrentTarget.GetPosition();
else
{
Transform l_camera = (!MetaPort.Instance.isUsingVr ? __instance.desktopCamera : __instance.vrCamera).transform;
____playerAvatarMovementData.EyeTrackingPosition = l_camera.position - l_camera.forward;
}
____playerAvatarMovementData.EyeBlinkingOverride = true;
____playerAvatarMovementData.EyeTrackingBlinkProgressLeft = __instance.EyeMovementController.blinkProgressLeft;
____playerAvatarMovementData.EyeTrackingBlinkProgressRight = __instance.EyeMovementController.blinkProgressRight;
}
}
}
catch(Exception e)