diff --git a/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java b/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java index 99bd166f6..a2e3d666e 100644 --- a/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java +++ b/src/com/jpexs/decompiler/flash/gui/TreeNodeType.java @@ -89,5 +89,14 @@ public enum TreeNodeType { SYMBOL_CLASS, SCENE_AND_FRAME_LABEL_DATA, DEBUG_ID, - PLACE_IMAGE_PRIVATE + PLACE_IMAGE_PRIVATE, + NAME_CHARACTER, + TEXT_FORMAT, + MOVIE_REF, + CHARACTER_SET, + FONT_REF, + FREE_CHARACTER, + SYNC_FRAME, + GEN_COMMAND, + SERIAL_NUMBER } diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java index 31eba14a1..640e0914c 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java @@ -34,6 +34,7 @@ import com.jpexs.decompiler.flash.gui.TreeNodeType; import com.jpexs.decompiler.flash.gui.View; import com.jpexs.decompiler.flash.gui.tagtree.TagTree; import com.jpexs.decompiler.flash.tags.CSMSettingsTag; +import com.jpexs.decompiler.flash.tags.CharacterSetTag; import com.jpexs.decompiler.flash.tags.DebugIDTag; import com.jpexs.decompiler.flash.tags.DefineBinaryDataTag; import com.jpexs.decompiler.flash.tags.DefineBitsJPEG2Tag; @@ -65,8 +66,10 @@ import com.jpexs.decompiler.flash.tags.DefineShapeTag; import com.jpexs.decompiler.flash.tags.DefineSoundTag; import com.jpexs.decompiler.flash.tags.DefineSpriteTag; import com.jpexs.decompiler.flash.tags.DefineText2Tag; +import com.jpexs.decompiler.flash.tags.DefineTextFormatTag; import com.jpexs.decompiler.flash.tags.DefineTextTag; import com.jpexs.decompiler.flash.tags.DefineVideoStreamTag; +import com.jpexs.decompiler.flash.tags.DefineVideoTag; import com.jpexs.decompiler.flash.tags.DoABC2Tag; import com.jpexs.decompiler.flash.tags.DoABCTag; import com.jpexs.decompiler.flash.tags.DoActionTag; @@ -76,11 +79,15 @@ import com.jpexs.decompiler.flash.tags.EnableDebuggerTag; import com.jpexs.decompiler.flash.tags.EnableTelemetryTag; import com.jpexs.decompiler.flash.tags.ExportAssetsTag; import com.jpexs.decompiler.flash.tags.FileAttributesTag; +import com.jpexs.decompiler.flash.tags.FontRefTag; import com.jpexs.decompiler.flash.tags.FrameLabelTag; +import com.jpexs.decompiler.flash.tags.FreeCharacterTag; +import com.jpexs.decompiler.flash.tags.GenCommandTag; import com.jpexs.decompiler.flash.tags.ImportAssets2Tag; import com.jpexs.decompiler.flash.tags.ImportAssetsTag; import com.jpexs.decompiler.flash.tags.JPEGTablesTag; import com.jpexs.decompiler.flash.tags.MetadataTag; +import com.jpexs.decompiler.flash.tags.NameCharacterTag; import com.jpexs.decompiler.flash.tags.PlaceImagePrivateTag; import com.jpexs.decompiler.flash.tags.PlaceObject2Tag; import com.jpexs.decompiler.flash.tags.PlaceObject3Tag; @@ -91,6 +98,7 @@ import com.jpexs.decompiler.flash.tags.ProtectTag; import com.jpexs.decompiler.flash.tags.RemoveObject2Tag; import com.jpexs.decompiler.flash.tags.RemoveObjectTag; import com.jpexs.decompiler.flash.tags.ScriptLimitsTag; +import com.jpexs.decompiler.flash.tags.SerialNumberTag; import com.jpexs.decompiler.flash.tags.SetBackgroundColorTag; import com.jpexs.decompiler.flash.tags.SetTabIndexTag; import com.jpexs.decompiler.flash.tags.ShowFrameTag; @@ -100,6 +108,7 @@ import com.jpexs.decompiler.flash.tags.SoundStreamHeadTag; import com.jpexs.decompiler.flash.tags.StartSound2Tag; import com.jpexs.decompiler.flash.tags.StartSoundTag; import com.jpexs.decompiler.flash.tags.SymbolClassTag; +import com.jpexs.decompiler.flash.tags.SyncFrameTag; import com.jpexs.decompiler.flash.tags.Tag; import com.jpexs.decompiler.flash.tags.VideoFrameTag; import com.jpexs.decompiler.flash.tags.base.ButtonTag; @@ -112,6 +121,7 @@ import com.jpexs.decompiler.flash.types.BUTTONRECORD; import com.jpexs.decompiler.flash.types.CLIPACTIONRECORD; import com.jpexs.decompiler.flash.types.CLIPACTIONS; import com.jpexs.decompiler.flash.types.HasSwfAndTag; +import com.jpexs.decompiler.flash.types.text.format.TextFormatRecord; import com.jpexs.helpers.ByteArrayRange; import com.jpexs.helpers.Helper; import com.jpexs.helpers.MemoryInputStream; @@ -284,7 +294,7 @@ public class DumpTree extends JTree { break; case FrameLabelTag.NAME: nodeType = TreeNodeType.FRAME_LABEL; - break; + break; case StartSoundTag.NAME: case StartSound2Tag.NAME: nodeType = TreeNodeType.START_SOUND; @@ -327,7 +337,35 @@ public class DumpTree extends JTree { break; case DebugIDTag.NAME: nodeType = TreeNodeType.DEBUG_ID; - break; + break; + case DefineVideoTag.NAME: + nodeType = TreeNodeType.MOVIE_REF; + break; + case FreeCharacterTag.NAME: + nodeType = TreeNodeType.FREE_CHARACTER; + break; + case SyncFrameTag.NAME: + nodeType = TreeNodeType.SYNC_FRAME; + break; + + case NameCharacterTag.NAME: + nodeType = TreeNodeType.NAME_CHARACTER; + break; + case DefineTextFormatTag.NAME: + nodeType = TreeNodeType.TEXT_FORMAT; + break; + case CharacterSetTag.NAME: + nodeType = TreeNodeType.CHARACTER_SET; + break; + case FontRefTag.NAME: + nodeType = TreeNodeType.FONT_REF; + break; + case GenCommandTag.NAME: + nodeType = TreeNodeType.GEN_COMMAND; + break; + case SerialNumberTag.NAME: + nodeType = TreeNodeType.SERIAL_NUMBER; + break; default: nodeType = TreeNodeType.OTHER_TAG; } diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/characterset16.png b/src/com/jpexs/decompiler/flash/gui/graphics/characterset16.png new file mode 100644 index 000000000..e7f076139 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/characterset16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/characterset32.png b/src/com/jpexs/decompiler/flash/gui/graphics/characterset32.png new file mode 100644 index 000000000..cff58cd0c Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/characterset32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/fontref16.png b/src/com/jpexs/decompiler/flash/gui/graphics/fontref16.png new file mode 100644 index 000000000..1c60ac265 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/fontref16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/fontref32.png b/src/com/jpexs/decompiler/flash/gui/graphics/fontref32.png new file mode 100644 index 000000000..7b861a206 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/fontref32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter16.png b/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter16.png new file mode 100644 index 000000000..f2eca21b7 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter32.png b/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter32.png new file mode 100644 index 000000000..bcef6b9a1 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/freecharacter32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/gencommand16.png b/src/com/jpexs/decompiler/flash/gui/graphics/gencommand16.png new file mode 100644 index 000000000..d3843f803 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/gencommand16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/gencommand32.png b/src/com/jpexs/decompiler/flash/gui/graphics/gencommand32.png new file mode 100644 index 000000000..325486835 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/gencommand32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/movieref16.png b/src/com/jpexs/decompiler/flash/gui/graphics/movieref16.png new file mode 100644 index 000000000..211bb4900 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/movieref16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/movieref32.png b/src/com/jpexs/decompiler/flash/gui/graphics/movieref32.png new file mode 100644 index 000000000..d2584b3df Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/movieref32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter16.png b/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter16.png new file mode 100644 index 000000000..cbcca1f0e Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter32.png b/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter32.png new file mode 100644 index 000000000..151460321 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/namecharacter32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber16.png b/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber16.png new file mode 100644 index 000000000..c9eab781d Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber32.png b/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber32.png new file mode 100644 index 000000000..54afa75f9 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/serialnumber32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/syncframe16.png b/src/com/jpexs/decompiler/flash/gui/graphics/syncframe16.png new file mode 100644 index 000000000..257cfee39 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/syncframe16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/syncframe32.png b/src/com/jpexs/decompiler/flash/gui/graphics/syncframe32.png new file mode 100644 index 000000000..fdf20e26c Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/syncframe32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/textformat16.png b/src/com/jpexs/decompiler/flash/gui/graphics/textformat16.png new file mode 100644 index 000000000..1a76df000 Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/textformat16.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/graphics/textformat32.png b/src/com/jpexs/decompiler/flash/gui/graphics/textformat32.png new file mode 100644 index 000000000..ab83a680e Binary files /dev/null and b/src/com/jpexs/decompiler/flash/gui/graphics/textformat32.png differ diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/AbstractTagTree.java b/src/com/jpexs/decompiler/flash/gui/tagtree/AbstractTagTree.java index 7dcf683b5..35c975bee 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/AbstractTagTree.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/AbstractTagTree.java @@ -35,6 +35,7 @@ import com.jpexs.decompiler.flash.gui.soleditor.Cookie; import com.jpexs.decompiler.flash.iggy.conversion.IggySwfBundle; import com.jpexs.decompiler.flash.tags.ABCContainerTag; import com.jpexs.decompiler.flash.tags.CSMSettingsTag; +import com.jpexs.decompiler.flash.tags.CharacterSetTag; import com.jpexs.decompiler.flash.tags.DebugIDTag; import com.jpexs.decompiler.flash.tags.DefineBinaryDataTag; import com.jpexs.decompiler.flash.tags.DefineButton2Tag; @@ -55,6 +56,7 @@ import com.jpexs.decompiler.flash.tags.DefineSoundTag; import com.jpexs.decompiler.flash.tags.DefineSpriteTag; import com.jpexs.decompiler.flash.tags.DefineTextFormatTag; import com.jpexs.decompiler.flash.tags.DefineVideoStreamTag; +import com.jpexs.decompiler.flash.tags.DefineVideoTag; import com.jpexs.decompiler.flash.tags.DoActionTag; import com.jpexs.decompiler.flash.tags.DoInitActionTag; import com.jpexs.decompiler.flash.tags.EnableDebugger2Tag; @@ -63,6 +65,7 @@ import com.jpexs.decompiler.flash.tags.EnableTelemetryTag; import com.jpexs.decompiler.flash.tags.EndTag; import com.jpexs.decompiler.flash.tags.ExportAssetsTag; import com.jpexs.decompiler.flash.tags.FileAttributesTag; +import com.jpexs.decompiler.flash.tags.FontRefTag; import com.jpexs.decompiler.flash.tags.FrameLabelTag; import com.jpexs.decompiler.flash.tags.FreeCharacterTag; import com.jpexs.decompiler.flash.tags.GenCommandTag; @@ -81,6 +84,7 @@ import com.jpexs.decompiler.flash.tags.ProtectTag; import com.jpexs.decompiler.flash.tags.RemoveObject2Tag; import com.jpexs.decompiler.flash.tags.RemoveObjectTag; import com.jpexs.decompiler.flash.tags.ScriptLimitsTag; +import com.jpexs.decompiler.flash.tags.SerialNumberTag; import com.jpexs.decompiler.flash.tags.SetBackgroundColorTag; import com.jpexs.decompiler.flash.tags.SetTabIndexTag; import com.jpexs.decompiler.flash.tags.ShowFrameTag; @@ -603,6 +607,42 @@ public abstract class AbstractTagTree extends JTree { return TreeNodeType.DEBUG_ID; } + if (t instanceof DefineVideoTag) { + return TreeNodeType.MOVIE_REF; + } + + if (t instanceof FreeCharacterTag) { + return TreeNodeType.FREE_CHARACTER; + } + + if (t instanceof SyncFrameTag) { + return TreeNodeType.SYNC_FRAME; + } + + if (t instanceof NameCharacterTag) { + return TreeNodeType.NAME_CHARACTER; + } + + if (t instanceof DefineTextFormatTag) { + return TreeNodeType.TEXT_FORMAT; + } + + if (t instanceof CharacterSetTag) { + return TreeNodeType.CHARACTER_SET; + } + + if (t instanceof FontRefTag) { + return TreeNodeType.FONT_REF; + } + + if (t instanceof GenCommandTag) { + return TreeNodeType.GEN_COMMAND; + } + + if (t instanceof SerialNumberTag) { + return TreeNodeType.SERIAL_NUMBER; + } + if (t instanceof TagStub) { return TreeNodeType.ERRORED; } @@ -1110,6 +1150,42 @@ public abstract class AbstractTagTree extends JTree { return TreeNodeType.DEBUG_ID; } + if (cl == DefineVideoTag.class) { + return TreeNodeType.MOVIE_REF; + } + + if (cl == FreeCharacterTag.class) { + return TreeNodeType.FREE_CHARACTER; + } + + if (cl == SyncFrameTag.class) { + return TreeNodeType.SYNC_FRAME; + } + + if (cl == NameCharacterTag.class) { + return TreeNodeType.NAME_CHARACTER; + } + + if (cl == DefineTextFormatTag.class) { + return TreeNodeType.TEXT_FORMAT; + } + + if (cl == CharacterSetTag.class) { + return TreeNodeType.CHARACTER_SET; + } + + if (cl == FontRefTag.class) { + return TreeNodeType.FONT_REF; + } + + if (cl == GenCommandTag.class) { + return TreeNodeType.GEN_COMMAND; + } + + if (cl == SerialNumberTag.class) { + return TreeNodeType.SERIAL_NUMBER; + } + if (Tag.class.isAssignableFrom(cl)) { return TreeNodeType.OTHER_TAG; }