Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0c53b2f1d3 | ||
![]() |
b6e88b359f | ||
![]() |
b60100171d |
@@ -19,8 +19,11 @@ internal static class AssemblyRewriter
|
||||
{
|
||||
_defaultResolver = new();
|
||||
_zipResolver = new(_defaultResolver);
|
||||
_defaultResolver.AddSearchDirectory(Directory.GetCurrentDirectory());
|
||||
_defaultResolver.AddSearchDirectory(AppContext.BaseDirectory);
|
||||
_defaultResolver.AddSearchDirectory(Path.Combine(Directory.GetCurrentDirectory(), "DedicatedServer64"));
|
||||
#if !DEBUG
|
||||
_defaultResolver.AddSearchDirectory(Path.Join(AppContext.BaseDirectory, "torch64"));
|
||||
#endif
|
||||
}
|
||||
|
||||
public static Assembly ProcessWeavers(this Stream stream, ZipArchive archive)
|
||||
@@ -60,17 +63,17 @@ internal static class AssemblyRewriter
|
||||
|
||||
private static Assembly ProcessInternal(Stream inputStream, IAssemblyResolver resolver)
|
||||
{
|
||||
using var module = ModuleDefinition.ReadModule(inputStream, new()
|
||||
using var assembly = AssemblyDefinition.ReadAssembly(inputStream, new()
|
||||
{
|
||||
AssemblyResolver = resolver
|
||||
});
|
||||
foreach (var fieldDefinition in FindAllToRewrite(module))
|
||||
foreach (var fieldDefinition in FindAllToRewrite(assembly.MainModule))
|
||||
{
|
||||
fieldDefinition.IsInitOnly = false;
|
||||
}
|
||||
|
||||
using var memStream = new MemoryStream();
|
||||
module.Assembly.Write(memStream);
|
||||
assembly.Write(memStream);
|
||||
return Assembly.Load(memStream.ToArray());
|
||||
}
|
||||
|
||||
|
@@ -395,5 +395,15 @@ namespace Torch
|
||||
|
||||
/// <inheritdoc/>
|
||||
public event TorchGameStateChangedDel GameStateChanged;
|
||||
|
||||
#region Backwards compat
|
||||
|
||||
[Obsolete("Dont use that", true)]
|
||||
internal static void RegisterAuxAssembly(Assembly assembly)
|
||||
{
|
||||
TorchLauncher.RegisterAssembly(assembly);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user