From a2c67f7af518069b7736f5d4ad86b4745b2e3598 Mon Sep 17 00:00:00 2001 From: MapleWheels Date: Mon, 13 Apr 2026 14:19:31 -0400 Subject: [PATCH] Changed csharp script compilation algorithm to be best effort. --- .../SharedSource/LuaCs/_Services/ModConfigService.cs | 4 ++-- .../SharedSource/LuaCs/_Services/PluginManagementService.cs | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ModConfigService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ModConfigService.cs index 3882a0175..2802d4957 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ModConfigService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ModConfigService.cs @@ -335,10 +335,10 @@ public sealed class ModConfigService : IModConfigService .Select(fp => ContentPath.FromRaw(srcPackage, $"%ModDir%/{Path.GetRelativePath(srcPackage.Dir, fp)}".CleanUpPathCrossPlatform())) .Concat(sharedFiles).ToImmutableArray(), - FriendlyName = IAssemblyLoaderService.InternalsAwareAssemblyName, + FriendlyName = IAssemblyLoaderService.InternalsAwareAssemblyName, // give the best chance of success (InternalsAware + Publicizer) IncompatiblePackages = ImmutableArray.Empty, RequiredPackages = ImmutableArray.Empty, - UseInternalAccessName = true, + UseInternalAccessName = false, //compile as public and then fallback to internals IsScript = true, IsReferenceModeOnly = false }); diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs index 8ae7d8360..895205874 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs @@ -677,6 +677,8 @@ public class PluginManagementService : IAssemblyManagementService // overwrite result with good compilation if (res2.IsSuccess) { + var reasonsStr = res.Reasons.Aggregate("", (accum, reason) => accum + "\n" + reason.Message); + _logger.LogWarning($"Attempted compilation of {scripts.Key} for package {contentPackRes.Key.Name} succeeded. Original errors were: \n {reasonsStr}"); res = res2; } }