From b31ad421f4c2354fac98893c2b1e847385b6286c Mon Sep 17 00:00:00 2001 From: VaDiM Date: Sat, 8 Aug 2026 11:54:32 +0300 Subject: [PATCH] [GUI] Fix sprite hashes when alpha mask is disabled --- AssetStudioCLI/ParallelExporter.cs | 2 +- AssetStudioGUI/ParallelExporter.cs | 4 ++-- AssetStudioUtility/SpriteConverter.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/AssetStudioCLI/ParallelExporter.cs b/AssetStudioCLI/ParallelExporter.cs index 9e9d0d9..6e1815f 100644 --- a/AssetStudioCLI/ParallelExporter.cs +++ b/AssetStudioCLI/ParallelExporter.cs @@ -86,7 +86,7 @@ namespace AssetStudioCLI var keepSpriteSize = CLIOptions.o_spriteCroppingMode.Value == SpriteCroppingMode.SpriteRect; var converter = new SpriteConverter((Sprite)item.Asset, keepSpriteSize); if (CLIOptions.o_filenameFormat.Value == FilenameFormat.AssetName_Hash) - item.Hash = converter.GetSpriteHash(); + item.Hash = converter.GetSpriteHash(maskMode: SpriteMaskMode.On); if (!TryExportFile(exportPath, item, $".{type}", out var exportFullPath)) return false; diff --git a/AssetStudioGUI/ParallelExporter.cs b/AssetStudioGUI/ParallelExporter.cs index ceb6f53..7b7f5f5 100644 --- a/AssetStudioGUI/ParallelExporter.cs +++ b/AssetStudioGUI/ParallelExporter.cs @@ -82,13 +82,13 @@ namespace AssetStudioGUI { debugLog = ""; var type = Properties.Settings.Default.convertType; + var spriteMaskMode = Properties.Settings.Default.exportSpriteWithMask ? SpriteMaskMode.On : SpriteMaskMode.Off; var converter = new SpriteConverter((Sprite)item.Asset, Properties.Settings.Default.keepSpriteSize); if (Properties.Settings.Default.filenameFormat == 3) //asset name@hash - item.Hash = converter.GetSpriteHash(); + item.Hash = converter.GetSpriteHash(maskMode: spriteMaskMode); if (!TryExportFile(exportPath, item, $".{type}", out var exportFullPath)) return false; - var spriteMaskMode = Properties.Settings.Default.exportSpriteWithMask ? SpriteMaskMode.On : SpriteMaskMode.Off; if (converter.TryConvertToImage(out var image, maskMode: spriteMaskMode)) { using (image) diff --git a/AssetStudioUtility/SpriteConverter.cs b/AssetStudioUtility/SpriteConverter.cs index 72791d9..79d5bcf 100644 --- a/AssetStudioUtility/SpriteConverter.cs +++ b/AssetStudioUtility/SpriteConverter.cs @@ -293,7 +293,7 @@ namespace AssetStudio } } - public ulong GetSpriteHash() + public ulong GetSpriteHash(SpriteMaskMode maskMode) { ulong spriteHash = 0; if (m_Texture2D == null) @@ -301,7 +301,7 @@ namespace AssetStudio spriteHash = m_Texture2D.GetImageDataHash(); - if (m_AlphaTexture2D != null) + if (maskMode != SpriteMaskMode.Off && m_AlphaTexture2D != null) { spriteHash ^= m_AlphaTexture2D.GetImageDataHash(); }