diff --git a/Dependencies/CompatibilityLayers/IPA/Module.cs b/Dependencies/CompatibilityLayers/IPA/Module.cs index 4c2db831..018263c9 100644 --- a/Dependencies/CompatibilityLayers/IPA/Module.cs +++ b/Dependencies/CompatibilityLayers/IPA/Module.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using MelonLoader.InternalUtils; using IllusionPlugin; using IllusionInjector; using MelonLoader.Modules; +using MelonLoader.Resolver; namespace MelonLoader.CompatibilityLayers { diff --git a/Dependencies/CompatibilityLayers/Muse_Dash_Mono/Module.cs b/Dependencies/CompatibilityLayers/Muse_Dash_Mono/Module.cs index 27a3813c..0551542a 100644 --- a/Dependencies/CompatibilityLayers/Muse_Dash_Mono/Module.cs +++ b/Dependencies/CompatibilityLayers/Muse_Dash_Mono/Module.cs @@ -3,8 +3,8 @@ using System.Linq; using System.Reflection; using MelonLoader.Modules; -using MelonLoader.InternalUtils; using ModHelper; +using MelonLoader.Resolver; namespace MelonLoader.CompatibilityLayers { diff --git a/MelonLoader/BackwardsCompatibility/Melon/AssemblyResolveInfo.cs b/MelonLoader/BackwardsCompatibility/Melon/AssemblyResolveInfo.cs index b88d4472..f4ab132f 100644 --- a/MelonLoader/BackwardsCompatibility/Melon/AssemblyResolveInfo.cs +++ b/MelonLoader/BackwardsCompatibility/Melon/AssemblyResolveInfo.cs @@ -2,6 +2,6 @@ namespace MelonLoader.MonoInternals { - [Obsolete("MelonLoader.MonoInternals.AssemblyResolveInfo is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.AssemblyResolveInfo instead.")] - public class AssemblyResolveInfo : InternalUtils.AssemblyResolveInfo { } + [Obsolete("MelonLoader.MonoInternals.AssemblyResolveInfo is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.AssemblyResolveInfo instead.")] + public class AssemblyResolveInfo : Resolver.AssemblyResolveInfo { } } diff --git a/MelonLoader/BackwardsCompatibility/Melon/MonoLibrary.cs b/MelonLoader/BackwardsCompatibility/Melon/MonoLibrary.cs index c1791526..e6cc2719 100644 --- a/MelonLoader/BackwardsCompatibility/Melon/MonoLibrary.cs +++ b/MelonLoader/BackwardsCompatibility/Melon/MonoLibrary.cs @@ -4,8 +4,8 @@ namespace MelonLoader.MonoInternals { - [Obsolete("MelonLoader.MonoInternals.MonoLibrary is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MonoLibrary instead.")] - public class MonoLibrary : InternalUtils.MonoLibrary { } + [Obsolete("MelonLoader.MonoInternals.MonoLibrary is Only Here for Compatibility Reasons. Please use MelonLoader.Utils.MonoLibrary instead.")] + public class MonoLibrary : Utils.MonoLibrary { } } #endif \ No newline at end of file diff --git a/MelonLoader/BackwardsCompatibility/Melon/MonoResolveManager.cs b/MelonLoader/BackwardsCompatibility/Melon/MonoResolveManager.cs index c1f4fe7e..03c0ba13 100644 --- a/MelonLoader/BackwardsCompatibility/Melon/MonoResolveManager.cs +++ b/MelonLoader/BackwardsCompatibility/Melon/MonoResolveManager.cs @@ -3,37 +3,37 @@ namespace MelonLoader.MonoInternals { - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver instead.")] public static class MonoResolveManager { - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.AddSearchDirectory is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.AddSearchDirectory instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.AddSearchDirectory is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.AddSearchDirectory instead.")] public static void AddSearchDirectory(string path, int priority = 0) - => InternalUtils.Resolver.SearchDirectoryManager.Add(path, priority); + => Resolver.SearchDirectoryManager.Add(path, priority); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.RemoveSearchDirectory is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.RemoveSearchDirectory instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.RemoveSearchDirectory is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.RemoveSearchDirectory instead.")] public static void RemoveSearchDirectory(string path) - => InternalUtils.Resolver.SearchDirectoryManager.Remove(path); + => Resolver.SearchDirectoryManager.Remove(path); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoadHandler is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.dOnAssemblyLoad instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoadHandler is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.dOnAssemblyLoad instead.")] public delegate void OnAssemblyLoadHandler(Assembly assembly); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoad is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.OnAssemblyLoad instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoad is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.OnAssemblyLoad instead.")] public static event OnAssemblyLoadHandler OnAssemblyLoad; internal static void SafeInvoke_OnAssemblyLoad(Assembly assembly) => OnAssemblyLoad?.Invoke(assembly); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyResolveHandler is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.dOnAssemblyResolve instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyResolveHandler is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.dOnAssemblyResolve instead.")] public delegate Assembly OnAssemblyResolveHandler(string name, Version version); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoad is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.OnAssemblyLoad instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.OnAssemblyLoad is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.OnAssemblyLoad instead.")] public static event OnAssemblyResolveHandler OnAssemblyResolve; internal static Assembly SafeInvoke_OnAssemblyResolve(string name, Version version) => OnAssemblyResolve?.Invoke(name, version); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.GetAssemblyResolveInfo is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.GetAssemblyResolveInfo instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.GetAssemblyResolveInfo is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.GetAssemblyResolveInfo instead.")] public static AssemblyResolveInfo GetAssemblyResolveInfo(string name) - => (AssemblyResolveInfo)InternalUtils.Resolver.AssemblyManager.GetInfo(name); + => (AssemblyResolveInfo)Resolver.AssemblyManager.GetInfo(name); - [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.LoadInfoFromAssembly is Only Here for Compatibility Reasons. Please use MelonLoader.InternalUtils.MelonAssemblyResolver.LoadInfoFromAssembly instead.")] + [Obsolete("MelonLoader.MonoInternals.MonoResolveManager.LoadInfoFromAssembly is Only Here for Compatibility Reasons. Please use MelonLoader.Resolver.MelonAssemblyResolver.LoadInfoFromAssembly instead.")] public static void LoadInfoFromAssembly(Assembly assembly) - => InternalUtils.Resolver.AssemblyManager.LoadInfo(assembly); + => Resolver.AssemblyManager.LoadInfo(assembly); } } diff --git a/MelonLoader/Core.cs b/MelonLoader/Core.cs index 29b81da5..5f5819b1 100644 --- a/MelonLoader/Core.cs +++ b/MelonLoader/Core.cs @@ -1,19 +1,17 @@ using System; using System.Diagnostics; using System.Reflection; -using System.Security; -using MelonLoader.InternalUtils; -using MelonLoader.MonoInternals; -using MelonLoader.Utils; using System.IO; using bHapticsLib; using System.Threading; -using System.Linq; +using MelonLoader.Resolver; +using MelonLoader.Utils; +using MelonLoader.InternalUtils; #pragma warning disable IDE0051 // Prevent the IDE from complaining about private unreferenced methods namespace MelonLoader { - internal static class Core + internal static class Core { private static bool _success = true; @@ -65,7 +63,7 @@ internal static int Initialize() try { - if (!InternalUtils.MonoLibrary.Setup()) + if (!MonoLibrary.Setup()) { _success = false; return 1; diff --git a/MelonLoader/InternalUtils/DependencyGraph.cs b/MelonLoader/InternalUtils/DependencyGraph.cs index 97002a00..546fbdba 100644 --- a/MelonLoader/InternalUtils/DependencyGraph.cs +++ b/MelonLoader/InternalUtils/DependencyGraph.cs @@ -3,7 +3,7 @@ using System.Text; using System.Reflection; using System.IO; -using MelonLoader.InternalUtils.Resolver; +using MelonLoader.Resolver; #if NET6_0_OR_GREATER using System.Runtime.Loader; diff --git a/MelonLoader/Melons/MelonFolderHandler.cs b/MelonLoader/Melons/MelonFolderHandler.cs index 3bcd3398..c8166934 100644 --- a/MelonLoader/Melons/MelonFolderHandler.cs +++ b/MelonLoader/Melons/MelonFolderHandler.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Drawing; using System.IO; @@ -98,7 +98,7 @@ private static void ProcessFolder(string path, return; // Add Base Path to Resolver - InternalUtils.MelonAssemblyResolver.AddSearchDirectory(path); + Resolver.MelonAssemblyResolver.AddSearchDirectory(path); // Get Directories var directories = Directory.GetDirectories(path, "*", SearchOption.AllDirectories); @@ -121,7 +121,7 @@ private static void ProcessFolder(string path, // Load Assemblies if (dirNameLower.EndsWith("userlibs")) MelonUtils.AddNativeDLLDirectory(dir); - InternalUtils.MelonAssemblyResolver.AddSearchDirectory(dir); + Resolver.MelonAssemblyResolver.AddSearchDirectory(dir); } // Load UserLibs diff --git a/MelonLoader/InternalUtils/Resolver/AssemblyManager.cs b/MelonLoader/Resolver/AssemblyManager.cs similarity index 93% rename from MelonLoader/InternalUtils/Resolver/AssemblyManager.cs rename to MelonLoader/Resolver/AssemblyManager.cs index f78d9a90..97043db0 100644 --- a/MelonLoader/InternalUtils/Resolver/AssemblyManager.cs +++ b/MelonLoader/Resolver/AssemblyManager.cs @@ -3,7 +3,6 @@ using System.Reflection; #if NET6_0_OR_GREATER -using System.IO; using System.Runtime.Loader; #else using System.Runtime.CompilerServices; @@ -11,7 +10,7 @@ #pragma warning disable CS8632 -namespace MelonLoader.InternalUtils.Resolver +namespace MelonLoader.Resolver { internal class AssemblyManager { @@ -50,7 +49,7 @@ private static Assembly Resolve(string requested_name, Version requested_version assembly = MelonAssemblyResolver.SafeInvoke_OnAssemblyResolve(requested_name, requested_version); // Search Directories - if (is_preload && (assembly == null)) + if (is_preload && assembly == null) assembly = SearchDirectoryManager.Scan(requested_name); // Load if Valid Assembly @@ -78,7 +77,7 @@ internal static void LoadInfo(Assembly assembly) #if NET6_0_OR_GREATER - private static Assembly? Resolve(AssemblyLoadContext alc, AssemblyName name) + private static Assembly Resolve(AssemblyLoadContext alc, AssemblyName name) => Resolve(name.Name, name.Version, true); private static void InstallHooks() diff --git a/MelonLoader/InternalUtils/AssemblyResolveInfo.cs b/MelonLoader/Resolver/AssemblyResolveInfo.cs similarity index 97% rename from MelonLoader/InternalUtils/AssemblyResolveInfo.cs rename to MelonLoader/Resolver/AssemblyResolveInfo.cs index fa97cc4a..eb975cfb 100644 --- a/MelonLoader/InternalUtils/AssemblyResolveInfo.cs +++ b/MelonLoader/Resolver/AssemblyResolveInfo.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Reflection; -namespace MelonLoader.InternalUtils +namespace MelonLoader.Resolver { public class AssemblyResolveInfo { diff --git a/MelonLoader/InternalUtils/MelonAssemblyResolver.cs b/MelonLoader/Resolver/MelonAssemblyResolver.cs similarity index 98% rename from MelonLoader/InternalUtils/MelonAssemblyResolver.cs rename to MelonLoader/Resolver/MelonAssemblyResolver.cs index ed99b571..d4062503 100644 --- a/MelonLoader/InternalUtils/MelonAssemblyResolver.cs +++ b/MelonLoader/Resolver/MelonAssemblyResolver.cs @@ -1,7 +1,6 @@ using System; using System.IO; using System.Reflection; -using MelonLoader.InternalUtils.Resolver; using MelonLoader.Utils; #if NET6_0_OR_GREATER @@ -10,7 +9,7 @@ #pragma warning disable CS0618 // Type or member is obsolete -namespace MelonLoader.InternalUtils +namespace MelonLoader.Resolver { public class MelonAssemblyResolver { diff --git a/MelonLoader/InternalUtils/Resolver/SearchDirectoryManager.cs b/MelonLoader/Resolver/SearchDirectoryManager.cs similarity index 93% rename from MelonLoader/InternalUtils/Resolver/SearchDirectoryManager.cs rename to MelonLoader/Resolver/SearchDirectoryManager.cs index 188eb337..f7fc99f8 100644 --- a/MelonLoader/InternalUtils/Resolver/SearchDirectoryManager.cs +++ b/MelonLoader/Resolver/SearchDirectoryManager.cs @@ -4,17 +4,14 @@ using System.Reflection; #if NET6_0_OR_GREATER - using System.Runtime.Loader; - #else - using System; using System.Runtime.InteropServices; - +using MelonLoader.Utils; #endif -namespace MelonLoader.InternalUtils.Resolver +namespace MelonLoader.Resolver { internal static class SearchDirectoryManager { @@ -75,10 +72,10 @@ internal static Assembly Scan(string requested_name) string filepath = Directory.GetFiles(folderpath).Where(x => !string.IsNullOrEmpty(x) - && ((Path.GetExtension(x).ToLowerInvariant().Equals(".dll") - && Path.GetFileName(x).Equals($"{requested_name}.dll")) - || (Path.GetExtension(x).ToLowerInvariant().Equals(".exe") - && Path.GetFileName(x).Equals($"{requested_name}.exe"))) + && (Path.GetExtension(x).ToLowerInvariant().Equals(".dll") + && Path.GetFileName(x).Equals($"{requested_name}.dll") + || Path.GetExtension(x).ToLowerInvariant().Equals(".exe") + && Path.GetFileName(x).Equals($"{requested_name}.exe")) ).FirstOrDefault(); if (string.IsNullOrEmpty(filepath)) diff --git a/MelonLoader/InternalUtils/MonoLibrary.cs b/MelonLoader/Utils/MonoLibrary.cs similarity index 98% rename from MelonLoader/InternalUtils/MonoLibrary.cs rename to MelonLoader/Utils/MonoLibrary.cs index 59d83e26..a6f4ba7c 100644 --- a/MelonLoader/InternalUtils/MonoLibrary.cs +++ b/MelonLoader/Utils/MonoLibrary.cs @@ -5,7 +5,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -namespace MelonLoader.InternalUtils +namespace MelonLoader.Utils { public class MonoLibrary {