Fix singleplayer game latency.
This commit is contained in:
@@ -408,7 +408,19 @@ namespace OpenRA.Server
|
|||||||
|
|
||||||
void SetOrderLag()
|
void SetOrderLag()
|
||||||
{
|
{
|
||||||
LobbyInfo.GlobalSettings.OrderLatency = LobbyInfo.IsSinglePlayer ? 1 : 3;
|
int latency = 1;
|
||||||
|
if (!LobbyInfo.IsSinglePlayer)
|
||||||
|
{
|
||||||
|
var gameSpeeds = Game.ModData.Manifest.Get<GameSpeeds>();
|
||||||
|
GameSpeed speed;
|
||||||
|
if (gameSpeeds.Speeds.TryGetValue(LobbyInfo.GlobalSettings.GameSpeedType, out speed))
|
||||||
|
latency = speed.OrderLatency;
|
||||||
|
else
|
||||||
|
latency = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
LobbyInfo.GlobalSettings.OrderLatency = latency;
|
||||||
|
|
||||||
SyncLobbyGlobalSettings();
|
SyncLobbyGlobalSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -695,7 +695,8 @@ namespace OpenRA.Mods.Common.Server
|
|||||||
|
|
||||||
server.LobbyInfo.GlobalSettings.GameSpeedType = s;
|
server.LobbyInfo.GlobalSettings.GameSpeedType = s;
|
||||||
server.LobbyInfo.GlobalSettings.Timestep = speed.Timestep;
|
server.LobbyInfo.GlobalSettings.Timestep = speed.Timestep;
|
||||||
server.LobbyInfo.GlobalSettings.OrderLatency = speed.OrderLatency;
|
server.LobbyInfo.GlobalSettings.OrderLatency =
|
||||||
|
server.LobbyInfo.IsSinglePlayer ? 1 : speed.OrderLatency;
|
||||||
|
|
||||||
server.SyncLobbyInfo();
|
server.SyncLobbyInfo();
|
||||||
server.SendMessage("{0} changed Game Speed to {1}.".F(client.Name, speed.Name));
|
server.SendMessage("{0} changed Game Speed to {1}.".F(client.Name, speed.Name));
|
||||||
|
|||||||
Reference in New Issue
Block a user