Fix singleplayer game latency.
This commit is contained in:
@@ -408,7 +408,19 @@ namespace OpenRA.Server
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@@ -695,7 +695,8 @@ namespace OpenRA.Mods.Common.Server
|
||||
|
||||
server.LobbyInfo.GlobalSettings.GameSpeedType = s;
|
||||
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.SendMessage("{0} changed Game Speed to {1}.".F(client.Name, speed.Name));
|
||||
|
||||
Reference in New Issue
Block a user