From b0fed3be91068a92c37b690ac44c30d7c9fad5b9 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 16 Jan 2010 11:22:01 +1300 Subject: [PATCH] order latency via lobbyinfo --- OpenRA.Server/Server.cs | 4 ++-- OpenRa.Game/Game.cs | 11 ++++++++++- OpenRa.Game/Orders/UnitOrders.cs | 14 -------------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/OpenRA.Server/Server.cs b/OpenRA.Server/Server.cs index 44c263fa90..11a7e06f18 100644 --- a/OpenRA.Server/Server.cs +++ b/OpenRA.Server/Server.cs @@ -216,8 +216,8 @@ namespace OpenRA.Server Console.WriteLine("Order lag is now {0} frames.", lag); - DispatchOrders(null, 0, - new ServerOrder(0, "SetLag", lag.ToString()).Serialize()); + lobbyInfo.GlobalSettings.OrderLatency = lag; + SyncLobbyInfo(); return true; }}, { "race", diff --git a/OpenRa.Game/Game.cs b/OpenRa.Game/Game.cs index 780461466d..dda909fde4 100644 --- a/OpenRa.Game/Game.cs +++ b/OpenRa.Game/Game.cs @@ -377,9 +377,18 @@ namespace OpenRa.Game if (mapName != LobbyInfo.GlobalSettings.Map) { - chat.AddLine(Color.White, "Debug", "Map change {0} -> {1}".F(mapName, session.GlobalSettings.Map)); + chat.AddLine(Color.White, "Debug", + "Map change {0} -> {1}".F(mapName, session.GlobalSettings.Map)); ChangeMap(LobbyInfo.GlobalSettings.Map); } + + if (Game.orderManager.FramesAhead != LobbyInfo.GlobalSettings.OrderLatency + && !Game.orderManager.GameStarted) + { + Game.orderManager.FramesAhead = LobbyInfo.GlobalSettings.OrderLatency; + Game.chat.AddLine(Color.White, "Server", + "Order lag is now {0} frames.".F(LobbyInfo.GlobalSettings.OrderLatency)); + } } } } diff --git a/OpenRa.Game/Orders/UnitOrders.cs b/OpenRa.Game/Orders/UnitOrders.cs index c669259074..57cb00b3dc 100644 --- a/OpenRa.Game/Orders/UnitOrders.cs +++ b/OpenRa.Game/Orders/UnitOrders.cs @@ -49,19 +49,6 @@ namespace OpenRa.Game.Orders Game.chat.AddLine(order.Player, "is now YOU."); break; } - case "SetLag": - { - int lag = int.Parse(order.TargetString); - if (Game.orderManager.GameStarted) - { - Game.chat.AddLine(Color.White, "Server", "Failed to change lag to {0} frames".F(lag)); - return; - } - - Game.orderManager.FramesAhead = lag; - Game.chat.AddLine(Color.White, "Server", "Order lag is now {0} frames.".F(lag)); - break; - } case "StartGame": { Game.chat.AddLine(Color.White, "Server", "The game has started."); @@ -70,7 +57,6 @@ namespace OpenRa.Game.Orders } case "SyncInfo": { - // Game.chat.AddLine(Color.White, "Server", "Synchronizing lobby info..."); Game.SyncLobbyInfo(order.TargetString); break; }