From 40a0abc657e19a0029a834c992c332c3d7bbf9d1 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Thu, 25 Mar 2021 19:28:38 +1000 Subject: [PATCH] Replace Dictionary with List of ValueTuple in ArtManager it was only used as a List of KeyValuePair anyway I assume this was written before tuples --- src/BizHawk.Bizware.BizwareGL/ArtManager.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/BizHawk.Bizware.BizwareGL/ArtManager.cs b/src/BizHawk.Bizware.BizwareGL/ArtManager.cs index a247a38955..40e7661c5c 100644 --- a/src/BizHawk.Bizware.BizwareGL/ArtManager.cs +++ b/src/BizHawk.Bizware.BizwareGL/ArtManager.cs @@ -53,7 +53,7 @@ namespace BizHawk.Bizware.BizwareGL AssertIsOpen(true); Art a = new Art(this); - ArtLooseTextureAssociation[a] = tex; + ArtLooseTextureAssociation.Add((a, tex)); ManagedArts.Add(a); return a; @@ -79,7 +79,9 @@ namespace BizHawk.Bizware.BizwareGL // add 2 extra pixels for padding on all sides var atlasItems = new List(); foreach (var kvp in ArtLooseTextureAssociation) - atlasItems.Add(new TexAtlas.RectItem(kvp.Value.Width+2, kvp.Value.Height+2, kvp)); + { + atlasItems.Add(new TexAtlas.RectItem(kvp.Bitmap.Width + 2, kvp.Bitmap.Height + 2, kvp)); + } var results = TexAtlas.PackAtlas(atlasItems); // this isn't supported yet: @@ -93,10 +95,7 @@ namespace BizHawk.Bizware.BizwareGL for (int i = 0; i < atlasItems.Count; i++) { var item = results[0].Items[i]; - var artAndBitmap = (KeyValuePair)item.Item; - var art = artAndBitmap.Key; - var bitmap = artAndBitmap.Value; - + var (art, bitmap) = ((Art, BitmapBuffer)) item.Item; int w = bitmap.Width; int h = bitmap.Height; int dx = item.X + 1; @@ -123,8 +122,7 @@ namespace BizHawk.Bizware.BizwareGL //if we're closed forever, then forget all the original bitmaps if (forever) { - foreach (var kvp in ArtLooseTextureAssociation) - kvp.Value.Dispose(); + foreach (var tuple in ArtLooseTextureAssociation) tuple.Bitmap.Dispose(); ArtLooseTextureAssociation.Clear(); } @@ -150,7 +148,7 @@ namespace BizHawk.Bizware.BizwareGL /// /// This is used to remember the original bitmap sources for art files. Once the ArtManager is closed forever, this will be purged /// - private readonly Dictionary ArtLooseTextureAssociation = new Dictionary(); + private readonly List<(Art Art, BitmapBuffer Bitmap)> ArtLooseTextureAssociation = new(); /// /// Physical texture resources, which exist after this ArtManager has been closed