From 976e5c5cc7197a422357747575e809d94d05535c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Sat, 13 Jul 2013 16:02:27 +0200 Subject: [PATCH] Issue #229, #209 FLA export text positions variable deobfuscation fix --- .../flash/action/treemodel/GetVariableTreeItem.java | 6 ++++-- .../com/jpexs/decompiler/flash/tags/DefineEditTextTag.java | 6 ++++++ .../src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java | 5 +++++ .../src/com/jpexs/decompiler/flash/tags/DefineTextTag.java | 4 ++++ trunk/src/com/jpexs/decompiler/flash/tags/base/TextTag.java | 2 ++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/GetVariableTreeItem.java b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/GetVariableTreeItem.java index 1ccaef7ec..864774e82 100644 --- a/trunk/src/com/jpexs/decompiler/flash/action/treemodel/GetVariableTreeItem.java +++ b/trunk/src/com/jpexs/decompiler/flash/action/treemodel/GetVariableTreeItem.java @@ -73,9 +73,11 @@ public class GetVariableTreeItem extends TreeItem { public void setComputedValue(GraphTargetItem computedValue) { this.computedValue = computedValue; - if (computedValue != null) { - computedResult = computedValue.getResult(); + if (computedValue != null) { computedCompiletime = computedValue.isCompileTime(); + if(computedCompiletime){ + computedResult = computedValue.getResult(); + } computedVariableComputed = computedValue.isVariableComputed(); } } diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java index d3420d62a..3c693a9f9 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineEditTextTag.java @@ -24,6 +24,7 @@ import com.jpexs.decompiler.flash.tags.base.TextTag; import com.jpexs.decompiler.flash.tags.text.ParseException; import com.jpexs.decompiler.flash.tags.text.ParsedSymbol; import com.jpexs.decompiler.flash.tags.text.TextLexer; +import com.jpexs.decompiler.flash.types.MATRIX; import com.jpexs.decompiler.flash.types.RECT; import com.jpexs.decompiler.flash.types.RGBA; import java.awt.geom.GeneralPath; @@ -85,6 +86,11 @@ public class DefineEditTextTag extends CharacterTag implements BoundedTag, TextT public RECT getBounds() { return bounds; } + + @Override + public MATRIX getTextMatrix(){ + return new MATRIX(); + } @Override public void setBounds(RECT r) { diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java index 185c0711f..4030fc1fd 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java @@ -76,6 +76,11 @@ public class DefineText2Tag extends CharacterTag implements BoundedTag, TextTag, public RECT getBounds() { return textBounds; } + + @Override + public MATRIX getTextMatrix(){ + return textMatrix; + } @Override public void setBounds(RECT r) { diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java index 94721488e..689333544 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java @@ -72,6 +72,10 @@ public class DefineTextTag extends CharacterTag implements BoundedTag, TextTag, public List textRecords; public static final int ID = 11; + @Override + public MATRIX getTextMatrix(){ + return textMatrix; + } @Override public RECT getBounds() { return textBounds; diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/base/TextTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/base/TextTag.java index 8aa75346d..d05d3d816 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/base/TextTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/base/TextTag.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.tags.base; import com.jpexs.decompiler.flash.tags.Tag; import com.jpexs.decompiler.flash.tags.text.ParseException; +import com.jpexs.decompiler.flash.types.MATRIX; import com.jpexs.decompiler.flash.types.RECT; import java.util.List; @@ -27,6 +28,7 @@ import java.util.List; */ public interface TextTag { + public MATRIX getTextMatrix(); public String getText(List tags); public String getFormattedText(List tags);