From b46087986da2d9e6efe1531a686f37c7253bfb79 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 16 Jan 2010 16:55:50 +1300 Subject: [PATCH] spawnpoint loading --- OpenRa.Game/Game.cs | 16 +++++++++++++++- OpenRa.Game/Orders/UnitOrders.cs | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/OpenRa.Game/Game.cs b/OpenRa.Game/Game.cs index dda909fde4..20849fefd1 100644 --- a/OpenRa.Game/Game.cs +++ b/OpenRa.Game/Game.cs @@ -9,6 +9,7 @@ using OpenRa.Game.Graphics; using OpenRa.Game.Orders; using OpenRa.Game.Support; using OpenRa.Game.Traits; +using IjwFramework.Types; namespace OpenRa.Game { @@ -50,8 +51,8 @@ namespace OpenRa.Game static HardwarePalette palette; static string mapName; public static Minimap minimap; - public static Session LobbyInfo = new Session(); + public static int2[] SpawnPoints; public static void ChangeMap(string mapName) { @@ -103,6 +104,12 @@ namespace OpenRa.Game oreFrequency = (int)(Rules.General.GrowthRate * 60 * 25); oreTicks = oreFrequency; + + SpawnPoints = Rules.AllRules.GetSection("Waypoints") + .Select(kv => Pair.New(int.Parse(kv.Key), new int2(int.Parse(kv.Value) % 128, int.Parse(kv.Value) / 128))) + .Where(a => a.First < 8) + .Select(a => a.Second) + .ToArray(); } public static void Initialize(string mapName, Renderer renderer, int2 clientSize, @@ -390,5 +397,12 @@ namespace OpenRa.Game "Order lag is now {0} frames.".F(LobbyInfo.GlobalSettings.OrderLatency)); } } + + public static void StartGame() + { + // todo: spawn starting units for everyone + + orderManager.StartGame(); + } } } diff --git a/OpenRa.Game/Orders/UnitOrders.cs b/OpenRa.Game/Orders/UnitOrders.cs index 57cb00b3dc..1a23ff7f8e 100644 --- a/OpenRa.Game/Orders/UnitOrders.cs +++ b/OpenRa.Game/Orders/UnitOrders.cs @@ -52,7 +52,7 @@ namespace OpenRa.Game.Orders case "StartGame": { Game.chat.AddLine(Color.White, "Server", "The game has started."); - Game.orderManager.StartGame(); + Game.StartGame(); break; } case "SyncInfo":