diff --git a/NAK_CVR_Mods.sln b/NAK_CVR_Mods.sln index 64ab154..55d8b13 100644 --- a/NAK_CVR_Mods.sln +++ b/NAK_CVR_Mods.sln @@ -77,7 +77,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WhereAmIPointing", "WhereAm EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvatarScaleMod", "AvatarScaleMod\AvatarScaleMod.csproj", "{A38E687F-8B6B-499E-ABC9-BD95C53DD391}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmoothRay", "SmoothRay\SmoothRay.csproj", "{99F9D60D-9A2D-4DBE-AA52-13D8A0838696}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmootherRay", "SmootherRay\SmootherRay.csproj", "{99F9D60D-9A2D-4DBE-AA52-13D8A0838696}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LuaNetworkVariables", "LuaNetworkVariables\LuaNetworkVariables.csproj", "{A3D97D1A-3099-49C5-85AD-D8C79CC5FDE3}" EndProject diff --git a/SmoothRay/SmoothRay.csproj b/SmoothRay/SmoothRay.csproj deleted file mode 100644 index 66a50a8..0000000 --- a/SmoothRay/SmoothRay.csproj +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/SmoothRay/format.json b/SmoothRay/format.json deleted file mode 100644 index 096f71c..0000000 --- a/SmoothRay/format.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "_id": 162, - "name": "SmoothRay", - "modversion": "1.0.5", - "gameversion": "2024r176", - "loaderversion": "0.6.1", - "modtype": "Mod", - "author": "NotAKidoS", - "description": "Smoothes your controller while using the Quick and Main menus to make it easier to navigate.\nThis is a CVR adaptation of a Beat Saber mod: [BeatSaber_SmoothedController](https://github.com/kinsi55/BeatSaber_SmoothedController)\n\n**Only supports OpenVR, not OpenXR.\n\n **NOTE:** This disables the built-in Smooth Ray setting when the mod is enabled. Compare both & you'll see why.", - "searchtags": [ - "vr", - "ray", - "controller", - "smoothing" - ], - "requirements": [ - "None" - ], - "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r40/SmoothRay.dll", - "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/SmoothRay/", - "changelog": "- Fixed for 2024r176.", - "embedcolor": "#f61963" -} \ No newline at end of file diff --git a/SmoothRay/Main.cs b/SmootherRay/Main.cs similarity index 89% rename from SmoothRay/Main.cs rename to SmootherRay/Main.cs index 14f8589..b1b1056 100644 --- a/SmoothRay/Main.cs +++ b/SmootherRay/Main.cs @@ -4,20 +4,20 @@ using ABI_RC.Core.Player; using HarmonyLib; using MelonLoader; -namespace NAK.SmoothRay; +namespace NAK.SmootherRay; // ChilloutVR adaptation of: // https://github.com/kinsi55/BeatSaber_SmoothedController // https://github.com/kinsi55/BeatSaber_SmoothedController/blob/master/LICENSE -public class SmoothRayMod : MelonMod +public class SmootherRayMod : MelonMod { internal static MelonLogger.Instance Logger; #region Melon Preferences public static readonly MelonPreferences_Category Category = - MelonPreferences.CreateCategory(nameof(SmoothRayMod)); + MelonPreferences.CreateCategory(nameof(SmootherRayMod)); public static readonly MelonPreferences_Entry EntryEnabled = Category.CreateEntry("Enable Smoothing", true, @@ -73,18 +73,18 @@ public class SmoothRayMod : MelonMod [HarmonyPatch(typeof(PlayerSetup), nameof(PlayerSetup.Start))] private static void Postfix_PlayerSetup_Start(ref PlayerSetup __instance) { - __instance.vrLeftHandTracker.gameObject.AddComponent().ray = __instance.vrRayLeft; - __instance.vrRightHandTracker.gameObject.AddComponent().ray = __instance.vrRayRight; + __instance.vrLeftHandTracker.gameObject.AddComponent().ray = __instance.vrRayLeft; + __instance.vrRightHandTracker.gameObject.AddComponent().ray = __instance.vrRayRight; } } internal static class ControllerRay_Patches { - // SmoothRay + // SmootherRay [HarmonyPrefix] [HarmonyPatch(typeof(ControllerRay), nameof(ControllerRay.SmoothRay))] private static bool Prefix_ControllerRay_SmoothRay(ref ControllerRay __instance) - => !EntryEnabled.Value; // SmoothRay method enforces identity local pos when disabled, so we skip it + => !EntryEnabled.Value; // SmootherRay method enforces identity local pos when disabled, so we skip it } #endregion Harmony Patches diff --git a/SmoothRay/Properties/AssemblyInfo.cs b/SmootherRay/Properties/AssemblyInfo.cs similarity index 77% rename from SmoothRay/Properties/AssemblyInfo.cs rename to SmootherRay/Properties/AssemblyInfo.cs index e5fddc2..57dbe09 100644 --- a/SmoothRay/Properties/AssemblyInfo.cs +++ b/SmootherRay/Properties/AssemblyInfo.cs @@ -1,20 +1,20 @@ using MelonLoader; -using NAK.SmoothRay.Properties; +using NAK.SmootherRay.Properties; using System.Reflection; [assembly: AssemblyVersion(AssemblyInfoParams.Version)] [assembly: AssemblyFileVersion(AssemblyInfoParams.Version)] [assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)] -[assembly: AssemblyTitle(nameof(NAK.SmoothRay))] +[assembly: AssemblyTitle(nameof(NAK.SmootherRay))] [assembly: AssemblyCompany(AssemblyInfoParams.Author)] -[assembly: AssemblyProduct(nameof(NAK.SmoothRay))] +[assembly: AssemblyProduct(nameof(NAK.SmootherRay))] [assembly: MelonInfo( - typeof(NAK.SmoothRay.SmoothRayMod), - nameof(NAK.SmoothRay), + typeof(NAK.SmootherRay.SmootherRayMod), + nameof(NAK.SmootherRay), AssemblyInfoParams.Version, AssemblyInfoParams.Author, - downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/SmoothRay" + downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/SmootherRay" )] [assembly: MelonGame("Alpha Blend Interactive", "ChilloutVR")] @@ -24,7 +24,7 @@ using System.Reflection; [assembly: MelonAuthorColor(255, 158, 21, 32)] // red [assembly: HarmonyDontPatchAll] -namespace NAK.SmoothRay.Properties; +namespace NAK.SmootherRay.Properties; internal static class AssemblyInfoParams { diff --git a/SmoothRay/README.md b/SmootherRay/README.md similarity index 100% rename from SmoothRay/README.md rename to SmootherRay/README.md diff --git a/SmootherRay/SmootherRay.csproj b/SmootherRay/SmootherRay.csproj new file mode 100644 index 0000000..d2a45fb --- /dev/null +++ b/SmootherRay/SmootherRay.csproj @@ -0,0 +1,6 @@ + + + + SmoothRay + + diff --git a/SmoothRay/SmoothRayer.cs b/SmootherRay/SmootherRayer.cs similarity index 87% rename from SmoothRay/SmoothRayer.cs rename to SmootherRay/SmootherRayer.cs index 92d2873..44ef320 100644 --- a/SmoothRay/SmoothRayer.cs +++ b/SmootherRay/SmootherRayer.cs @@ -30,9 +30,9 @@ using MelonLoader; using UnityEngine; using Valve.VR; -namespace NAK.SmoothRay; +namespace NAK.SmootherRay; -public class SmoothRayer : MonoBehaviour +public class SmootherRayer : MonoBehaviour { #region Variables @@ -72,7 +72,7 @@ public class SmoothRayer : MonoBehaviour UpdatePosesAction(true); } - foreach (MelonPreferences_Entry setting in SmoothRayMod.Category.Entries) + foreach (MelonPreferences_Entry setting in SmootherRayMod.Category.Entries) setting.OnEntryValueChangedUntyped.Subscribe(OnUpdateSettings); MetaPort.Instance.settings.settingBoolChanged.AddListener(OnSettingsBoolChanged); @@ -131,13 +131,13 @@ public class SmoothRayer : MonoBehaviour private void OnUpdateSettings(object arg1, object arg2) { - _isEnabled = SmoothRayMod.EntryEnabled.Value; - _menuOnly = SmoothRayMod.EntryMenuOnly.Value; - _smallMovementThresholdAngle = SmoothRayMod.EntrySmallMovementThresholdAngle.Value; + _isEnabled = SmootherRayMod.EntryEnabled.Value; + _menuOnly = SmootherRayMod.EntryMenuOnly.Value; + _smallMovementThresholdAngle = SmootherRayMod.EntrySmallMovementThresholdAngle.Value; // dont let value hit 0, itll freeze controllers - _positionSmoothingValue = Mathf.Max(20f - Mathf.Clamp(SmoothRayMod.EntryPositionSmoothing.Value, 0f, 20f), 0.1f); - _rotationSmoothingValue = Mathf.Max(20f - Mathf.Clamp(SmoothRayMod.EntryRotationSmoothing.Value, 0f, 20f), 0.1f); + _positionSmoothingValue = Mathf.Max(20f - Mathf.Clamp(SmootherRayMod.EntryPositionSmoothing.Value, 0f, 20f), 0.1f); + _rotationSmoothingValue = Mathf.Max(20f - Mathf.Clamp(SmootherRayMod.EntryRotationSmoothing.Value, 0f, 20f), 0.1f); if (!_isEnabled) return; // only care about setting being enabled @@ -147,7 +147,7 @@ public class SmoothRayer : MonoBehaviour if (MetaPort.Instance.settings.GetSettingsBool("ControlSmoothRaycast")) return; // disable saved setting once - SmoothRayMod.Logger.Msg("Built-in SmoothRay setting found to be enabled. Disabling built-in SmoothRay implementation in favor of modded implementation."); + SmootherRayMod.Logger.Msg("Built-in SmootherRay setting found to be enabled. Disabling built-in SmootherRay implementation in favor of modded implementation."); MetaPort.Instance.settings.SetSettingsBool("ControlSmoothRaycast", false); ViewManager.SetGameSettingBool("ControlSmoothRaycast", false); // ^ did you know the game doesn't even use this method native... @@ -161,11 +161,11 @@ public class SmoothRayer : MonoBehaviour if (!value) return; // only care about setting being enabled - _isEnabled = false; // ensure modded SmoothRay is disabled + _isEnabled = false; // ensure modded SmootherRay is disabled - if (!SmoothRayMod.EntryEnabled.Value) return; // disable saved setting once - SmoothRayMod.Logger.Msg("Modded SmoothRay found to be enabled. Disabling modded SmoothRay implementation in favor of built-in implementation."); - SmoothRayMod.EntryEnabled.Value = false; + if (!SmootherRayMod.EntryEnabled.Value) return; // disable saved setting once + SmootherRayMod.Logger.Msg("Modded SmootherRay found to be enabled. Disabling modded SmootherRay implementation in favor of built-in implementation."); + SmootherRayMod.EntryEnabled.Value = false; } private void OnAppliedPoses() diff --git a/SmootherRay/format.json b/SmootherRay/format.json new file mode 100644 index 0000000..e5f51fd --- /dev/null +++ b/SmootherRay/format.json @@ -0,0 +1,23 @@ +{ + "_id": 162, + "name": "SmootherRay", + "modversion": "1.0.5", + "gameversion": "2024r176", + "loaderversion": "0.6.1", + "modtype": "Mod", + "author": "NotAKidoS", + "description": "Smoothes your controller while the raycast lines are visible.\nThis is a CVR adaptation of a Beat Saber mod: [BeatSaber_SmoothedController](https://github.com/kinsi55/BeatSaber_SmoothedController)\n\n- An option is provided to only smooth when aiming at menus.\n- Smoothing characteristics are completely configurable, but the defaults are basically perfect.\n- Pairs well with the [WhereAmIPointing](https://discord.com/channels/1001388809184870441/1002058238545641542/1282798820073406556) mod.\n\n**Only supports OpenVR, not OpenXR.**\n\n-# NOTE: This disables the shitty built-in Smooth Ray setting when the mod is enabled. Compare both & you'll see why.", + "searchtags": [ + "vr", + "ray", + "controller", + "smoothing" + ], + "requirements": [ + "None" + ], + "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r40/SmootherRay.dll", + "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/SmootherRay/", + "changelog": "- Fixed for 2024r176.", + "embedcolor": "#f61963" +} \ No newline at end of file