diff --git a/OpenRA.FileFormats/Map/Map.cs b/OpenRA.FileFormats/Map/Map.cs index 8685e7a2e1..5824adce52 100644 --- a/OpenRA.FileFormats/Map/Map.cs +++ b/OpenRA.FileFormats/Map/Map.cs @@ -90,7 +90,7 @@ namespace OpenRA.FileFormats foreach (var kv in yaml["Actors"].Nodes) { string[] vals = kv.Value.Value.Split(' '); - string[] loc = vals[1].Split(','); + string[] loc = vals[2].Split(','); var a = new ActorReference(vals[0], new int2(int.Parse(loc[0]),int.Parse(loc[1])) ,vals[2]); Actors.Add(kv.Key,a); } @@ -99,9 +99,10 @@ namespace OpenRA.FileFormats foreach (var kv in yaml["Smudges"].Nodes) { string[] vals = kv.Key.Split(' '); - string[] loc = vals[2].Split(','); - Smudges.Add(new SmudgeReference(vals[0], new int2(int.Parse(loc[0]),int.Parse(loc[1])) ,int.Parse(vals[1]))); + string[] loc = vals[1].Split(','); + Smudges.Add(new SmudgeReference(vals[0], new int2(int.Parse(loc[0]),int.Parse(loc[1])) ,int.Parse(vals[2]))); } + // Rules Rules = yaml["Rules"].Nodes; diff --git a/OpenRA.Game/Traits/World/SmudgeLayer.cs b/OpenRA.Game/Traits/World/SmudgeLayer.cs index 45c1a28f23..accd51f5e3 100644 --- a/OpenRA.Game/Traits/World/SmudgeLayer.cs +++ b/OpenRA.Game/Traits/World/SmudgeLayer.cs @@ -54,7 +54,14 @@ namespace OpenRA.Traits world = w; tiles = new TileReference[w.Map.MapSize.X,w.Map.MapSize.Y]; - // TODO: Parse map and add initial smudges + // Add map smudges + foreach (var s in w.Map.Smudges) + { + if (!Info.Types.Contains(s.Type)) + continue; + tiles[s.Location.X,s.Location.Y] = new TileReference((byte)Array.IndexOf(Info.Types,s.Type), + (byte)s.Depth); + } } public void AddSmudge(int2 loc) diff --git a/mods/cnc/maps/scm01ea/map.yaml b/mods/cnc/maps/scm01ea/map.yaml index 465c10f70c..ed477fab4b 100644 --- a/mods/cnc/maps/scm01ea/map.yaml +++ b/mods/cnc/maps/scm01ea/map.yaml @@ -90,5 +90,7 @@ Waypoints: spawn1: 18,12 spawn0: 5,19 +Smudges: + Rules: diff --git a/mods/cnc/maps/scm02ea/map.yaml b/mods/cnc/maps/scm02ea/map.yaml index a136351814..a37a0acd38 100644 --- a/mods/cnc/maps/scm02ea/map.yaml +++ b/mods/cnc/maps/scm02ea/map.yaml @@ -56,5 +56,7 @@ Waypoints: spawn1: 33,16 spawn0: 6,16 +Smudges: + Rules: diff --git a/mods/cnc/maps/scm03ea/map.yaml b/mods/cnc/maps/scm03ea/map.yaml index 35d9e7a2df..e2dc69ecff 100644 --- a/mods/cnc/maps/scm03ea/map.yaml +++ b/mods/cnc/maps/scm03ea/map.yaml @@ -73,5 +73,7 @@ Waypoints: spawn1: 57,59 spawn0: 49,4 +Smudges: + Rules: diff --git a/mods/ra/maps/scm01ea/map.yaml b/mods/ra/maps/scm01ea/map.yaml index d8b56eb3ee..84ceb64593 100644 --- a/mods/ra/maps/scm01ea/map.yaml +++ b/mods/ra/maps/scm01ea/map.yaml @@ -105,5 +105,7 @@ Waypoints: spawn6: 19,52 spawn7: 95,65 +Smudges: + Rules: diff --git a/mods/ra/maps/scm02ea/map.yaml b/mods/ra/maps/scm02ea/map.yaml index 076ac22e69..e5906ba082 100644 --- a/mods/ra/maps/scm02ea/map.yaml +++ b/mods/ra/maps/scm02ea/map.yaml @@ -57,5 +57,7 @@ Waypoints: spawn0: 34,84 spawn1: 35,34 +Smudges: + Rules: diff --git a/mods/ra/maps/scm03ea/map.yaml b/mods/ra/maps/scm03ea/map.yaml index 9802108e10..aae7f356e7 100644 --- a/mods/ra/maps/scm03ea/map.yaml +++ b/mods/ra/maps/scm03ea/map.yaml @@ -54,5 +54,7 @@ Waypoints: spawn3: 47,81 spawn4: 47,81 +Smudges: + Rules: