diff --git a/Dalamud/Interface/UldWrapper.cs b/Dalamud/Interface/UldWrapper.cs index dd8986bed..4b0c9cf4f 100644 --- a/Dalamud/Interface/UldWrapper.cs +++ b/Dalamud/Interface/UldWrapper.cs @@ -4,6 +4,7 @@ using System.Linq; using Dalamud.Data; using Dalamud.Interface.Internal; +using Dalamud.Plugin.Services; using Dalamud.Utility; using Lumina.Data.Files; using Lumina.Data.Parsing.Uld; @@ -14,16 +15,17 @@ namespace Dalamud.Interface; public class UldWrapper : IDisposable { private readonly DataManager data; - private readonly UiBuilder uiBuilder; + private readonly TextureManager textureManager; private readonly Dictionary textures = new(); /// Initializes a new instance of the class, wrapping an ULD file. /// The UiBuilder used to load textures. /// The requested ULD file. - internal UldWrapper(UiBuilder uiBuilder, string uldPath) + internal UldWrapper(UiBuilder? uiBuilder, string uldPath) { - this.uiBuilder = uiBuilder; + _ = uiBuilder; this.data = Service.Get(); + this.textureManager = Service.Get(); this.Uld = this.data.GetFile(uldPath); } @@ -123,7 +125,7 @@ public class UldWrapper : IDisposable inputSlice.CopyTo(outputSlice); } - return this.uiBuilder.LoadImageRaw(imageData, part.W, part.H, 4); + return this.textureManager.GetFromRaw(RawImageSpecification.Rgba32(part.W, part.H), imageData); } private (uint Id, int Width, int Height, bool HD, byte[] RgbaData)? GetTexture(string texturePath)