ed: Made it possible for maps to define custom & override existing voices
This commit is contained in:
@@ -30,7 +30,7 @@ namespace OpenRA
|
|||||||
// Added support to extend the list of rules (add it to m.LocalRules)
|
// Added support to extend the list of rules (add it to m.LocalRules)
|
||||||
Info = LoadYamlRules(m.Rules, map.Rules, (k, y) => new ActorInfo(k.Key.ToLowerInvariant(), k.Value, y));
|
Info = LoadYamlRules(m.Rules, map.Rules, (k, y) => new ActorInfo(k.Key.ToLowerInvariant(), k.Value, y));
|
||||||
Weapons = LoadYamlRules(m.Weapons, map.Weapons, (k, _) => new WeaponInfo(k.Key.ToLowerInvariant(), k.Value));
|
Weapons = LoadYamlRules(m.Weapons, map.Weapons, (k, _) => new WeaponInfo(k.Key.ToLowerInvariant(), k.Value));
|
||||||
Voices = LoadYamlRules(m.Voices, new List<MiniYamlNode>(), (k, _) => new VoiceInfo(k.Value));
|
Voices = LoadYamlRules(m.Voices, map.Voices, (k, _) => new VoiceInfo(k.Value));
|
||||||
Music = LoadYamlRules(m.Music, new List<MiniYamlNode>(), (k, _) => new MusicInfo(k.Key, k.Value));
|
Music = LoadYamlRules(m.Music, new List<MiniYamlNode>(), (k, _) => new MusicInfo(k.Key, k.Value));
|
||||||
Movies = LoadYamlRules(m.Movies, new List<MiniYamlNode>(), (k, v) => k.Value.Value);
|
Movies = LoadYamlRules(m.Movies, new List<MiniYamlNode>(), (k, v) => k.Value.Value);
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ namespace OpenRA
|
|||||||
|
|
||||||
// Weapon overrides
|
// Weapon overrides
|
||||||
public List<MiniYamlNode> Weapons = new List<MiniYamlNode>();
|
public List<MiniYamlNode> Weapons = new List<MiniYamlNode>();
|
||||||
|
|
||||||
|
// Voices overrides
|
||||||
|
public List<MiniYamlNode> Voices = new List<MiniYamlNode>();
|
||||||
|
|
||||||
// Binary map data
|
// Binary map data
|
||||||
public byte TileFormat = 1;
|
public byte TileFormat = 1;
|
||||||
[FieldLoader.Load] public int2 MapSize;
|
[FieldLoader.Load] public int2 MapSize;
|
||||||
@@ -189,6 +193,9 @@ namespace OpenRA
|
|||||||
// Weapons
|
// Weapons
|
||||||
Weapons = (yaml.NodesDict.ContainsKey("Weapons")) ? yaml.NodesDict["Weapons"].Nodes : new List<MiniYamlNode>();
|
Weapons = (yaml.NodesDict.ContainsKey("Weapons")) ? yaml.NodesDict["Weapons"].Nodes : new List<MiniYamlNode>();
|
||||||
|
|
||||||
|
// Voices
|
||||||
|
Voices = (yaml.NodesDict.ContainsKey("Voices")) ? yaml.NodesDict["Voices"].Nodes : new List<MiniYamlNode>();
|
||||||
|
|
||||||
CustomTerrain = new string[MapSize.X, MapSize.Y];
|
CustomTerrain = new string[MapSize.X, MapSize.Y];
|
||||||
LoadBinaryData();
|
LoadBinaryData();
|
||||||
}
|
}
|
||||||
@@ -222,6 +229,7 @@ namespace OpenRA
|
|||||||
root.Add(new MiniYamlNode("Rules", null, Rules));
|
root.Add(new MiniYamlNode("Rules", null, Rules));
|
||||||
root.Add(new MiniYamlNode("Sequences", null, Sequences));
|
root.Add(new MiniYamlNode("Sequences", null, Sequences));
|
||||||
root.Add(new MiniYamlNode("Weapons", null, Weapons));
|
root.Add(new MiniYamlNode("Weapons", null, Weapons));
|
||||||
|
root.Add(new MiniYamlNode("Voices", null, Voices));
|
||||||
|
|
||||||
SaveBinaryData(Path.Combine(filepath, "map.bin"));
|
SaveBinaryData(Path.Combine(filepath, "map.bin"));
|
||||||
root.WriteToFile(Path.Combine(filepath, "map.yaml"));
|
root.WriteToFile(Path.Combine(filepath, "map.yaml"));
|
||||||
|
|||||||
Reference in New Issue
Block a user