Fix map linting crashing for not existing directories

This commit is contained in:
abcdefg30
2017-10-07 11:14:03 +02:00
committed by Paul Chote
parent 24c293e821
commit 27345c1f6a
3 changed files with 51 additions and 24 deletions

View File

@@ -77,29 +77,8 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
}
foreach (var kv in modData.Manifest.MapFolders)
{
var name = kv.Key;
var classification = string.IsNullOrEmpty(kv.Value)
? MapClassification.Unknown : Enum<MapClassification>.Parse(kv.Value);
if (classification == MapClassification.Unknown)
continue;
var optional = name.StartsWith("~", StringComparison.Ordinal);
if (optional)
name = name.Substring(1);
using (var package = (IReadWritePackage)modData.ModFiles.OpenPackage(name))
{
foreach (var map in package.Contents)
{
var mapPackage = package.OpenPackage(map, modData.ModFiles);
if (mapPackage != null)
maps.Add(new Map(modData, mapPackage));
}
}
}
// Use all maps for lint checking
maps = modData.MapCache.EnumerateMapsWithoutCaching(MapClassification.System | MapClassification.User).ToList();
}
else
maps.Add(new Map(modData, new Folder(".").OpenPackage(args[1], modData.ModFiles)));