Merge pull request #4822 from Mailaender/map-test
Added checks for all map.yaml with Travis
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
|
||||
* 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,
|
||||
@@ -370,6 +370,7 @@ namespace OpenRA
|
||||
modData = new ModData(mod);
|
||||
Renderer.InitializeFonts(modData.Manifest);
|
||||
modData.InitializeLoaders();
|
||||
modData.LoadMaps();
|
||||
|
||||
PerfHistory.items["render"].hasNormalTick = false;
|
||||
PerfHistory.items["batches"].hasNormalTick = false;
|
||||
@@ -400,7 +401,7 @@ namespace OpenRA
|
||||
if (Settings.Server.DedicatedLoop)
|
||||
{
|
||||
Console.WriteLine("Starting a new server instance...");
|
||||
modData.InitializeLoaders();
|
||||
modData.LoadMaps();
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -76,8 +76,6 @@ namespace OpenRA
|
||||
SpriteLoader = new SpriteLoader(new string[0], SheetBuilder);
|
||||
VoxelLoader = new VoxelLoader();
|
||||
CursorProvider.Initialize(Manifest.Cursors);
|
||||
|
||||
AvailableMaps = FindMaps();
|
||||
}
|
||||
|
||||
public IEnumerable<string> Languages { get; private set; }
|
||||
@@ -121,6 +119,11 @@ namespace OpenRA
|
||||
FieldLoader.Translations = translations;
|
||||
}
|
||||
|
||||
public void LoadMaps()
|
||||
{
|
||||
AvailableMaps = FindMaps();
|
||||
}
|
||||
|
||||
public Map PrepareMap(string uid)
|
||||
{
|
||||
LoadScreen.Display();
|
||||
|
||||
@@ -52,27 +52,46 @@ namespace OpenRA.Lint
|
||||
AppDomain.CurrentDomain.AssemblyResolve += FileSystem.ResolveAssembly;
|
||||
Game.modData = new ModData(mod);
|
||||
|
||||
var testMap = string.IsNullOrEmpty(map) ? new Map() : new Map(map);
|
||||
if (verbose && !string.IsNullOrEmpty(map))
|
||||
Console.WriteLine("Map: {0}".F(testMap.Title));
|
||||
Rules.LoadRules(Game.modData.Manifest, testMap);
|
||||
|
||||
foreach (var customPassType in Game.modData.ObjectCreator
|
||||
.GetTypesImplementing<ILintPass>())
|
||||
var maps = new Map[] { new Map() };
|
||||
if (!string.IsNullOrEmpty(map))
|
||||
maps = new Map[] { new Map(map) };
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var customPass = (ILintPass)Game.modData.ObjectCreator
|
||||
.CreateBasic(customPassType);
|
||||
Game.modData.LoadMaps();
|
||||
maps = Game.modData.AvailableMaps.Values.ToArray();
|
||||
}
|
||||
|
||||
foreach (var testMap in maps)
|
||||
{
|
||||
if (testMap.Rules.Count < 1)
|
||||
{
|
||||
if (verbose)
|
||||
Console.WriteLine("Pass: {0}".F(customPassType.ToString()));
|
||||
Console.WriteLine("No custom rules detected. Omitting Map: {0}".F(testMap.Title));
|
||||
|
||||
customPass.Run(EmitError, EmitWarning, testMap);
|
||||
continue;
|
||||
}
|
||||
catch (Exception e)
|
||||
|
||||
if (verbose)
|
||||
Console.WriteLine("Map: {0}".F(testMap.Title));
|
||||
Rules.LoadRules(Game.modData.Manifest, testMap);
|
||||
|
||||
foreach (var customPassType in Game.modData.ObjectCreator
|
||||
.GetTypesImplementing<ILintPass>())
|
||||
{
|
||||
EmitError("Failed with exception: {0}".F(e));
|
||||
try
|
||||
{
|
||||
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)
|
||||
{
|
||||
EmitError("Failed with exception: {0}".F(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -903,12 +903,9 @@ Rules:
|
||||
Ticks: 1
|
||||
HealIfBelow: 101%
|
||||
DamageCooldown: 0
|
||||
Armament:
|
||||
Weapon: CrateNuke
|
||||
LocalOffset: 0,0,171
|
||||
AttackFrontal:
|
||||
Explodes:
|
||||
DemoTruck:
|
||||
Weapon: CrateNuke
|
||||
EmptyWeapon: CrateNuke
|
||||
BodyOrientation:
|
||||
T17:
|
||||
Health:
|
||||
|
||||
Reference in New Issue
Block a user