diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 0266e624c..8ef85ef96 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -53,6 +53,11 @@ env: Sigil.dll MoonSharp.Interpreter.dll MoonSharp.VsCodeDebugger.dll + MonoMod.Common.dll + Mono.Cecil.dll + Mono.Cecil.Mdb.dll + Mono.Cecil.Pdb.dll + Mono.Cecil.Rocks.dll Microsoft.CodeAnalysis.CSharp.Scripting.dll Microsoft.CodeAnalysis.CSharp.dll Microsoft.CodeAnalysis.dll @@ -133,6 +138,8 @@ jobs: cp "${artifacts_dir}/Windows/Client/Publicized/0Harmony.dll" "${refs_dir}/0Harmony.dll" cp "${artifacts_dir}/Windows/Client/Publicized/Farseer.NetStandard.dll" "${refs_dir}/Farseer.NetStandard.dll" cp "${artifacts_dir}/Windows/Client/Publicized/Lidgren.NetStandard.dll" "${refs_dir}/Lidgren.NetStandard.dll" + cp "${artifacts_dir}/Windows/Client/Publicized/Mono.Cecil.dll" "${refs_dir}/Mono.Cecil.dll" + cp "${artifacts_dir}/Windows/Client/Publicized/MonoMod.Common.dll" "${refs_dir}/MonoMod.Common.dll" cp "${artifacts_dir}/Windows/Client/Publicized/MoonSharp.Interpreter.dll" "${refs_dir}/MoonSharp.Interpreter.dll" cp "${artifacts_dir}/Windows/Client/Publicized/XNATypes.dll" "${refs_dir}/XNATypes.dll" cd "${refs_dir}" diff --git a/Barotrauma/BarotraumaShared/Luatrauma.props b/Barotrauma/BarotraumaShared/Luatrauma.props index a1da67fda..48c889c78 100644 --- a/Barotrauma/BarotraumaShared/Luatrauma.props +++ b/Barotrauma/BarotraumaShared/Luatrauma.props @@ -2,7 +2,7 @@ - + diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsInstaller.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsInstaller.cs index d40c8cd2f..ec1b273f4 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsInstaller.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsInstaller.cs @@ -10,8 +10,10 @@ namespace Barotrauma private static string[] trackingFiles = new string[] { "Barotrauma.dll", "Barotrauma.deps.json", "Barotrauma.pdb", "BarotraumaCore.dll", "BarotraumaCore.pdb", - "0Harmony.dll", + "0Harmony.dll", "Mono.Cecil.dll", "Sigil.dll", + "Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll", + "Mono.Cecil.Rocks.dll", "MonoMod.Common.dll", "MoonSharp.Interpreter.dll", "MoonSharp.VsCodeDebugger.dll", "Microsoft.CodeAnalysis.dll", "Microsoft.CodeAnalysis.CSharp.dll", diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/CsPackageManager.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/CsPackageManager.cs index 37cf29cd6..8ba1f8921 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/CsPackageManager.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Plugins/CsPackageManager.cs @@ -394,10 +394,9 @@ public sealed class CsPackageManager : IDisposable IEnumerable packages = BuildPackagesList(); // check and load config - foreach (var package in packages.Select(p => new KeyValuePair(p, GetRunConfigForPackage(p)))) - { - _packageRunConfigs.Add(package.Key, package.Value); - } + _packageRunConfigs.AddRange(packages + .Select(p => new KeyValuePair(p, GetRunConfigForPackage(p))) + .ToDictionary(p => p.Key, p=> p.Value)); // filter not to be loaded var cpToRunA = _packageRunConfigs @@ -459,11 +458,11 @@ public sealed class CsPackageManager : IDisposable { ModUtils.Logging.PrintMessage($"{nameof(CsPackageManager)}: Unable to create reliable dependencies map."); } - - foreach (var packDep in packDeps) - { - _packagesDependencies.Add(packDep.Key, packDep.Value.ToImmutableList()); - } + + _packagesDependencies.AddRange(packDeps.ToDictionary( + kvp => kvp.Key, + kvp => kvp.Value.ToImmutableList()) + ); List packagesToLoadInOrder = new();