From ce7f9e71c1c775b3f4db1603f0c7eab92ca6bdd8 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Tue, 16 May 2023 19:37:01 +0200 Subject: [PATCH] DefaultSpriteSequence: Avoid an extra allocation and LINQ when adding shadow frames --- OpenRA.Mods.Common/Graphics/DefaultSpriteSequence.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Graphics/DefaultSpriteSequence.cs b/OpenRA.Mods.Common/Graphics/DefaultSpriteSequence.cs index 0edc80411b..baa313e9fe 100644 --- a/OpenRA.Mods.Common/Graphics/DefaultSpriteSequence.cs +++ b/OpenRA.Mods.Common/Graphics/DefaultSpriteSequence.cs @@ -318,7 +318,12 @@ namespace OpenRA.Mods.Common.Graphics } if (shadowStart >= 0) - usedFrames.AddRange(usedFrames.ToList().Select(i => i + shadowStart - start)); + { + var shadowOffset = shadowStart - start; + var frameCount = usedFrames.Count; + for (var i = 0; i < frameCount; i++) + usedFrames.Add(usedFrames[i] + shadowOffset); + } return usedFrames; }