From ba1fa7cd8179b3ed0c9e36fa2e4f81a365c50367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 09:50:50 +0200 Subject: [PATCH 1/8] new check for undefined actors --- OpenRA.Mods.RA/Lint/CheckActors.cs | 28 ++++++++++++++++++++++++++++ OpenRA.Mods.RA/OpenRA.Mods.RA.csproj | 1 + 2 files changed, 29 insertions(+) create mode 100644 OpenRA.Mods.RA/Lint/CheckActors.cs diff --git a/OpenRA.Mods.RA/Lint/CheckActors.cs b/OpenRA.Mods.RA/Lint/CheckActors.cs new file mode 100644 index 0000000000..c6c259f3d0 --- /dev/null +++ b/OpenRA.Mods.RA/Lint/CheckActors.cs @@ -0,0 +1,28 @@ +#region Copyright & License Information +/* + * Copyright 2007-2014 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see COPYING. + */ +#endregion + +using System; +using System.Linq; +using OpenRA.Traits; + +namespace OpenRA.Mods.RA +{ + public class CheckActors : ILintPass + { + public void Run(Action emitError, Action emitWarning, Map map) + { + var actorTypes = map.Actors.Value.Values.Select(a => a.Type); + foreach (var actor in actorTypes) + if (!map.Rules.Actors.Keys.Contains(actor.ToLowerInvariant())) + emitError("Actor {0} is not defined by any rule.".F(actor)); + } + } +} + diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index aeb4fdda34..88a75a8b9c 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -518,6 +518,7 @@ + From a6ad3599140b3556be1fd482b3160f3c79243141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 09:51:12 +0200 Subject: [PATCH 2/8] remove legacy actors as a test case --- mods/ra/maps/desert-shellmap/map.yaml | 18 +++---- mods/ra/rules/structures.yaml | 74 --------------------------- 2 files changed, 9 insertions(+), 83 deletions(-) diff --git a/mods/ra/maps/desert-shellmap/map.yaml b/mods/ra/maps/desert-shellmap/map.yaml index cb74e78344..0b052318c9 100644 --- a/mods/ra/maps/desert-shellmap/map.yaml +++ b/mods/ra/maps/desert-shellmap/map.yaml @@ -439,7 +439,7 @@ Actors: Actor167: powr Location: 54,74 Owner: Allies - Actor39: pbox.e1 + Actor39: pbox Location: 70,89 Owner: Allies AlliedTechnologyCenter: miss @@ -452,10 +452,10 @@ Actors: Actor150: apwr Location: 94,90 Owner: Allies - Actor35: pbox.e1 + Actor35: pbox Location: 68,85 Owner: Allies - Actor178: pbox.e1 + Actor178: pbox Location: 77,76 Owner: Allies Actor300: brik @@ -495,7 +495,7 @@ Actors: AlliedWarFactory1: weap Location: 75,81 Owner: Allies - Actor156: pbox.e1 + Actor156: pbox Location: 52,71 Owner: Allies Actor343: brik @@ -628,10 +628,10 @@ Actors: Location: 82,69 Owner: Allies Facing: 0 - Actor30: pbox.e1 + Actor30: pbox Location: 47,77 Owner: Allies - Actor29: pbox.e1 + Actor29: pbox Location: 42,75 Owner: Allies Actor217: sbag @@ -1001,7 +1001,7 @@ Actors: Actor212: brik Location: 61,80 Owner: Allies - Actor361: pbox.e1 + Actor361: pbox Location: 71,96 Owner: Allies Actor365: hpad @@ -1016,7 +1016,7 @@ Actors: Actor193: fix Location: 69,70 Owner: Allies - Actor42: pbox.e1 + Actor42: pbox Location: 67,70 Owner: Allies Actor262: fenc @@ -1217,7 +1217,7 @@ Actors: LstUnload: waypoint Location: 60,93 Owner: Neutral - Actor184: pbox.e1 + Actor184: pbox Location: 96,79 Owner: Allies Paradrop1: waypoint diff --git a/mods/ra/rules/structures.yaml b/mods/ra/rules/structures.yaml index 49f1c47e6c..f9d3db2917 100644 --- a/mods/ra/rules/structures.yaml +++ b/mods/ra/rules/structures.yaml @@ -459,43 +459,6 @@ PBOX: FallbackRange: 6c0 AutoTarget: -# Legacy definitions to keep compatibility with outdated maps -PBOX.E1: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - -PBOX.E3: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - -PBOX.E4: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - -PBOX.E7: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - -PBOX.SHOK: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - -PBOX.SNIPER: - Inherits: PBOX - -Buildable: - RenderBuilding: - Image: PBOX - HBOX: Inherits: ^Building Tooltip: @@ -545,43 +508,6 @@ HBOX: PortYaws: 0, 176, 341, 512, 682, 853 PortCones: 86, 86, 86, 86, 86, 86 -# Legacy definitions to keep compatibility with outdated maps -HBOX.E1: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - -HBOX.E3: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - -HBOX.E4: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - -HBOX.E7: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - -HBOX.SHOK: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - -HBOX.SNIPER: - Inherits: HBOX - -Buildable: - RenderBuilding: - Image: HBOX - GUN: Inherits: ^Building Buildable: From 59c12c2a319ddcfa512db5750a600377e50fc35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 09:51:50 +0200 Subject: [PATCH 3/8] now that we check actors and players we can't exclude them --- OpenRA.Lint/YamlChecker.cs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/OpenRA.Lint/YamlChecker.cs b/OpenRA.Lint/YamlChecker.cs index bfebb0d566..ba7b1944aa 100644 --- a/OpenRA.Lint/YamlChecker.cs +++ b/OpenRA.Lint/YamlChecker.cs @@ -68,14 +68,6 @@ namespace OpenRA.Lint foreach (var testMap in maps) { - if (testMap.RuleDefinitions.Count < 1) - { - if (verbose) - Console.WriteLine("No custom rules detected. Omitting Map: {0}".F(testMap.Title)); - - continue; - } - if (verbose) Console.WriteLine("Map: {0}".F(testMap.Title)); testMap.PreloadRules(); From f9d5a439d8719e167b3b3eafcfc247a5518c39e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 09:52:00 +0200 Subject: [PATCH 4/8] and another hit for invalid players --- mods/cnc/maps/necessary_illusions.oramap | Bin 5061 -> 5328 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/cnc/maps/necessary_illusions.oramap b/mods/cnc/maps/necessary_illusions.oramap index ca462a0e476f5811e3b6a5869190f2d579ad4121..be5d71ceb9c7b5504f53468a1942eaea971657e7 100644 GIT binary patch literal 5328 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 literal 5061 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 Date: Sat, 28 Jun 2014 10:37:38 +0200 Subject: [PATCH 5/8] don't spam passed checks --- OpenRA.Lint/YamlChecker.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/OpenRA.Lint/YamlChecker.cs b/OpenRA.Lint/YamlChecker.cs index ba7b1944aa..029e42c04e 100644 --- a/OpenRA.Lint/YamlChecker.cs +++ b/OpenRA.Lint/YamlChecker.cs @@ -80,9 +80,6 @@ namespace OpenRA.Lint var customPass = (ILintPass)Game.modData.ObjectCreator .CreateBasic(customPassType); - if (verbose) - Console.WriteLine("Pass: {0}".F(customPassType.ToString())); - customPass.Run(EmitError, EmitWarning, testMap); } catch (Exception e) From 95c43132c7d60f88ee2a1b2e568aca62c2a38c3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 10:38:14 +0200 Subject: [PATCH 6/8] only display lint check name when something goes wrong --- OpenRA.Lint/YamlChecker.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenRA.Lint/YamlChecker.cs b/OpenRA.Lint/YamlChecker.cs index 029e42c04e..7c8e3ce487 100644 --- a/OpenRA.Lint/YamlChecker.cs +++ b/OpenRA.Lint/YamlChecker.cs @@ -84,7 +84,7 @@ namespace OpenRA.Lint } catch (Exception e) { - EmitError("Failed with exception: {0}".F(e)); + EmitError("{0} failed with exception: {0}".F(customPassType, e)); } } } From a5ac1aa581bf83a391e27539f5353ece56f7c94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 10:38:33 +0200 Subject: [PATCH 7/8] tell us what you are doing --- OpenRA.Lint/YamlChecker.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenRA.Lint/YamlChecker.cs b/OpenRA.Lint/YamlChecker.cs index 7c8e3ce487..9011df7476 100644 --- a/OpenRA.Lint/YamlChecker.cs +++ b/OpenRA.Lint/YamlChecker.cs @@ -69,7 +69,7 @@ namespace OpenRA.Lint foreach (var testMap in maps) { if (verbose) - Console.WriteLine("Map: {0}".F(testMap.Title)); + Console.WriteLine("Testing map: {0}".F(testMap.Title)); testMap.PreloadRules(); foreach (var customPassType in Game.modData.ObjectCreator From dcaef3b0e9f182cc852621e693c4e62e3ec9db45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 28 Jun 2014 10:38:51 +0200 Subject: [PATCH 8/8] explain the strange console message --- OpenRA.Lint/YamlChecker.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenRA.Lint/YamlChecker.cs b/OpenRA.Lint/YamlChecker.cs index 9011df7476..4738987ec6 100644 --- a/OpenRA.Lint/YamlChecker.cs +++ b/OpenRA.Lint/YamlChecker.cs @@ -20,6 +20,7 @@ namespace OpenRA.Lint { static int errors = 0; + // mimic Windows compiler error format static void EmitError(string e) { Console.WriteLine("OpenRA.Lint(1,1): Error: {0}", e);