Add map update tracking to MapCache and fix crash when restarting a game

This commit is contained in:
Gustas
2022-05-08 22:53:38 +03:00
committed by abcdefg30
parent a1a50d6c98
commit 6bcf194874
2 changed files with 32 additions and 1 deletions

View File

@@ -235,6 +235,17 @@ namespace OpenRA
// Reseed the RNG so this isn't an exact repeat of the last game
lobbyInfo.GlobalSettings.RandomSeed = CosmeticRandom.Next();
// Note: the map may have been changed on disk outside the game, changing its UID.
// Use the updated UID if we have tracked the update instead of failing.
lobbyInfo.GlobalSettings.Map = ModData.MapCache.GetUpdatedMap(lobbyInfo.GlobalSettings.Map);
if (lobbyInfo.GlobalSettings.Map == null)
{
Disconnect();
Ui.ResetAll();
LoadShellMap();
return;
}
var orders = new[]
{
Order.Command($"sync_lobby {lobbyInfo.Serialize()}"),