mirror of
https://github.com/aelurum/AssetStudio.git
synced 2026-11-14 11:18:47 -05:00
[GUI] Fix sprite hashes when alpha mask is disabled
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user