From 1fcdd63a35d74b7f88d19ef57d43683e31e8b279 Mon Sep 17 00:00:00 2001 From: NotAKidoS <37721153+NotAKidOnSteam@users.noreply.github.com> Date: Tue, 11 Apr 2023 15:08:13 -0500 Subject: [PATCH] add F11 to fullscreen --- PortableCameraAdditions/HarmonyPatches.cs | 37 +++++++++++++++---- .../PortableCameraAdditions.csproj | 34 +++++++++-------- .../Properties/AssemblyInfo.cs | 2 +- ...ditionalSettings.cs => CameraAdditions.cs} | 22 +++++------ PortableCameraAdditions/format.json | 8 ++-- 5 files changed, 64 insertions(+), 39 deletions(-) rename PortableCameraAdditions/VisualMods/{AdditionalSettings.cs => CameraAdditions.cs} (92%) diff --git a/PortableCameraAdditions/HarmonyPatches.cs b/PortableCameraAdditions/HarmonyPatches.cs index a234fea..7df846f 100644 --- a/PortableCameraAdditions/HarmonyPatches.cs +++ b/PortableCameraAdditions/HarmonyPatches.cs @@ -1,33 +1,54 @@ using ABI_RC.Systems.Camera; using HarmonyLib; -using NAK.Melons.PortableCameraAdditions.VisualMods; using UnityEngine; namespace NAK.Melons.PortableCameraAdditions.HarmonyPatches; [HarmonyPatch] -internal class HarmonyPatches +internal class PortableCameraPatches { [HarmonyPostfix] - [HarmonyPatch(typeof(PortableCamera), "Start")] + [HarmonyPatch(typeof(PortableCamera), nameof(PortableCamera.Start))] private static void Postfix_PortableCamera_Start(ref PortableCamera __instance) { //run mod.Setup() instead of registering full mod with icon - AdditionalSettings mainMod = new AdditionalSettings(); + VisualMods.CameraAdditions mainMod = new VisualMods.CameraAdditions(); mainMod.Setup(__instance); } [HarmonyPostfix] - [HarmonyPatch(typeof(PortableCamera), "OnWorldLoaded")] + [HarmonyPatch(typeof(PortableCamera), nameof(PortableCamera.OnWorldLoaded))] private static void Postfix_PortableCamera_OnWorldLoaded(Camera worldCamera) { - AdditionalSettings.Instance?.OnWorldLoaded(worldCamera); + VisualMods.CameraAdditions.Instance?.OnWorldLoaded(worldCamera); } [HarmonyPostfix] - [HarmonyPatch(typeof(PortableCamera), "UpdateOptionsDisplay")] + [HarmonyPatch(typeof(PortableCamera), nameof(PortableCamera.UpdateOptionsDisplay))] private static void Postfix_PortableCamera_UpdateOptionsDisplay(ref bool ____showExpertSettings) { - AdditionalSettings.Instance?.OnUpdateOptionsDisplay(____showExpertSettings); + VisualMods.CameraAdditions.Instance?.OnUpdateOptionsDisplay(____showExpertSettings); + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(PortableCamera), nameof(PortableCamera.Update))] + private static void Postfix_PortableCamera_Update(ref PortableCamera __instance) + { + if (Input.GetKeyDown(KeyCode.F11)) + { + bool flag = __instance.mode == MirroringMode.NoMirror; + __instance.mode = (flag) ? MirroringMode.Mirror : MirroringMode.NoMirror; + __instance.mirroringActive.SetActive(flag); + __instance.mirroringCanvas.gameObject.SetActive(flag); + } + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(PortableCamera), nameof(PortableCamera.OnDisable))] + private static void Postfix_PortableCamera_OnDisable(ref PortableCamera __instance) + { + __instance.mode = MirroringMode.NoMirror; + __instance.mirroringActive.SetActive(false); + __instance.mirroringCanvas.gameObject.SetActive(false); } } \ No newline at end of file diff --git a/PortableCameraAdditions/PortableCameraAdditions.csproj b/PortableCameraAdditions/PortableCameraAdditions.csproj index 1468022..eb63fa4 100644 --- a/PortableCameraAdditions/PortableCameraAdditions.csproj +++ b/PortableCameraAdditions/PortableCameraAdditions.csproj @@ -6,6 +6,7 @@ enable latest false + True @@ -16,49 +17,52 @@ - C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\MelonLoader\0Harmony.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\0Harmony.dll - C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\Assembly-CSharp.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Assembly-CSharp-firstpass.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\Assembly-CSharp-firstpass.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\Mods\BTKUILib.dll + C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\Mods\BTKUILib.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Cohtml.Runtime.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\Cohtml.Runtime.dll - C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\MelonLoader\MelonLoader.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\MelonLoader.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Unity.Postprocessing.Runtime.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\Unity.Postprocessing.Runtime.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\Unity.TextMeshPro.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\Unity.TextMeshPro.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.AssetBundleModule.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.AssetBundleModule.dll - C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.CoreModule.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.CoreModule.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.ImageConversionModule.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.ImageConversionModule.dll - C:\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.InputLegacyModule.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.InputLegacyModule.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.PhysicsModule.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.PhysicsModule.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\ChilloutVR\ChilloutVR_Data\Managed\UnityEngine.UI.dll + C:\Users\krist\Documents\GitHub\_ChilloutVR Modding\_ManagedLibs\UnityEngine.UI.dll + + + ..\..\..\_ManagedLibs\UnityEngine.UIModule.dll diff --git a/PortableCameraAdditions/Properties/AssemblyInfo.cs b/PortableCameraAdditions/Properties/AssemblyInfo.cs index 0e4bce9..ad9a385 100644 --- a/PortableCameraAdditions/Properties/AssemblyInfo.cs +++ b/PortableCameraAdditions/Properties/AssemblyInfo.cs @@ -25,6 +25,6 @@ using System.Reflection; namespace NAK.Melons.PortableCameraAdditions.Properties; internal static class AssemblyInfoParams { - public const string Version = "1.0.1"; + public const string Version = "1.0.2"; public const string Author = "NotAKidoS"; } \ No newline at end of file diff --git a/PortableCameraAdditions/VisualMods/AdditionalSettings.cs b/PortableCameraAdditions/VisualMods/CameraAdditions.cs similarity index 92% rename from PortableCameraAdditions/VisualMods/AdditionalSettings.cs rename to PortableCameraAdditions/VisualMods/CameraAdditions.cs index cdfb38e..d038725 100644 --- a/PortableCameraAdditions/VisualMods/AdditionalSettings.cs +++ b/PortableCameraAdditions/VisualMods/CameraAdditions.cs @@ -3,9 +3,9 @@ using UnityEngine; namespace NAK.Melons.PortableCameraAdditions.VisualMods; -public class AdditionalSettings +public class CameraAdditions { - public static AdditionalSettings Instance; + public static CameraAdditions Instance; public Camera referenceCamera; public bool orthographicMode; @@ -25,7 +25,7 @@ public class AdditionalSettings { Instance = this; - __instance.@interface.AddAndGetHeader(null, typeof(AdditionalSettings), "Additional Settings"); + __instance.@interface.AddAndGetHeader(null, typeof(CameraAdditions), "Additional Settings"); //Basic Settings @@ -33,7 +33,7 @@ public class AdditionalSettings setting_CopyWorldNearClip.BoolChanged = new Action(value => UpdateCameraSettingBool("CopyNearClip", value)); setting_CopyWorldNearClip.SettingName = "CopyNearClip"; setting_CopyWorldNearClip.DisplayName = "Copy World Near Clip"; - setting_CopyWorldNearClip.OriginType = typeof(AdditionalSettings); + setting_CopyWorldNearClip.OriginType = typeof(CameraAdditions); setting_CopyWorldNearClip.DefaultValue = true; setting_CopyWorldNearClip.Load(); @@ -41,7 +41,7 @@ public class AdditionalSettings setting_CopyWorldFarClip.BoolChanged = new Action(value => UpdateCameraSettingBool("CopyFarClip", value)); setting_CopyWorldFarClip.SettingName = "CopyFarClip"; setting_CopyWorldFarClip.DisplayName = "Copy World Far Clip"; - setting_CopyWorldFarClip.OriginType = typeof(AdditionalSettings); + setting_CopyWorldFarClip.OriginType = typeof(CameraAdditions); setting_CopyWorldFarClip.DefaultValue = true; setting_CopyWorldFarClip.Load(); @@ -52,7 +52,7 @@ public class AdditionalSettings setting_Orthographic.SettingName = "Orthographic"; setting_Orthographic.DisplayName = "Orthographic"; setting_Orthographic.isExpertSetting = true; - setting_Orthographic.OriginType = typeof(AdditionalSettings); + setting_Orthographic.OriginType = typeof(CameraAdditions); setting_Orthographic.DefaultValue = false; setting_Orthographic.Load(); @@ -63,7 +63,7 @@ public class AdditionalSettings setting_NearClip.SettingName = "NearClip"; setting_NearClip.DisplayName = "Near Clip Plane"; setting_NearClip.isExpertSetting = true; - setting_NearClip.OriginType = typeof(AdditionalSettings); + setting_NearClip.OriginType = typeof(CameraAdditions); setting_NearClip.DefaultValue = 0.01f; setting_NearClip.MinValue = 0.001f; setting_NearClip.MaxValue = 5000f; @@ -74,7 +74,7 @@ public class AdditionalSettings setting_FarClip.SettingName = "FarClip"; setting_FarClip.DisplayName = "Far Clip Plane"; setting_FarClip.isExpertSetting = true; - setting_FarClip.OriginType = typeof(AdditionalSettings); + setting_FarClip.OriginType = typeof(CameraAdditions); setting_FarClip.DefaultValue = 1000f; setting_FarClip.MinValue = 0.002f; setting_FarClip.MaxValue = 5000f; @@ -87,7 +87,7 @@ public class AdditionalSettings setting_OrthographicSize.SettingName = "OrthographicSize"; setting_OrthographicSize.DisplayName = "Orthographic Size"; setting_OrthographicSize.isExpertSetting = true; - setting_OrthographicSize.OriginType = typeof(AdditionalSettings); + setting_OrthographicSize.OriginType = typeof(CameraAdditions); setting_OrthographicSize.DefaultValue = 5f; setting_OrthographicSize.MinValue = 0.01f; setting_OrthographicSize.MaxValue = 150f; @@ -98,7 +98,7 @@ public class AdditionalSettings setting_OrthographicNearClip.SettingName = "OrthographicNearClip"; setting_OrthographicNearClip.DisplayName = "Orthographic Near"; setting_OrthographicNearClip.isExpertSetting = true; - setting_OrthographicNearClip.OriginType = typeof(AdditionalSettings); + setting_OrthographicNearClip.OriginType = typeof(CameraAdditions); setting_OrthographicNearClip.DefaultValue = 0.001f; setting_OrthographicNearClip.MinValue = -5000f; setting_OrthographicNearClip.MaxValue = 5000f; @@ -109,7 +109,7 @@ public class AdditionalSettings setting_OrthographicFarClip.SettingName = "OrthographicFarClip"; setting_OrthographicFarClip.DisplayName = "Orthographic Far"; setting_OrthographicFarClip.isExpertSetting = true; - setting_OrthographicFarClip.OriginType = typeof(AdditionalSettings); + setting_OrthographicFarClip.OriginType = typeof(CameraAdditions); setting_OrthographicFarClip.DefaultValue = 1000f; setting_OrthographicFarClip.MinValue = -5000f; setting_OrthographicFarClip.MaxValue = 5000f; diff --git a/PortableCameraAdditions/format.json b/PortableCameraAdditions/format.json index 7a10181..f73d7df 100644 --- a/PortableCameraAdditions/format.json +++ b/PortableCameraAdditions/format.json @@ -1,12 +1,12 @@ { "_id": 123, "name": "PortableCameraAdditions", - "modversion": "1.0.1", + "modversion": "1.0.2", "gameversion": "2022r170", "loaderversion": "0.5.7", "modtype": "Mod", "author": "NotAKidoS", - "description": "Adds a few basic settings to the Portable Camera.\n\nExpert settings for Near Clip & Far Clip.\nExpert settings for Orthographic & Orthographic Size.\nBy default, Near Clip & Far Clip are copied on world load.", + "description": "Adds a few basic settings to the Portable Camera.\n\nExpert settings for Near Clip & Far Clip.\nExpert settings for Orthographic & Orthographic Size.\nBy default, Near Clip & Far Clip are copied on world load.\nF11 to fullscreen on Desktop.", "searchtags": [ "camera", "settings", @@ -18,8 +18,8 @@ "requirements": [ "None" ], - "downloadlink": "https://github.com/NotAKidOnSteam/PortableCameraAdditions/releases/download/v1.0.1/PortableCameraAdditions.dll", + "downloadlink": "https://github.com/NotAKidOnSteam/PortableCameraAdditions/releases/download/v1.0.2/PortableCameraAdditions.dll", "sourcelink": "https://github.com/NotAKidOnSteam/PortableCameraAdditions/", - "changelog": "Imagine not actually setting stuff on world load.", + "changelog": "Added F11 bind to fullscreen Portable Camera on Desktop.", "embedcolor": "9b59b6" } \ No newline at end of file