diff --git a/OpenRA.Game/Map.cs b/OpenRA.Game/Map.cs index e3191a583d..f3f63bb828 100755 --- a/OpenRA.Game/Map.cs +++ b/OpenRA.Game/Map.cs @@ -169,6 +169,17 @@ namespace OpenRA default: throw new InvalidDataException("Map format {0} is not supported.".F(MapFormat)); + } + + /* hack: make some slots. */ + if (!Players.Any(p => p.Value.Playable)) + { + int index = 0; + foreach (var wp in Waypoints) + { + var p = new PlayerReference("Multi{0}".F(index++), "Random", false, false) { Playable = true }; + Players.Add(p.Name, p); + } } // Smudges diff --git a/OpenRA.Game/Network/Session.cs b/OpenRA.Game/Network/Session.cs index 321d59e82d..9fd9c34adf 100644 --- a/OpenRA.Game/Network/Session.cs +++ b/OpenRA.Game/Network/Session.cs @@ -36,6 +36,7 @@ namespace OpenRA.Network public string Name; public ClientState State; public int Team; + public int Slot; // which slot we're in, or -1 for `observer`. } public class Slot