From de73a1863775b6be41313ab2a5a0f0599c8f6b72 Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Sat, 28 Feb 2026 16:13:07 -0300 Subject: [PATCH] Compatibility for in memory scripts that used GameMain.LuaCs --- .../LuaCs/_Services/PluginManagementService.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs index ad32a8d6f..3af050db4 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs @@ -560,9 +560,12 @@ public class PluginManagementService : IAssemblyManagementService compileWithInternalName = resourceInfo.UseInternalAccessName; CancellationToken token = CancellationToken.None; - + + string sourceCode = loadRes.Value; + sourceCode = DoSourceCodeTextCompatibilityPass(sourceCode); + syntaxTreesBuilder.Add(SyntaxFactory.ParseSyntaxTree( - text: loadRes.Value, + text: sourceCode, options: ScriptParseOptions, path: null, encoding: Encoding.Default, @@ -613,6 +616,11 @@ public class PluginManagementService : IAssemblyManagementService } } + private string DoSourceCodeTextCompatibilityPass(string sourceCode) + { + return sourceCode.Replace("GameMain.LuaCs", "LuaCsSetup.Instance"); + } + private IntPtr OnAssemblyLoaderResolvingUnmanaged(Assembly arg1, string arg2) { // TODO: Implement extern assembly lookup for Native/Unmanaged Assemblies.