diff --git a/.Deprecated/SuperAwesomeMod/DepthCameraFix.cs b/.Deprecated/SuperAwesomeMod/DepthCameraFix.cs deleted file mode 100644 index 933cfa6..0000000 --- a/.Deprecated/SuperAwesomeMod/DepthCameraFix.cs +++ /dev/null @@ -1,106 +0,0 @@ -namespace NAK.SuperAwesomeMod; - -using UnityEngine; -using UnityEngine.Rendering; - -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine; -using UnityEngine.Rendering; - -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine; -using UnityEngine.Rendering; - -[RequireComponent(typeof(Camera))] -public class DepthTextureFix : MonoBehaviour -{ - private Camera cam; - private CommandBuffer beforeCommandBuffer; - private CommandBuffer afterCommandBuffer; - - void Start() - { - cam = GetComponent(); - - // Ensure camera generates depth texture - cam.depthTextureMode |= DepthTextureMode.Depth; - - // Create command buffers - beforeCommandBuffer = new CommandBuffer(); - beforeCommandBuffer.name = "DepthTextureFix_Before"; - - afterCommandBuffer = new CommandBuffer(); - afterCommandBuffer.name = "DepthTextureFix_After"; - - // Add command buffers at the right events - cam.AddCommandBuffer(CameraEvent.BeforeDepthTexture, beforeCommandBuffer); - cam.AddCommandBuffer(CameraEvent.AfterDepthTexture, afterCommandBuffer); - } - - void OnPreRender() - { - // Set up command buffers each frame to handle dynamic changes - SetupCommandBuffers(); - } - - void SetupCommandBuffers() - { - // Get current camera viewport in pixels - Rect pixelRect = cam.pixelRect; - - // Before depth texture: override viewport to full screen - beforeCommandBuffer.Clear(); - beforeCommandBuffer.SetViewport(new Rect(0, 0, Screen.width, Screen.height)); - - // After depth texture: restore original viewport - afterCommandBuffer.Clear(); - afterCommandBuffer.SetViewport(pixelRect); - } - - void OnDestroy() - { - // Clean up - if (cam != null) - { - if (beforeCommandBuffer != null) - { - cam.RemoveCommandBuffer(CameraEvent.BeforeDepthTexture, beforeCommandBuffer); - beforeCommandBuffer.Dispose(); - } - - if (afterCommandBuffer != null) - { - cam.RemoveCommandBuffer(CameraEvent.AfterDepthTexture, afterCommandBuffer); - afterCommandBuffer.Dispose(); - } - } - } - - void OnDisable() - { - if (cam != null) - { - if (beforeCommandBuffer != null) - cam.RemoveCommandBuffer(CameraEvent.BeforeDepthTexture, beforeCommandBuffer); - if (afterCommandBuffer != null) - cam.RemoveCommandBuffer(CameraEvent.AfterDepthTexture, afterCommandBuffer); - } - } - - void OnEnable() - { - if (cam != null && beforeCommandBuffer != null && afterCommandBuffer != null) - { - cam.AddCommandBuffer(CameraEvent.BeforeDepthTexture, beforeCommandBuffer); - cam.AddCommandBuffer(CameraEvent.AfterDepthTexture, afterCommandBuffer); - } - } -} \ No newline at end of file diff --git a/ThirdPerson/CameraLogic.cs b/ThirdPerson/CameraLogic.cs index a0ef565..f1b83ef 100644 --- a/ThirdPerson/CameraLogic.cs +++ b/ThirdPerson/CameraLogic.cs @@ -13,6 +13,7 @@ internal static class CameraLogic private static float _dist; private static float _scale = 1f; private static Camera _thirdPersonCam; + private static Camera _uiCam; private static Camera _desktopCam; private static int _storedCamMask; private static CameraFovClone _cameraFovClone; @@ -50,10 +51,11 @@ internal static class CameraLogic _cameraFovClone = _thirdPersonCam.gameObject.AddComponent(); - _desktopCam = PlayerSetup.Instance.desktopCam; + _desktopCam = PlayerSetup.Instance.desktopCamera.GetComponent(); _cameraFovClone.targetCamera = _desktopCam; _thirdPersonCam.transform.SetParent(_desktopCam.transform); + _uiCam = _desktopCam.transform.Find("_UICamera").GetComponent(); RelocateCam(CameraLocation.Default); @@ -64,15 +66,15 @@ internal static class CameraLogic internal static void CopyPlayerCamValues() { - Camera activePlayerCam = PlayerSetup.Instance.activeCam; - if (!_thirdPersonCam || !activePlayerCam) + Camera activePlayerCam = PlayerSetup.Instance.GetActiveCamera().GetComponent(); + if (_thirdPersonCam == null || activePlayerCam == null) return; ThirdPerson.Logger.Msg("Copying active camera settings & components."); - CVRTools.CopyToDestCam(activePlayerCam, _thirdPersonCam); + CVRTools.CopyToDestCam(activePlayerCam, _thirdPersonCam, true); // Remove PlayerClone - // _thirdPersonCam.cullingMask &= ~(1 << CVRLayers.PlayerClone); + _thirdPersonCam.cullingMask &= ~(1 << CVRLayers.PlayerClone); if (!CheckIsRestricted()) return; @@ -114,9 +116,9 @@ internal static class CameraLogic private static void ResetDist() => _dist = 0; internal static void ScrollDist(float sign) { _dist += sign * 0.25f; RelocateCam(CurrentLocation); } - internal static void AdjustScale(float avatarScaleRelation) { _scale = avatarScaleRelation; RelocateCam(CurrentLocation); } + internal static void AdjustScale(float height) { _scale = height; RelocateCam(CurrentLocation); } internal static void CheckVRMode() { if (MetaPort.Instance.isUsingVr) State = false; } private static bool CheckIsRestricted() - => CVRWorld.Instance && !CVRWorld.Instance.enableZoom; + => CVRWorld.Instance != null && !CVRWorld.Instance.enableZoom; } \ No newline at end of file diff --git a/ThirdPerson/Patches.cs b/ThirdPerson/Patches.cs index 02a60db..131b45b 100644 --- a/ThirdPerson/Patches.cs +++ b/ThirdPerson/Patches.cs @@ -32,6 +32,6 @@ internal static class Patches //Copy camera settings & postprocessing components private static void OnPostWorldStart() => CopyPlayerCamValues(); //Adjust camera distance with height as modifier - private static void OnScaleAdjusted(ref float ____avatarScaleRelation) => AdjustScale(____avatarScaleRelation); + private static void OnScaleAdjusted(float height) => AdjustScale(height); private static void OnConfigureHudAffinity() => CheckVRMode(); } \ No newline at end of file diff --git a/ThirdPerson/Properties/AssemblyInfo.cs b/ThirdPerson/Properties/AssemblyInfo.cs index e6254b3..c2c7701 100644 --- a/ThirdPerson/Properties/AssemblyInfo.cs +++ b/ThirdPerson/Properties/AssemblyInfo.cs @@ -27,6 +27,6 @@ using System.Reflection; namespace NAK.ThirdPerson.Properties; internal static class AssemblyInfoParams { - public const string Version = "1.1.2"; + public const string Version = "1.1.1"; public const string Author = "Davi & NotAKidoS"; } \ No newline at end of file diff --git a/ThirdPerson/format.json b/ThirdPerson/format.json index 52d5bc8..4cdca3e 100644 --- a/ThirdPerson/format.json +++ b/ThirdPerson/format.json @@ -2,7 +2,7 @@ { "_id": 16, "name": "ThirdPerson", - "modversion": "1.1.2", + "modversion": "1.1.1", "gameversion": "2025r179", "loaderversion": "0.6.1", "modtype": "Mod", @@ -16,7 +16,7 @@ "requirements": [], "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r46/ThirdPerson.dll", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/ThirdPerson", - "changelog": "- Adjusted the local player scaled event patch to work both on Stable and Nightly (r179 & r180)", + "changelog": "- Recompiled for 2025r179", "embedcolor": "#F61961" } ] \ No newline at end of file