0
0
mirror of https://github.com/sp-tarkov/assembly-tool.git synced 2025-02-12 20:30:43 -05:00

Thread hollow process

This commit is contained in:
Cj 2025-01-11 05:50:19 -05:00
parent e6364092aa
commit 2915c63c51

View File

@ -323,8 +323,7 @@ public class ReMapper
throw;
}
Logger.LogSync("\nCreating Hollow...", ConsoleColor.Green);
Hollow();
StartHollow();
var hollowedDir = Path.GetDirectoryName(OutPath);
var hollowedPath = Path.Combine(hollowedDir!, "Assembly-CSharp-hollowed.dll");
@ -354,9 +353,30 @@ public class ReMapper
/// <summary>
/// Hollows out all logic from the dll
/// </summary>
private void Hollow()
private void StartHollow()
{
foreach (var type in Module!.GetTypes())
Logger.LogSync("\nCreating Hollow...", ConsoleColor.Green);
var tasks = new List<Task>(Module!.GetTypes().Count());
foreach (var type in Module.GetTypes())
{
tasks.Add(Task.Run(() =>
{
try
{
HollowType(type);
}
catch (Exception ex)
{
Logger.LogSync($"Exception in task: {ex.Message}", ConsoleColor.Red);
}
}));
}
Task.WaitAll(tasks.ToArray());
}
private void HollowType(TypeDef type)
{
foreach (var method in type.Methods.Where(m => m.HasBody))
{
@ -367,4 +387,3 @@ public class ReMapper
}
}
}
}