From 13f8f797b428575c08c8ff7903baa5bb1cc74cee Mon Sep 17 00:00:00 2001 From: Gustas Date: Sat, 6 Apr 2024 11:12:51 +0300 Subject: [PATCH] Add a more helpful crash --- OpenRA.Game/Graphics/SpriteCache.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Graphics/SpriteCache.cs b/OpenRA.Game/Graphics/SpriteCache.cs index 24e5f8cf77b4..463494de8934 100644 --- a/OpenRA.Game/Graphics/SpriteCache.cs +++ b/OpenRA.Game/Graphics/SpriteCache.cs @@ -93,9 +93,16 @@ public void LoadReservations(ModData modData) { var resolved = new Sprite[loadedFrames.Length]; resolvedSprites[token] = resolved; - var frames = rs.Frames ?? Enumerable.Range(0, loadedFrames.Length); + if (rs.Frames != null) + { + var frames = loadedFrames.Length; + foreach (var i in rs.Frames) + if (i >= frames) + throw new InvalidOperationException($"{rs.Location}: {filename} does not contain frames: " + + $"{string.Join(',', rs.Frames.Where(f => f >= frames))}"); + } - foreach (var i in frames) + foreach (var i in rs.Frames ?? Enumerable.Range(0, loadedFrames.Length)) { var frame = loadedFrames[i]; if (rs.AdjustFrame != null)