From 3e90adbf69537e5884073a91082d5b3e16ecafc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Mon, 8 Mar 2021 21:10:01 +0100 Subject: [PATCH] #1221 Separate icons for different actionscript objects (class/interface/frame/) --- CHANGELOG.md | 2 + graphics/scripticons16.xcf | Bin 0 -> 12179 bytes .../decompiler/flash/abc/ScriptPack.java | 11 ++++ .../flash/configuration/Configuration.java | 4 ++ .../jpexs/decompiler/flash/gui/MainPanel.java | 3 + .../decompiler/flash/gui/TreeNodeType.java | 9 +++ .../flash/gui/graphics/asbutton16.png | Bin 0 -> 6007 bytes .../flash/gui/graphics/asclass16.png | Bin 0 -> 6406 bytes .../flash/gui/graphics/asclip16.png | Bin 0 -> 6358 bytes .../flash/gui/graphics/asconst16.png | Bin 0 -> 6172 bytes .../flash/gui/graphics/asframe16.png | Bin 0 -> 6160 bytes .../flash/gui/graphics/asfunction16.png | Bin 0 -> 6278 bytes .../flash/gui/graphics/asinit16.png | Bin 0 -> 6019 bytes .../flash/gui/graphics/asinterface16.png | Bin 0 -> 6198 bytes .../decompiler/flash/gui/graphics/asvar16.png | Bin 0 -> 6258 bytes .../locales/AdvancedSettingsDialog.properties | 4 ++ .../AdvancedSettingsDialog_cs.properties | 14 +++- .../decompiler/flash/gui/tagtree/TagTree.java | 61 ++++++++++++++++++ .../flash/gui/tagtree/TagTreeModel.java | 1 + 19 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 graphics/scripticons16.xcf create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asbutton16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asclass16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asclip16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asconst16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asframe16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asfunction16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asinit16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asinterface16.png create mode 100644 src/com/jpexs/decompiler/flash/gui/graphics/asvar16.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c6e952ef..850c33cbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - [#1371] Go to character id (Ctrl+G in tag tree) - [#1156] FLA, SVG, Canvas Export - 9 slice scaling (DefineScalingGrid) - [#843] Compound assignments (like +=) decompilation and direct editation +- [#1221] Separate icons for different actionscript objects (class/interface/frame/) ### Changed - [#1471] Import script menuitem renamed to Import scripts. @@ -2094,6 +2095,7 @@ All notable changes to this project will be documented in this file. [#1371]: https://www.free-decompiler.com/flash/issues/1371 [#1156]: https://www.free-decompiler.com/flash/issues/1156 [#843]: https://www.free-decompiler.com/flash/issues/843 +[#1221]: https://www.free-decompiler.com/flash/issues/1221 [#1471]: https://www.free-decompiler.com/flash/issues/1471 [#1396]: https://www.free-decompiler.com/flash/issues/1396 [#1254]: https://www.free-decompiler.com/flash/issues/1254 diff --git a/graphics/scripticons16.xcf b/graphics/scripticons16.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d415b402f6b28e658c57e69b01954635055994b5 GIT binary patch literal 12179 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 literal 0 HcmV?d00001 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java index 514f642d5..f2fb15686 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java @@ -122,6 +122,17 @@ public class ScriptPack extends AS3ClassTreeItem { return packageName; } + public Trait getPublicTrait() { + for (int t : traitIndices) { + Multiname name = abc.script_info.get(scriptIndex).traits.traits.get(t).getName(abc); + Namespace ns = name.getNamespace(abc.constants); + if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) { + return abc.script_info.get(scriptIndex).traits.traits.get(t); + } + } + return null; + } + public String getPathScriptName() { String scriptName = ""; for (int t : traitIndices) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index e2246a2ef..80a067fb6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -693,6 +693,10 @@ public final class Configuration { @ConfigurationCategory("ui") public static ConfigurationItem displayAs3TraitsListAndConstantsPanel = null; + @ConfigurationDefaultBoolean(true) + @ConfigurationCategory("ui") + public static ConfigurationItem useAsTypeIcons = null; + private enum OSId { WINDOWS, OSX, UNIX } diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 85b21349f..28fddaacd 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -1264,6 +1264,9 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (nodeType == TreeNodeType.AS) { as12scripts.add(d); } + if (nodeType == TreeNodeType.AS_FRAME) { + as12scripts.add(d); + } if (nodeType == TreeNodeType.MOVIE) { movies.add((Tag) d); } diff --git a/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java b/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java index 57db0df21..277704657 100644 --- a/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java +++ b/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java @@ -32,6 +32,15 @@ public enum TreeNodeType { SPRITE, BUTTON, AS, + AS_CLASS, + AS_INTERFACE, + AS_FRAME, + AS_FUNCTION, + AS_VAR, + AS_CONST, + AS_BUTTON, + AS_CLIP, + AS_INIT, PACKAGE, FRAME, SHOW_FRAME, diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/asbutton16.png b/src/com/jpexs/decompiler/flash/gui/graphics/asbutton16.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf6c6b66fc5ae33e3ac39fb4222d7dea935a46a GIT binary patch literal 6007 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 literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/asclass16.png b/src/com/jpexs/decompiler/flash/gui/graphics/asclass16.png new file mode 100644 index 0000000000000000000000000000000000000000..a6808fd94a1612ebd4f4e630804d187876f983f6 GIT binary patch literal 6406 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 rt9g> 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 YxCNu<*YN!D$PuDgE}qVZ9fM;34Q*IhJpcdz literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/asfunction16.png b/src/com/jpexs/decompiler/flash/gui/graphics/asfunction16.png new file mode 100644 index 0000000000000000000000000000000000000000..669c82331d982eefcc17a0d370c0037e1d234fef GIT binary patch literal 6278 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 literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/asinit16.png b/src/com/jpexs/decompiler/flash/gui/graphics/asinit16.png new file mode 100644 index 0000000000000000000000000000000000000000..a15f29e5ff7ced1a447b30c1f345726a4a62d2fd GIT binary patch literal 6019 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 literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/asinterface16.png b/src/com/jpexs/decompiler/flash/gui/graphics/asinterface16.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbfd52e662efbb8fba920552c66b4fa201c4b1a GIT binary patch literal 6198 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 SYH(;1VN54a$6|-z)PDe^ql@qW literal 0 HcmV?d00001 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties index 69e65b377..11649929b 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties @@ -516,3 +516,7 @@ config.description.displayAs3PCodeDocsPanel = Show panel with documentation of i config.name.displayAs3TraitsListAndConstantsPanel = Show AS3 traits list and constants panel config.description.displayAs3TraitsListAndConstantsPanel = Show panel with list of traits and constants under the tag tree for AS3 + +config.name.useAsTypeIcons = Use script icons based on item type +config.description.useAsTypeIcons = Use different icons for different script types (class/interface/frame/...) + diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties index 2639de861..be645ed9c 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties @@ -498,4 +498,16 @@ config.name.checkForModifications = Kontrolovat zm\u011bny soubor\u016f mimo FFD config.description.checkForModifications = Kontrolovat zm\u011bny soubor\u016f jin\u00fdmi aplikacemi a pt\u00e1t se na nov\u00e9 na\u010dten\u00ed config.name.warning.initializers = Varovat p\u0159i AS3 slot/const editaci o inicializ\u00e1torech -config.description.warning.initializers = Zobrazovat varov\u00e1n\u00ed p\u0159i editaci AS3 slot/const o inicializ\u00e1torech \ No newline at end of file +config.description.warning.initializers = Zobrazovat varov\u00e1n\u00ed p\u0159i editaci AS3 slot/const o inicializ\u00e1torech + +config.name.parametersPanelInSearchResults = Zobrazit panel s parametry ve v\u00fdsledc\u00edch vyhled\u00e1v\u00e1n\u00ed +config.description.parametersPanelInSearchResults = Zobraz\u00ed panel s parametry jako hledan\u00fd text / ignorovat velikost / regexp v okn\u011b v\u00fdsledk\u016f hled\u00e1n\u00ed + +config.name.displayAs3PCodeDocsPanel = Zobrazit panel s dokumentac\u00ed v AS3 P-k\u00f3du +config.description.displayAs3PCodeDocsPanel = Zobraz\u00ed panel s dokumentac\u00ed instrukc\u00ed a struktury k\u00f3du p\u0159i editaci a zobrazen\u00ed AS3 P-k\u00f3du + +config.name.displayAs3TraitsListAndConstantsPanel = Zobrazit panel se seznamem AS3 vlastnost\u00ed a konstant +config.description.displayAs3TraitsListAndConstantsPanel = Zobraz\u00ed panel se seznamem AS3 vlastnost\u00ed a konstant pod stromem tag\u016f. + +config.name.useAsTypeIcons = Pou\u017e\u00edt ikony skript\u016f na z\u00e1klad\u011b typu polo\u017eky +config.description.useAsTypeIcons = Pou\u017eije r\u016fzn\u00e9 ikony pro r\u016fzn\u00e9 typy skript\u016f (t\u0159\u00edda/interface/frame/...) \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java index ac7acc1c7..e405cd957 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java @@ -20,6 +20,12 @@ import com.jpexs.decompiler.flash.SWC; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.ZippedSWFBundle; import com.jpexs.decompiler.flash.abc.ScriptPack; +import com.jpexs.decompiler.flash.abc.types.traits.Trait; +import com.jpexs.decompiler.flash.abc.types.traits.TraitClass; +import com.jpexs.decompiler.flash.abc.types.traits.TraitFunction; +import com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter; +import com.jpexs.decompiler.flash.abc.types.traits.TraitSlotConst; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.MainPanel; import com.jpexs.decompiler.flash.gui.TreeNodeType; import com.jpexs.decompiler.flash.gui.View; @@ -114,6 +120,8 @@ import com.jpexs.decompiler.flash.treeitems.FolderItem; import com.jpexs.decompiler.flash.treeitems.HeaderItem; import com.jpexs.decompiler.flash.treeitems.SWFList; import com.jpexs.decompiler.flash.treeitems.TreeItem; +import com.jpexs.decompiler.flash.types.BUTTONCONDACTION; +import com.jpexs.decompiler.flash.types.CLIPACTIONRECORD; import java.awt.Color; import java.awt.Component; import java.awt.Font; @@ -324,11 +332,61 @@ public class TagTree extends JTree { return TreeNodeType.BINARY_DATA; } + if (Configuration.useAsTypeIcons.get()) { + if (t instanceof DoInitActionTag) { + DoInitActionTag doInit = (DoInitActionTag) t; + if (doInit.getSwf().getExportName(doInit.spriteId) != null) { + return TreeNodeType.AS_CLASS; + } + return TreeNodeType.AS_INIT; + } + + if (t instanceof CLIPACTIONRECORD) { + return TreeNodeType.AS_CLIP; + } + + if (t instanceof BUTTONCONDACTION) { + return TreeNodeType.AS_BUTTON; + } + + if (t instanceof DoActionTag) { + return TreeNodeType.AS_FRAME; + } + } + if (t instanceof ASMSource) { return TreeNodeType.AS; } if (t instanceof ScriptPack) { + if (Configuration.useAsTypeIcons.get()) { + ScriptPack pack = (ScriptPack) t; + Trait trait = pack.getPublicTrait(); + if (trait == null) { + return TreeNodeType.AS; + } + if (trait instanceof TraitFunction) { + return TreeNodeType.AS_FUNCTION; + } + if (trait instanceof TraitMethodGetterSetter) { + return TreeNodeType.AS_FUNCTION; + } + if (trait instanceof TraitSlotConst) { + TraitSlotConst traitSlotConst = (TraitSlotConst) trait; + if (traitSlotConst.isConst()) { + return TreeNodeType.AS_CONST; + } else { + return TreeNodeType.AS_VAR; + } + } + if (trait instanceof TraitClass) { + TraitClass traitClass = (TraitClass) trait; + if (pack.abc.instance_info.get(traitClass.class_info).isInterface()) { + return TreeNodeType.AS_INTERFACE; + } + return TreeNodeType.AS_CLASS; + } + } return TreeNodeType.AS; } @@ -585,6 +643,9 @@ public class TagTree extends JTree { if (nodeType == TreeNodeType.AS) { ret.add(d); } + if (nodeType == TreeNodeType.AS_FRAME) { + ret.add(d); + } if (nodeType == TreeNodeType.MOVIE) { ret.add(d); } diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java index e5443523d..0f724b5d0 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTreeModel.java @@ -231,6 +231,7 @@ public class TagTreeModel implements TreeModel { binaryData.add(t); break; case AS: + case AS_FRAME: break; default: if (t.getId() != ShowFrameTag.ID && !ShowFrameTag.isNestedTagType(t.getId())) {