diff --git a/Reactor.OxygenFilter.MSBuild/LoadMappings.cs b/Reactor.OxygenFilter.MSBuild/LoadMappings.cs index 3415bc1..eed71d3 100644 --- a/Reactor.OxygenFilter.MSBuild/LoadMappings.cs +++ b/Reactor.OxygenFilter.MSBuild/LoadMappings.cs @@ -8,7 +8,8 @@ namespace Reactor.OxygenFilter.MSBuild { public class LoadMappings : Task { - public string TargetGamePlatform { get; set; } = "Steam"; + [Required] + public string GameVersion { get; set; } [Required] public string Mappings { get; set; } @@ -30,7 +31,7 @@ namespace Reactor.OxygenFilter.MSBuild var directory = Path.Combine(Context.TempPath, repo.Replace("/", "_"), version); Directory.CreateDirectory(directory); - var file = Path.Combine(directory, $"{TargetGamePlatform.ToLower()}.json"); + var file = Path.Combine(directory, $"{GameVersion}.json"); if (File.Exists(file)) { @@ -39,7 +40,7 @@ namespace Reactor.OxygenFilter.MSBuild } var httpClient = new HttpClient(); - var json = httpClient.GetStringAsync($"https://github.com/{repo}/releases/download/{version}/{TargetGamePlatform.ToLower()}.json").GetAwaiter().GetResult(); + var json = httpClient.GetStringAsync($"https://github.com/{repo}/releases/download/{version}/{GameVersion}.json").GetAwaiter().GetResult(); MappingsJson = json; diff --git a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.TargetFramework.props b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.TargetFramework.props index 56f6ef3..be3e0bc 100644 --- a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.TargetFramework.props +++ b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.TargetFramework.props @@ -18,7 +18,7 @@ - + @@ -48,6 +48,6 @@ - + \ No newline at end of file diff --git a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj index 4937c96..fcd417c 100644 --- a/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj +++ b/Reactor.OxygenFilter.MSBuild/Reactor.OxygenFilter.MSBuild.csproj @@ -4,7 +4,7 @@ latest true - 0.1.5 + 0.2.0 git https://github.com/NuclearPowered/Reactor.OxygenFilter LGPL-3.0-or-later diff --git a/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs b/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs index 5e10a4c..ba45bb4 100644 --- a/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs +++ b/Reactor.OxygenFilter.MSBuild/Reobfuscate.cs @@ -11,6 +11,9 @@ namespace Reactor.OxygenFilter.MSBuild { public class Reobfuscate : Task { + [Required] + public string GameVersion { get; set; } + [Required] public string AmongUs { get; set; } @@ -35,18 +38,15 @@ namespace Reactor.OxygenFilter.MSBuild var obfuscatedAssembly = AssemblyDefinition.ReadAssembly(Path.Combine(AmongUs, "BepInEx", "unhollowed", "Assembly-CSharp.dll")); + var referencedAssemblies = ReferencedAssemblies.Select(AssemblyDefinition.ReadAssembly).ToArray(); + resolver.ResolveFailure += (_, reference) => { - foreach (var referencedAssembly in ReferencedAssemblies) + foreach (var referencedAssembly in referencedAssemblies) { - if (Path.GetFileNameWithoutExtension(referencedAssembly) == reference.Name) + if (referencedAssembly.Name.FullName == reference.FullName) { - var assemblyDefinition = AssemblyDefinition.ReadAssembly(referencedAssembly); - - if (assemblyDefinition.Name.FullName == reference.FullName) - { - return assemblyDefinition; - } + return referencedAssembly; } } @@ -258,7 +258,7 @@ namespace Reactor.OxygenFilter.MSBuild var outputDirectory = Path.Combine(Path.GetDirectoryName(Input), "reobfuscated"); Directory.CreateDirectory(outputDirectory); - moduleDefinition.Write(Path.Combine(outputDirectory, Path.GetFileName(Input))); + moduleDefinition.Write(Path.Combine(outputDirectory, Path.GetFileNameWithoutExtension(Input) + $"-{GameVersion}.dll")); return true; }