From a9b910511e90a288e439c33cafb34bf360e35b12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Mon, 1 Jan 2024 20:44:08 +0100 Subject: [PATCH] Fixed Folder preview - GFX image identifiers not shown --- CHANGELOG.md | 1 + .../src/com/jpexs/decompiler/flash/tags/Tag.java | 4 ++++ .../decompiler/flash/tags/base/CharacterTag.java | 8 ++++++++ .../flash/tags/gfx/DefineExternalGradient.java | 7 ++++++- .../flash/tags/gfx/DefineExternalImage2.java | 13 +++++++++---- .../decompiler/flash/tags/gfx/FontTextureInfo.java | 7 ++++++- .../decompiler/flash/gui/FolderPreviewPanel.java | 8 +++++--- 7 files changed, 39 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 593b37b29..047de48f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to this project will be documented in this file. - [#2149] FLA Export - compressed sound streams in some cases - [#2172] Wrong year in error log window (week year) - [#2174] Removing frames, removing also FrameLabels, StartSounds, SoundStreamBlocks +- Folder preview - GFX image identifiers not shown ## [20.1.0] - 2023-12-30 ### Added diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java index fb8a6f65b..220d4358d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/Tag.java @@ -761,4 +761,8 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { } return swf.getCharset(); } + + public String getUniqueId() { + return null; + } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/CharacterTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/CharacterTag.java index a365971f1..c5a730f93 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/CharacterTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/CharacterTag.java @@ -102,4 +102,12 @@ public abstract class CharacterTag extends Tag implements CharacterIdTag { } return (DefineScalingGridTag) swf.getCharacterIdTag(getCharacterId(), DefineScalingGridTag.ID); } + + @Override + public String getUniqueId() { + if (getCharacterId() == -1) { + return null; + } + return "" + getCharacterId(); + } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java index 3947931d8..17bee7f07 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalGradient.java @@ -89,9 +89,14 @@ public class DefineExternalGradient extends Tag { @Override public String toString() { - return tagName + " (g" + gradientId + ")"; + return tagName + " (" + getUniqueId() + ")"; } + @Override + public String getUniqueId() { + return "g" + gradientId; + } + @Override public void getTagInfo(TagInfo tagInfo) { super.getTagInfo(tagInfo); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java index a75c60d57..5e50e4b17 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineExternalImage2.java @@ -259,12 +259,17 @@ public class DefineExternalImage2 extends ImageTag { @Override public String toString() { - if (unknownID == 0) { - return super.toString(); - } - return tagName + " (i" + imageID + ")"; + return tagName + " (" + getUniqueId() + ")"; } + @Override + public String getUniqueId() { + if (unknownID == 0) { + return super.getUniqueId(); + } + return "i" + imageID; + } + @Override public void setCharacterId(int characterId) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java index 3a8f9f1f7..7dfe16f5d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/FontTextureInfo.java @@ -154,9 +154,14 @@ public class FontTextureInfo extends Tag { @Override public String toString() { - return tagName + " (ft" + textureID + ")"; + return tagName + " (" + getUniqueId() + ")"; } + @Override + public String getUniqueId() { + return "ft" + textureID; + } + @Override public void getTagInfo(TagInfo tagInfo) { super.getTagInfo(tagInfo); diff --git a/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java index 08b18ab8a..4da8bfa27 100644 --- a/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FolderPreviewPanel.java @@ -247,10 +247,12 @@ public class FolderPreviewPanel extends JPanel { String s; TreeItem treeItem = items.get(index); if (treeItem instanceof Tag) { + Tag t = (Tag) treeItem; + String uniqueId = t.getUniqueId(); s = ((Tag) treeItem).getTagName(); - if (treeItem instanceof CharacterTag) { - s = s + " (" + ((CharacterTag) treeItem).getCharacterId() + ")"; - } + if (uniqueId != null) { + s = s + " (" + uniqueId + ")"; + } } else { s = treeItem.toString(); }