Only update changed files when saving maps.

This commit is contained in:
Paul Chote
2023-01-25 21:19:38 +00:00
committed by Matthias Mailänder
parent e1b78c4821
commit 8be3ac863b
2 changed files with 21 additions and 5 deletions

View File

@@ -305,7 +305,14 @@ namespace OpenRA.Mods.Common.UpdateRules
public static void Save(this YamlFileSet files)
{
foreach (var file in files)
file.Item1?.Update(file.Item2, Encoding.UTF8.GetBytes(file.Item3.WriteToString()));
{
if (file.Item1 == null)
continue;
var textData = Encoding.UTF8.GetBytes(file.Item3.WriteToString());
if (!Enumerable.SequenceEqual(textData, file.Item1.GetStream(file.Item2).ReadAllBytes()))
file.Item1.Update(file.Item2, textData);
}
}
/// <summary>Checks if node is a removal (has '-' prefix)</summary>