Set yaml filename when loading from FileSystem.

This commit is contained in:
Paul Chote
2016-06-04 15:18:47 +01:00
parent 916f2ea2ea
commit b4d1517d0d
15 changed files with 17 additions and 17 deletions

View File

@@ -243,7 +243,7 @@ namespace OpenRA
{
var mapFiles = FieldLoader.GetValue<string[]>("value", mapRules.Value);
foreach (var f in mapFiles)
if (AnyFlaggedTraits(modData, MiniYaml.FromStream(fileSystem.Open(f))))
if (AnyFlaggedTraits(modData, MiniYaml.FromStream(fileSystem.Open(f), f)))
return true;
}
}

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Graphics
cachedSprites = new Dictionary<string, Dictionary<string, Sprite>>();
var chrome = MiniYaml.Merge(modData.Manifest.Chrome
.Select(s => MiniYaml.FromStream(fileSystem.Open(s))));
.Select(s => MiniYaml.FromStream(fileSystem.Open(s), s)));
foreach (var c in chrome)
LoadCollection(c.Key, c.Value);

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Graphics
{
var fileSystem = modData.DefaultFileSystem;
var sequenceYaml = MiniYaml.Merge(modData.Manifest.Cursors.Select(
s => MiniYaml.FromStream(fileSystem.Open(s))));
s => MiniYaml.FromStream(fileSystem.Open(s), s)));
var shadowIndex = new int[] { };

View File

@@ -64,7 +64,7 @@ namespace OpenRA
{
var package = ModMetadata.AllMods[modId].Package;
yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml"))).ToDictionary();
yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml"), "mod.yaml")).ToDictionary();
Mod = FieldLoader.Load<ModMetadata>(yaml["Metadata"]);
Mod.Id = modId;

View File

@@ -204,7 +204,7 @@ namespace OpenRA
public TileSet(IReadOnlyFileSystem fileSystem, string filepath)
{
var yaml = MiniYaml.DictFromStream(fileSystem.Open(filepath));
var yaml = MiniYaml.DictFromStream(fileSystem.Open(filepath), filepath);
// General info
FieldLoader.Load(this, yaml["General"]);

View File

@@ -236,9 +236,9 @@ namespace OpenRA
return FromFile(path).ToDictionary(x => x.Key, x => x.Value);
}
public static Dictionary<string, MiniYaml> DictFromStream(Stream stream)
public static Dictionary<string, MiniYaml> DictFromStream(Stream stream, string fileName = "<no filename available>")
{
return FromStream(stream).ToDictionary(x => x.Key, x => x.Value);
return FromStream(stream, fileName).ToDictionary(x => x.Key, x => x.Value);
}
public static List<MiniYamlNode> FromFile(string path)
@@ -385,7 +385,7 @@ namespace OpenRA
files = files.Append(mapFiles);
}
var yaml = files.Select(s => MiniYaml.FromStream(fileSystem.Open(s)));
var yaml = files.Select(s => MiniYaml.FromStream(fileSystem.Open(s), s));
if (mapRules != null && mapRules.Nodes.Any())
yaml = yaml.Append(mapRules.Nodes);

View File

@@ -61,7 +61,7 @@ namespace OpenRA
continue;
}
var yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml")));
var yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml"), "mod.yaml"));
var nd = yaml.ToDictionary();
if (!nd.ContainsKey("Metadata"))
{

View File

@@ -22,7 +22,7 @@ namespace OpenRA.Widgets
{
data = new Dictionary<string, string>();
var metrics = MiniYaml.Merge(modData.Manifest.ChromeMetrics.Select(
y => MiniYaml.FromStream(modData.DefaultFileSystem.Open(y))));
y => MiniYaml.FromStream(modData.DefaultFileSystem.Open(y), y)));
foreach (var m in metrics)
foreach (var n in m.Value.Nodes)
data[n.Key] = n.Value.Value;

View File

@@ -25,7 +25,7 @@ namespace OpenRA
{
this.modData = modData;
foreach (var file in modData.Manifest.ChromeLayout.Select(a => MiniYaml.FromStream(modData.DefaultFileSystem.Open(a))))
foreach (var file in modData.Manifest.ChromeLayout.Select(a => MiniYaml.FromStream(modData.DefaultFileSystem.Open(a), a)))
foreach (var w in file)
{
var key = w.Key.Substring(w.Key.IndexOf('@') + 1);