Skip to content

Commit

Permalink
Update MelonFolderHandler.cs
Browse files Browse the repository at this point in the history
  • Loading branch information
HerpDerpinstine committed Oct 14, 2024
1 parent dd25e48 commit 350884e
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions MelonLoader/Melons/MelonFolderHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ private static void LoadFolder<T>(string path,
}

// Load Assembly
var asm = MelonAssembly.LoadMelonAssembly(f, addToList);
var asm = MelonAssembly.LoadMelonAssembly(f, false);
if (asm == null)
continue;

Expand All @@ -97,12 +97,33 @@ private static void ProcessFolder<T>(string path,
if (!Directory.Exists(path))
return;

// Add Base Path to Resolver
InternalUtils.MelonAssemblyResolver.AddSearchDirectory(path);

// Get Directories
var directories = Directory.GetDirectories(path, "*", SearchOption.AllDirectories);

// Add Directories to Resolver
if ((directories != null) && (directories.Length > 0))
{
foreach (var dir in directories)
{
// Validate Path
if (!Directory.Exists(dir))
continue;

// Skip any folders that doesn't end with or isn't equal to UserLibs
string dirName = new DirectoryInfo(dir).Name;
string dirNameLower = dirName.ToLowerInvariant();
if (dirNameLower.EndsWith("disabled"))
continue;

// Load Assemblies
if (dirNameLower.EndsWith("userlibs"))
MelonUtils.AddNativeDLLDirectory(dir);
InternalUtils.MelonAssemblyResolver.AddSearchDirectory(dir);
}

// Load UserLibs
foreach (var dir in directories)
{
Expand All @@ -117,8 +138,6 @@ private static void ProcessFolder<T>(string path,
continue;

// Load Assemblies
MelonUtils.AddNativeDLLDirectory(dir);
InternalUtils.MelonAssemblyResolver.AddSearchDirectory(dir);
LoadFolder<T>(dir, false, ref hasWroteLine, ref melonAssemblies);
}

Expand All @@ -136,7 +155,6 @@ private static void ProcessFolder<T>(string path,
continue;

// Load Melons from Extended Folder
InternalUtils.MelonAssemblyResolver.AddSearchDirectory(dir);
LoadFolder<T>(dir, true, ref hasWroteLine, ref melonAssemblies);
}
}
Expand Down

0 comments on commit 350884e

Please sign in to comment.