From f99db8d7543e351c21787faa0b406a6889988969 Mon Sep 17 00:00:00 2001 From: Gustas <37534529+PunkPun@users.noreply.github.com> Date: Thu, 3 Aug 2023 14:54:05 +0300 Subject: [PATCH] Fix lua sanity check crashing on dedicated servers --- OpenRA.Mods.Common/Lint/CheckLuaScript.cs | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/OpenRA.Mods.Common/Lint/CheckLuaScript.cs b/OpenRA.Mods.Common/Lint/CheckLuaScript.cs index d1b603302d..b79fc8d1a2 100644 --- a/OpenRA.Mods.Common/Lint/CheckLuaScript.cs +++ b/OpenRA.Mods.Common/Lint/CheckLuaScript.cs @@ -10,32 +10,21 @@ #endregion using System; -using OpenRA.FileSystem; using OpenRA.Mods.Common.Scripting; -using OpenRA.Server; namespace OpenRA.Mods.Common.Lint { - public class CheckLuaScript : ILintMapPass, ILintServerMapPass + public class CheckLuaScript : ILintMapPass { void ILintMapPass.Run(Action emitError, Action emitWarning, ModData modData, Map map) { - CheckLuaScriptFileExistance(emitError, map.Package, modData.DefaultFileSystem, map.Rules); - } - - void ILintServerMapPass.Run(Action emitError, Action emitWarning, ModData modData, MapPreview map, Ruleset mapRules) - { - CheckLuaScriptFileExistance(emitError, map.Package, modData.DefaultFileSystem, mapRules); - } - - static void CheckLuaScriptFileExistance(Action emitError, IReadOnlyPackage package, IReadOnlyFileSystem fileSystem, Ruleset mapRules) - { - var luaScriptInfo = mapRules.Actors[SystemActors.World].TraitInfoOrDefault(); + var luaScriptInfo = map.Rules.Actors[SystemActors.World].TraitInfoOrDefault(); if (luaScriptInfo == null) return; + // We aren't running this lint on servers as they don't create map packages. foreach (var script in luaScriptInfo.Scripts) - if (!package.Contains(script) && !fileSystem.Exists(script)) + if (!map.Package.Contains(script) && !modData.DefaultFileSystem.Exists(script)) emitError($"Lua script `{script}` does not exist."); } }