Set yaml filename when loading from FileSystem.
This commit is contained in:
@@ -243,7 +243,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
var mapFiles = FieldLoader.GetValue<string[]>("value", mapRules.Value);
|
var mapFiles = FieldLoader.GetValue<string[]>("value", mapRules.Value);
|
||||||
foreach (var f in mapFiles)
|
foreach (var f in mapFiles)
|
||||||
if (AnyFlaggedTraits(modData, MiniYaml.FromStream(fileSystem.Open(f))))
|
if (AnyFlaggedTraits(modData, MiniYaml.FromStream(fileSystem.Open(f), f)))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Graphics
|
|||||||
cachedSprites = new Dictionary<string, Dictionary<string, Sprite>>();
|
cachedSprites = new Dictionary<string, Dictionary<string, Sprite>>();
|
||||||
|
|
||||||
var chrome = MiniYaml.Merge(modData.Manifest.Chrome
|
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)
|
foreach (var c in chrome)
|
||||||
LoadCollection(c.Key, c.Value);
|
LoadCollection(c.Key, c.Value);
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
var fileSystem = modData.DefaultFileSystem;
|
var fileSystem = modData.DefaultFileSystem;
|
||||||
var sequenceYaml = MiniYaml.Merge(modData.Manifest.Cursors.Select(
|
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[] { };
|
var shadowIndex = new int[] { };
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
var package = ModMetadata.AllMods[modId].Package;
|
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 = FieldLoader.Load<ModMetadata>(yaml["Metadata"]);
|
||||||
Mod.Id = modId;
|
Mod.Id = modId;
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ namespace OpenRA
|
|||||||
|
|
||||||
public TileSet(IReadOnlyFileSystem fileSystem, string filepath)
|
public TileSet(IReadOnlyFileSystem fileSystem, string filepath)
|
||||||
{
|
{
|
||||||
var yaml = MiniYaml.DictFromStream(fileSystem.Open(filepath));
|
var yaml = MiniYaml.DictFromStream(fileSystem.Open(filepath), filepath);
|
||||||
|
|
||||||
// General info
|
// General info
|
||||||
FieldLoader.Load(this, yaml["General"]);
|
FieldLoader.Load(this, yaml["General"]);
|
||||||
|
|||||||
@@ -236,9 +236,9 @@ namespace OpenRA
|
|||||||
return FromFile(path).ToDictionary(x => x.Key, x => x.Value);
|
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)
|
public static List<MiniYamlNode> FromFile(string path)
|
||||||
@@ -385,7 +385,7 @@ namespace OpenRA
|
|||||||
files = files.Append(mapFiles);
|
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())
|
if (mapRules != null && mapRules.Nodes.Any())
|
||||||
yaml = yaml.Append(mapRules.Nodes);
|
yaml = yaml.Append(mapRules.Nodes);
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace OpenRA
|
|||||||
continue;
|
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();
|
var nd = yaml.ToDictionary();
|
||||||
if (!nd.ContainsKey("Metadata"))
|
if (!nd.ContainsKey("Metadata"))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
data = new Dictionary<string, string>();
|
data = new Dictionary<string, string>();
|
||||||
var metrics = MiniYaml.Merge(modData.Manifest.ChromeMetrics.Select(
|
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 m in metrics)
|
||||||
foreach (var n in m.Value.Nodes)
|
foreach (var n in m.Value.Nodes)
|
||||||
data[n.Key] = n.Value.Value;
|
data[n.Key] = n.Value.Value;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
this.modData = modData;
|
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)
|
foreach (var w in file)
|
||||||
{
|
{
|
||||||
var key = w.Key.Substring(w.Key.IndexOf('@') + 1);
|
var key = w.Key.Substring(w.Key.IndexOf('@') + 1);
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Lint
|
|||||||
public void Run(Action<string> emitError, Action<string> emitWarning, ModData modData)
|
public void Run(Action<string> emitError, Action<string> emitWarning, ModData modData)
|
||||||
{
|
{
|
||||||
foreach (var filename in modData.Manifest.ChromeLayout)
|
foreach (var filename in modData.Manifest.ChromeLayout)
|
||||||
CheckInner(MiniYaml.FromStream(modData.DefaultFileSystem.Open(filename)), filename, emitError);
|
CheckInner(MiniYaml.FromStream(modData.DefaultFileSystem.Open(filename), filename), filename, emitError);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckInner(List<MiniYamlNode> nodes, string filename, Action<string> emitError)
|
void CheckInner(List<MiniYamlNode> nodes, string filename, Action<string> emitError)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
var ts = new TileSet(modData.DefaultFileSystem, t);
|
var ts = new TileSet(modData.DefaultFileSystem, t);
|
||||||
Console.WriteLine("Tileset: " + ts.Name);
|
Console.WriteLine("Tileset: " + ts.Name);
|
||||||
var sc = new SpriteCache(modData.DefaultFileSystem, modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed));
|
var sc = new SpriteCache(modData.DefaultFileSystem, modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed));
|
||||||
var nodes = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(modData.DefaultFileSystem.Open(s))));
|
var nodes = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(modData.DefaultFileSystem.Open(s), s)));
|
||||||
foreach (var n in nodes)
|
foreach (var n in nodes)
|
||||||
modData.SpriteSequenceLoader.ParseSequences(modData, ts, sc, n);
|
modData.SpriteSequenceLoader.ParseSequences(modData, ts, sc, n);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
{
|
{
|
||||||
include |= map.Package.Contains(f);
|
include |= map.Package.Contains(f);
|
||||||
if (include)
|
if (include)
|
||||||
nodes.AddRange(MiniYaml.FromStream(map.Open(f)));
|
nodes.AddRange(MiniYaml.FromStream(map.Open(f), f));
|
||||||
else
|
else
|
||||||
includes.Add(f);
|
includes.Add(f);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
var files = FieldLoader.GetValue<string[]>("value", yaml.Value);
|
var files = FieldLoader.GetValue<string[]>("value", yaml.Value);
|
||||||
foreach (var filename in files)
|
foreach (var filename in files)
|
||||||
{
|
{
|
||||||
var fileNodes = MiniYaml.FromStream(map.Package.GetStream(filename));
|
var fileNodes = MiniYaml.FromStream(map.Package.GetStream(filename), filename);
|
||||||
processYaml(engineDate, ref fileNodes, null, 0);
|
processYaml(engineDate, ref fileNodes, null, 0);
|
||||||
((IReadWritePackage)map.Package).Update(filename, Encoding.ASCII.GetBytes(fileNodes.WriteToString()));
|
((IReadWritePackage)map.Package).Update(filename, Encoding.ASCII.GetBytes(fileNodes.WriteToString()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var yaml = MiniYaml.FromStream(package.GetStream(name));
|
var yaml = MiniYaml.FromStream(package.GetStream(name), name);
|
||||||
processFile(engineDate, ref yaml, null, 0);
|
processFile(engineDate, ref yaml, null, 0);
|
||||||
|
|
||||||
// Generate the on-disk path
|
// Generate the on-disk path
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
if (modData.Manifest.Missions.Any())
|
if (modData.Manifest.Missions.Any())
|
||||||
{
|
{
|
||||||
var yaml = MiniYaml.Merge(modData.Manifest.Missions.Select(
|
var yaml = MiniYaml.Merge(modData.Manifest.Missions.Select(
|
||||||
m => MiniYaml.FromStream(modData.DefaultFileSystem.Open(m))));
|
m => MiniYaml.FromStream(modData.DefaultFileSystem.Open(m), m)));
|
||||||
|
|
||||||
foreach (var kv in yaml)
|
foreach (var kv in yaml)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user