From 89368f71f2a7ad6b4ffdaaca83ea462486d6909e Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Wed, 5 Nov 2014 17:31:55 +0100 Subject: [PATCH] add new tag fixes --- .../com/jpexs/decompiler/flash/tags/DefineBinaryDataTag.java | 1 + .../src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java | 2 ++ .../src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java | 3 +++ .../src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java | 1 + .../src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java | 1 + .../src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java | 1 + .../src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java | 1 + .../src/com/jpexs/decompiler/flash/tags/DefineTextTag.java | 1 + .../com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java | 1 + .../jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java | 1 + 10 files changed, 13 insertions(+) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBinaryDataTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBinaryDataTag.java index c3c2b7709..ed25a9e51 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBinaryDataTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineBinaryDataTag.java @@ -71,6 +71,7 @@ public class DefineBinaryDataTag extends CharacterTag { */ public DefineBinaryDataTag(SWF swf) { super(swf, ID, "DefineBinaryData", null); + tag = swf.getNextCharacterId(); } public DefineBinaryDataTag(SWFInputStream sis, ByteArrayRange data) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java index fbcec6f0d..4a996791e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButton2Tag.java @@ -100,6 +100,8 @@ public class DefineButton2Tag extends ButtonTag implements Container { */ public DefineButton2Tag(SWF swf) { super(swf, ID, "DefineButton2", null); + buttonId = swf.getNextCharacterId(); + characters = new ArrayList<>(); } /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java index 9777d50bb..5f6193657 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonTag.java @@ -100,6 +100,9 @@ public class DefineButtonTag extends ButtonTag implements ASMSource { */ public DefineButtonTag(SWF swf) { super(swf, ID, "DefineButton", null); + buttonId = swf.getNextCharacterId(); + characters = new ArrayList<>(); + actionBytes = new ByteArrayRange(new byte[0]); } /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java index 7c0241dcf..f937732cb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java @@ -709,6 +709,7 @@ public class DefineEditTextTag extends TextTag { super(swf, ID, "DefineEditText", null); characterID = swf.getNextCharacterId(); bounds = new RECT(); + variableName = ""; } /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java index e85bbb013..c6b0a347a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShapeTag.java @@ -75,6 +75,7 @@ public class DefineShapeTag extends ShapeTag { super(swf, ID, "DefineShape", null); shapeId = swf.getNextCharacterId(); shapeBounds = new RECT(); + shapes = new SHAPEWITHSTYLE(); } public DefineShapeTag(SWFInputStream sis, ByteArrayRange data) throws IOException { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java index 258bca14e..aadef9e66 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineSoundTag.java @@ -102,6 +102,7 @@ public class DefineSoundTag extends CharacterTag implements SoundTag { */ public DefineSoundTag(SWF swf) { super(swf, ID, "DefineSound", null); + soundId = swf.getNextCharacterId(); } /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java index cec16e2c5..2e84c1c78 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java @@ -481,6 +481,7 @@ public class DefineText2Tag extends TextTag { super(swf, ID, "DefineText2", null); characterID = swf.getNextCharacterId(); textBounds = new RECT(); + textRecords = new ArrayList<>(); glyphBits = 0; advanceBits = 0; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java index f1ff53aa4..c6e83c3cf 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java @@ -442,6 +442,7 @@ public class DefineTextTag extends TextTag { super(swf, ID, "DefineText", null); characterID = swf.getNextCharacterId(); textBounds = new RECT(); + textMatrix = new MATRIX(); glyphBits = 0; advanceBits = 0; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java index 5ca744c62..f2d445d82 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineVideoStreamTag.java @@ -104,6 +104,7 @@ public class DefineVideoStreamTag extends CharacterTag implements BoundedTag { */ public DefineVideoStreamTag(SWF swf) { super(swf, ID, "DefineVideoStream", null); + characterID = swf.getNextCharacterId(); } /** diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java index a5b3facbf..ce4ce7d77 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java @@ -89,6 +89,7 @@ public final class DefineCompactedFont extends FontTag implements DrawableTag { super(swf, ID, "DefineCompactedFont", null); fontId = swf.getNextCharacterId(); fonts = new ArrayList<>(); + shapeCache = new ArrayList<>(); } /**