From 8f4c3f5e7dfdd15b5c20f67c64d898b882aa8e7a Mon Sep 17 00:00:00 2001 From: poddav Date: Fri, 29 Apr 2022 13:07:51 +0400 Subject: [PATCH] (GDT): tweaked baseline image lookup. --- Legacy/Pochette/ImageGDT.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Legacy/Pochette/ImageGDT.cs b/Legacy/Pochette/ImageGDT.cs index f6533920..8d98f7d4 100644 --- a/Legacy/Pochette/ImageGDT.cs +++ b/Legacy/Pochette/ImageGDT.cs @@ -27,6 +27,7 @@ using System; using System.ComponentModel.Composition; using System.IO; using System.Windows; +using System.Windows.Media; using System.Windows.Media.Imaging; namespace GameRes.Formats.Pochette @@ -93,15 +94,21 @@ namespace GameRes.Formats.Pochette BitmapSource BlendBaseLine (BitmapSource overlay, GdtMetaData meta) { - string base_name = VFS.ChangeFileName (meta.FileName, meta.BaseLine+".gdt"); + string base_name = VFS.ChangeFileName (meta.FileName, meta.BaseLine); if (!VFS.FileExists (base_name)) - return overlay; + { + base_name += ".gdt"; + if (!VFS.FileExists (base_name)) + return overlay; + } using (var base_file = VFS.OpenBinaryStream (base_name)) { var base_info = ReadMetaData (base_file) as GdtMetaData; if (null == base_info) return overlay; var base_image = ReadBitmapSource (base_file, base_info); + if (base_image.Format.BitsPerPixel < 24) + base_image = new FormatConvertedBitmap (base_image, PixelFormats.Bgr32, null, 0); var canvas = new WriteableBitmap (base_image); int canvas_bpp = canvas.Format.BitsPerPixel; if (canvas_bpp != overlay.Format.BitsPerPixel)