diff --git a/AssetStudio/Classes/Sprite.cs b/AssetStudio/Classes/Sprite.cs index 8083908..e03890d 100644 --- a/AssetStudio/Classes/Sprite.cs +++ b/AssetStudio/Classes/Sprite.cs @@ -32,6 +32,12 @@ namespace AssetStudio kSPMRectangle }; + public enum SpriteMeshType + { + kSpriteMeshTypeFullRect, + kSpriteMeshTypeTight + }; + public class SpriteSettings { public uint settingsRaw; @@ -39,6 +45,7 @@ namespace AssetStudio public uint packed; public SpritePackingMode packingMode; public SpritePackingRotation packingRotation; + public SpriteMeshType meshType; public SpriteSettings(BinaryReader reader) { @@ -47,8 +54,7 @@ namespace AssetStudio packed = settingsRaw & 1; //1 packingMode = (SpritePackingMode)((settingsRaw >> 1) & 1); //1 packingRotation = (SpritePackingRotation)((settingsRaw >> 2) & 0xf); //4 - - //meshType = (settingsRaw >> 6) & 1; //1 + meshType = (SpriteMeshType)((settingsRaw >> 6) & 1); //1 //reserved } } diff --git a/AssetStudioGUI/AssetStudioGUIForm.cs b/AssetStudioGUI/AssetStudioGUIForm.cs index f45e54f..58b35b8 100644 --- a/AssetStudioGUI/AssetStudioGUIForm.cs +++ b/AssetStudioGUI/AssetStudioGUIForm.cs @@ -734,8 +734,7 @@ namespace AssetStudioGUI private void PreviewTexture2D(AssetItem assetItem, Texture2D m_Texture2D) { - var converter = new Texture2DConverter(m_Texture2D); - var bitmap = converter.ConvertToBitmap(true); + var bitmap = m_Texture2D.ConvertToBitmap(true); if (bitmap != null) { assetItem.InfoText = $"Width: {m_Texture2D.m_Width}\nHeight: {m_Texture2D.m_Height}\nFormat: {m_Texture2D.m_TextureFormat}"; diff --git a/AssetStudioUtility/ModelConverter.cs b/AssetStudioUtility/ModelConverter.cs index 337a6e7..5e2b321 100644 --- a/AssetStudioUtility/ModelConverter.cs +++ b/AssetStudioUtility/ModelConverter.cs @@ -717,7 +717,7 @@ namespace AssetStudio return iMat; } - private void ConvertTexture2D(Texture2D tex2D, string name) + private void ConvertTexture2D(Texture2D m_Texture2D, string name) { var iTex = ImportedHelpers.FindTexture(name, TextureList); if (iTex != null) @@ -725,7 +725,7 @@ namespace AssetStudio return; } - var bitmap = new Texture2DConverter(tex2D).ConvertToBitmap(true); + var bitmap = m_Texture2D.ConvertToBitmap(true); if (bitmap != null) { using (var stream = new MemoryStream()) diff --git a/AssetStudioUtility/SpriteHelper.cs b/AssetStudioUtility/SpriteHelper.cs index 599609f..36ba2a4 100644 --- a/AssetStudioUtility/SpriteHelper.cs +++ b/AssetStudioUtility/SpriteHelper.cs @@ -30,8 +30,7 @@ namespace AssetStudio private static Bitmap CutImage(Texture2D m_Texture2D, Sprite m_Sprite, RectangleF textureRect, Vector2 textureRectOffset, SpriteSettings settingsRaw) { - var texture2D = new Texture2DConverter(m_Texture2D); - var originalImage = texture2D.ConvertToBitmap(false); + var originalImage = m_Texture2D.ConvertToBitmap(false); if (originalImage != null) { using (originalImage) @@ -63,6 +62,7 @@ namespace AssetStudio break; } } + //Tight if (settingsRaw.packingMode == SpritePackingMode.kSPMTight) {