From f06aaa3cb8be1d4dc035dd5bbd8501eaa0b06a0b Mon Sep 17 00:00:00 2001 From: Sebastina Date: Sun, 13 Aug 2023 09:27:52 -0500 Subject: [PATCH] Attempt to fix some texture errors. --- Penumbra/Import/Textures/CombinedTexture.cs | 25 +++++++++++++-------- Penumbra/Import/Textures/Texture.cs | 8 +++++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/Penumbra/Import/Textures/CombinedTexture.cs b/Penumbra/Import/Textures/CombinedTexture.cs index 0ad9bc247..4ae55a989 100644 --- a/Penumbra/Import/Textures/CombinedTexture.cs +++ b/Penumbra/Import/Textures/CombinedTexture.cs @@ -1,6 +1,13 @@ using System; +using System.Drawing; +using System.Drawing.Imaging; using System.Numerics; using System.Threading.Tasks; +using FFXIVLooseTextureCompiler.ImageProcessing; +using SixLabors.ImageSharp; +using SixLabors.ImageSharp.Formats.Png; +using SixLabors.ImageSharp.PixelFormats; +using Image = SixLabors.ImageSharp.Image; namespace Penumbra.Import.Textures; @@ -147,15 +154,15 @@ public void ImageToEyeMaps(string path, string textureCompilerDLC) try { - var image = Image.LoadPixelData(_current.RGBAPixels, _current.TextureWrap!.Width, + var image = Image.LoadPixelData(_current.RgbaPixels, _current.TextureWrap!.Width, _current.TextureWrap!.Height); image.Save(path, new PngEncoder() { CompressionLevel = PngCompressionLevel.NoCompression }); ImageManipulation.ConvertToEyeMaps(path, textureCompilerDLC); - SaveException = null; + //SaveException = null; } catch (Exception e) { - SaveException = e; + //SaveException = e; } } internal void EyeMultiToGrayscale(string path) @@ -167,16 +174,16 @@ internal void EyeMultiToGrayscale(string path) try { - var image = Image.LoadPixelData(_current.RGBAPixels, _current.TextureWrap!.Width, + var image = Image.LoadPixelData(_current.RgbaPixels, _current.TextureWrap!.Width, _current.TextureWrap!.Height); image.Save(path, new PngEncoder() { CompressionLevel = PngCompressionLevel.NoCompression }); Bitmap multi = TexLoader.ResolveBitmap(path); ImageManipulation.ExtractRed(multi).Save(ImageManipulation.AddSuffix(path, "_grayscale")); - SaveException = null; + //SaveException = null; } catch (Exception e) { - SaveException = e; + // SaveException = e; } } @@ -189,16 +196,16 @@ public void AtramentumLuminisDiffuseToGlowMap(string path) try { - var image = Image.LoadPixelData(_current.RGBAPixels, _current.TextureWrap!.Width, + var image = Image.LoadPixelData(_current.RgbaPixels, _current.TextureWrap!.Width, _current.TextureWrap!.Height); image.Save(path, new PngEncoder() { CompressionLevel = PngCompressionLevel.NoCompression }); Bitmap diffuse = TexLoader.ResolveBitmap(path); AtramentumLuminisGlow.ExtractGlowMapFromDiffuse(diffuse).Save(path, ImageFormat.Png); - SaveException = null; + // SaveException = null; } catch (Exception e) { - SaveException = e; + // SaveException = e; } } } diff --git a/Penumbra/Import/Textures/Texture.cs b/Penumbra/Import/Textures/Texture.cs index aefe72b47..e9280098f 100644 --- a/Penumbra/Import/Textures/Texture.cs +++ b/Penumbra/Import/Textures/Texture.cs @@ -11,6 +11,14 @@ public enum TextureType Tex, Png, Bitmap, + AsIsTex, + AsIsDds, + RgbaTex, + RgbaDds, + Bc3Tex, + Bc3Dds, + Bc7Tex, + Bc7Dds, } public sealed class Texture : IDisposable