diff --git a/src/RealPOV.Core.Koikatu/RealPOV.cs b/src/RealPOV.Core.Koikatu/RealPOV.cs index 9de995d..bb882ac 100644 --- a/src/RealPOV.Core.Koikatu/RealPOV.cs +++ b/src/RealPOV.Core.Koikatu/RealPOV.cs @@ -18,7 +18,7 @@ namespace RealPOV.Koikatu [BepInDependency(KKAPI.KoikatuAPI.GUID)] public class RealPOV : RealPOVCore { - public const string Version = "1.3.1." + BuildNumber.Version; + public const string Version = "1.3.2." + BuildNumber.Version; private ConfigEntry HideHead { get; set; } @@ -107,7 +107,7 @@ Queue CreateQueue() { return new Queue(FindObjectsOfType()); } - + ChaControl GetCurrentChara() { for(int i = 0; i < charaQueue.Count; i++) @@ -149,7 +149,7 @@ ChaControl GetCurrentChara() GameCamera = Camera.main; var cc = (MonoBehaviour)GameCamera.GetComponent() ?? GameCamera.GetComponent(); if(cc) cc.enabled = false; - + // Fix depth of field being completely out of focus var depthOfField = GameCamera.GetComponent(); dofOrigSize = depthOfField.focalSize; @@ -190,16 +190,20 @@ protected override void DisablePov() currentChara = null; currentCharaId = -1; - var cc = (MonoBehaviour)GameCamera.GetComponent() ?? GameCamera.GetComponent(); - if(cc) cc.enabled = true; + if(GameCamera != null) + { + var cc = (MonoBehaviour)GameCamera.GetComponent() ?? GameCamera.GetComponent(); + if(cc) cc.enabled = true; - var depthOfField = GameCamera.GetComponent(); - depthOfField.focalSize = dofOrigSize; - depthOfField.aperture = dofOrigAperature; + var depthOfField = GameCamera.GetComponent(); + depthOfField.focalSize = dofOrigSize; + depthOfField.aperture = dofOrigAperature; + } base.DisablePov(); - GameCamera.gameObject.layer = backupLayer; + if(GameCamera != null) + GameCamera.gameObject.layer = backupLayer; } [HarmonyPrefix, HarmonyPatch(typeof(NeckLookControllerVer2), nameof(NeckLookControllerVer2.LateUpdate))] diff --git a/src/RealPOV.Core/RealPOVCore.cs b/src/RealPOV.Core/RealPOVCore.cs index e69a576..7608619 100644 --- a/src/RealPOV.Core/RealPOVCore.cs +++ b/src/RealPOV.Core/RealPOVCore.cs @@ -132,10 +132,15 @@ protected virtual void DisablePov() { currentCharaGo = null; POVEnabled = false; - GameCamera.fieldOfView = backupFOV; - GameCamera.nearClipPlane = backupNearClip; - if(GameCursor.IsInstance()) - GameCursor.Instance.SetCursorLock(false); + + if(GameCamera != null) + { + GameCamera.fieldOfView = backupFOV; + GameCamera.nearClipPlane = backupNearClip; + + if(GameCursor.IsInstance()) + GameCursor.Instance.SetCursorLock(false); + } } } }