From 9e3a9190f58b567ab28669b460f6607dca8c52ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 10 Dec 2022 11:12:25 +0100 Subject: [PATCH] Fixed Loading nested characters when Importassets tag used --- CHANGELOG.md | 1 + .../src/com/jpexs/decompiler/flash/SWF.java | 85 +++++++- .../com/jpexs/decompiler/flash/tags/Tag.java | 10 +- .../ffdec_lib/testdata/importing/import.html | 49 +++++ .../ffdec_lib/testdata/importing/import.swf | Bin 0 -> 565 bytes .../testdata/importing/import/DOMDocument.xml | 29 +++ .../importing/import/LIBRARY/RedRect.xml | 35 +++ .../importing/import/META-INF/metadata.xml | 55 +++++ .../importing/import/MobileSettings.xml | 0 .../importing/import/PublishSettings.xml | 206 ++++++++++++++++++ .../importing/import/bin/SymDepend.cache | Bin 0 -> 43 bytes .../testdata/importing/import/import.xfl | 1 + .../testdata/importing/import_as2.html | 49 +++++ .../testdata/importing/import_as2.swf | Bin 0 -> 553 bytes .../importing/import_as2/DOMDocument.xml | 29 +++ .../importing/import_as2/LIBRARY/RedRect.xml | 35 +++ .../import_as2/META-INF/metadata.xml | 55 +++++ .../importing/import_as2/MobileSettings.xml | 0 .../importing/import_as2/PublishSettings.xml | 206 ++++++++++++++++++ .../importing/import_as2/bin/SymDepend.cache | Bin 0 -> 43 bytes .../importing/import_as2/import_as2.xfl | 1 + .../testdata/importing/imported.html | 49 +++++ .../ffdec_lib/testdata/importing/imported.swf | Bin 0 -> 895 bytes .../importing/imported/DOMDocument.xml | 38 ++++ .../imported/LIBRARY/NotImported.xml | 35 +++ .../importing/imported/LIBRARY/RedRect.xml | 35 +++ .../importing/imported/META-INF/metadata.xml | 61 ++++++ .../importing/imported/MobileSettings.xml | 0 .../importing/imported/PublishSettings.xml | 206 ++++++++++++++++++ .../importing/imported/bin/SymDepend.cache | Bin 0 -> 62 bytes .../testdata/importing/imported/imported.xfl | 1 + .../testdata/importing/imported_as2.html | 49 +++++ .../testdata/importing/imported_as2.swf | Bin 0 -> 696 bytes .../importing/imported_as2/DOMDocument.xml | 40 ++++ .../imported_as2/LIBRARY/NotImported.xml | 35 +++ .../imported_as2/LIBRARY/RedRect.xml | 35 +++ .../imported_as2/META-INF/metadata.xml | 55 +++++ .../importing/imported_as2/MobileSettings.xml | 0 .../imported_as2/PublishSettings.xml | 206 ++++++++++++++++++ .../imported_as2/bin/SymDepend.cache | Bin 0 -> 62 bytes .../importing/imported_as2/imported_as2.xfl | 1 + 41 files changed, 1684 insertions(+), 8 deletions(-) create mode 100644 libsrc/ffdec_lib/testdata/importing/import.html create mode 100644 libsrc/ffdec_lib/testdata/importing/import.swf create mode 100644 libsrc/ffdec_lib/testdata/importing/import/DOMDocument.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import/LIBRARY/RedRect.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import/META-INF/metadata.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import/MobileSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import/PublishSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import/bin/SymDepend.cache create mode 100644 libsrc/ffdec_lib/testdata/importing/import/import.xfl create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2.html create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2.swf create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/DOMDocument.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/LIBRARY/RedRect.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/META-INF/metadata.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/MobileSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/PublishSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/bin/SymDepend.cache create mode 100644 libsrc/ffdec_lib/testdata/importing/import_as2/import_as2.xfl create mode 100644 libsrc/ffdec_lib/testdata/importing/imported.html create mode 100644 libsrc/ffdec_lib/testdata/importing/imported.swf create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/DOMDocument.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/NotImported.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/RedRect.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/META-INF/metadata.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/MobileSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/PublishSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/bin/SymDepend.cache create mode 100644 libsrc/ffdec_lib/testdata/importing/imported/imported.xfl create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2.html create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2.swf create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/DOMDocument.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/NotImported.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/RedRect.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/META-INF/metadata.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/MobileSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/PublishSettings.xml create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/bin/SymDepend.cache create mode 100644 libsrc/ffdec_lib/testdata/importing/imported_as2/imported_as2.xfl diff --git a/CHANGELOG.md b/CHANGELOG.md index bef58e06d..f57f16679 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ All notable changes to this project will be documented in this file. - ShapeImporter fillstyles shapenum - Reload button disabled after saving new file - PlaceObject tag - do not display export name twice +- Loading nested characters when Importassets tag used ### Changed - Quick search needs minimum of 3 characters diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java index 326ed0569..d9561f36f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java @@ -1531,21 +1531,30 @@ public final class SWF implements SWFContainerItem, Timelined, Openable { } int pos = 0; + Set importedTagPos = new HashSet<>(); + List importedCharacters = new ArrayList<>(); for (String key : importedMap2.keySet()) { if (!exportedMap2.containsKey(key)) { continue; //? } int exportedId = exportedMap2.get(key); int importedId = importedMap2.get(key); + int ip = 0; for (Tag cht : iSwf.tags) { if ((cht instanceof CharacterIdTag) && (((CharacterIdTag) cht).getCharacterId() == exportedId) && !(cht instanceof PlaceObjectTypeTag) && !(cht instanceof RemoveTag)) { CharacterIdTag ch = (CharacterIdTag) cht; - cht.setSwf(this); ch.setCharacterId(importedId); - cht.setImported(true); + setImportedDeep(cht, false); tags.add(p + 1 + pos, cht); - pos++; + importedTagPos.add(ip); + if (cht instanceof CharacterTag) { + importedCharacters.add((CharacterTag)cht); + } else { + cht.setSwf(this); + } + pos++; } + ip++; } } @@ -1554,23 +1563,85 @@ public final class SWF implements SWFContainerItem, Timelined, Openable { for (String key : classesMap2.keySet()) { int exportedId = classesMap2.get(key); int importedId = newId++; + int ip = 0; for (Tag cht : iSwf.tags) { - if ((cht instanceof CharacterIdTag) && (((CharacterIdTag) cht).getCharacterId() == exportedId) && !(cht instanceof PlaceObjectTypeTag) && !(cht instanceof RemoveTag)) { + if (!importedTagPos.contains(ip) && (cht instanceof CharacterIdTag) && (((CharacterIdTag) cht).getCharacterId() == exportedId) && !(cht instanceof PlaceObjectTypeTag) && !(cht instanceof RemoveTag)) { CharacterIdTag ch = (CharacterIdTag) cht; - cht.setSwf(this); + ch.setCharacterId(importedId); - cht.setImported(true); + setImportedDeep(cht, false); tags.add(p + 1 + pos, cht); + if (cht instanceof CharacterTag) { + importedCharacters.add((CharacterTag)cht); + } else { + cht.setSwf(this); + } pos++; } + ip++; } } - updateCharacters(); + + pos = 0; + for (CharacterTag ich:importedCharacters) { + Set needed = new LinkedHashSet<>(); + ich.getNeededCharactersDeep(needed); + Map replaceCharactersMap = new HashMap<>(); + for (int n:needed) { + CharacterTag cht = iSwf.getCharacter(n); + if (cht.getSwf() != iSwf) { + continue; //already imported + } + int importedId = newId++; + cht.setSwf(this); + replaceCharactersMap.put(n, importedId); + cht.setCharacterId(importedId); + setImportedDeep(cht, true); + tags.add(p + 1 + pos, cht); + pos++; + } + + Map replaceCharactersMap2 = new HashMap<>(); + + //first map to non existing ids + int iNewId = iSwf.getNextCharacterId(); + for (int from:replaceCharactersMap.keySet()) { + int to = iNewId++; + replaceCharactersMap2.put(to, replaceCharactersMap.get(from)); + ich.replaceCharacter(from, to); + } + + for (int from:replaceCharactersMap2.keySet()) { + int to = replaceCharactersMap2.get(from); + ich.replaceCharacter(from, to); + } + ich.setModified(false); + setSwfDeep(ich); + } + updateCharacters(); } } } } + private void setSwfDeep(Tag t) { + t.setSwf(this); + if (t instanceof DefineSpriteTag) { + for(Tag st: ((DefineSpriteTag)t).getTags()) { + setSwfDeep(st); + } + } + } + + private void setImportedDeep(Tag t, boolean deep) { + t.setImported(true, deep); + if (t instanceof DefineSpriteTag) { + for(Tag st: ((DefineSpriteTag)t).getTags()) { + setImportedDeep(st, true); + } + } + } + @Override public SWF getOpenable() { return this; 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 6bde9d89c..58ddbbddd 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 @@ -93,14 +93,22 @@ public abstract class Tag implements NeedsCharacters, Exportable, Serializable { @Internal protected boolean imported = false; + + @Internal + protected boolean importedDeep = false; - public void setImported(boolean imported) { + public void setImported(boolean imported, boolean deep) { this.imported = imported; + this.importedDeep = deep; } public boolean isImported() { return imported; } + + public boolean isImportedDeep() { + return importedDeep; + } /** * Original tag data diff --git a/libsrc/ffdec_lib/testdata/importing/import.html b/libsrc/ffdec_lib/testdata/importing/import.html new file mode 100644 index 000000000..6e12eea4f --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import.html @@ -0,0 +1,49 @@ + + + + import + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Adobe Flash player + + + + + +
+ + diff --git a/libsrc/ffdec_lib/testdata/importing/import.swf b/libsrc/ffdec_lib/testdata/importing/import.swf new file mode 100644 index 0000000000000000000000000000000000000000..29093a20d404c54631b85c6c1882c724ae33ed7a GIT binary patch literal 565 zcmV-50?PeES5psp1pokeoTZdcYuhjw#+9+cV23S?LD@;9XIpmuH8F{4i4*7{Y^1pl z#gZE_+cJ_|JE!fV>_hC{kCw@9oTP2mWgW-|y?&k_ubx*Z2Pa4(;D#VrvQNO zAKsq;Fc2hgX5IwmQ5Z`{?}m+~Qi+35mStwvGP$@xcE8_8RueUwhE^DI6)T(@u{>+I zuq1d?`hq2j@fa3+yx^%CHX0jj9wl3BEKN-Kf|@>$P>vI1n-(fKTI7rb#fpnL=b?L9 zsNf{TatXf(9#APY9*1yr-Gv5Rq%0(`-LnViv2%|_J^i^&OLuPTWz8+yX|UixkUgA3e7ZFx2PLh!MxB#NukW21=%kV8Vf+Fex+6iCUl0MmV`uxD72vusSW;A$S zE$6F*q8XJu6+YGSv(1H>PMxb*DjfUt%5!zWWQ;iNPP;W8kGfs&yf^l2`?5RsdY)x_ z{ht`VbaX&3`+tA2A(Dtkq?XzGvOkdeU)aG&21Bh*}RIpo0CW1%h6cQ{X zEs`2Gs;G*X%6uJmAf~^z@Wfit$V(3N#9Gn#|HSl11l$g0m($@ZjW&;<3&H5sdcD5; z_*OrVHE`|Im_i$Xb-k_&EK0agl$bIL^j`q(%JS + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import/LIBRARY/RedRect.xml b/libsrc/ffdec_lib/testdata/importing/import/LIBRARY/RedRect.xml new file mode 100644 index 000000000..a30549f47 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import/LIBRARY/RedRect.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import/META-INF/metadata.xml b/libsrc/ffdec_lib/testdata/importing/import/META-INF/metadata.xml new file mode 100644 index 000000000..a31cae0b2 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import/META-INF/metadata.xml @@ -0,0 +1,55 @@ + + + + + Adobe Flash Professional CS6 - build 481 + 2022-12-10T01:33:37-08:00 + 2022-12-10T01:34-08:00 + 2022-12-10T01:34-08:00 + + + application/vnd.adobe.fla + + + xmp.iid:4243EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4243EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4243EEC66D78ED11A6ED8D01DE5D1F68 + + + + created + xmp.iid:4243EEC66D78ED11A6ED8D01DE5D1F68 + 2022-12-10T01:33:37-08:00 + Adobe Flash Professional CS6 - build 481 + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import/MobileSettings.xml b/libsrc/ffdec_lib/testdata/importing/import/MobileSettings.xml new file mode 100644 index 000000000..e69de29bb diff --git a/libsrc/ffdec_lib/testdata/importing/import/PublishSettings.xml b/libsrc/ffdec_lib/testdata/importing/import/PublishSettings.xml new file mode 100644 index 000000000..80beb4fe0 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import/PublishSettings.xml @@ -0,0 +1,206 @@ + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + import.swf + import.exe + import.app + import.html + import.gif + import.jpg + import.png + import.mov + import.smil + import.swc + + + 0 + 12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1; + 1 + 1 + import.xfl_content.html + import.xfl_alternate.html + 0 + + 550 + 400 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 4 + 0 + 0 + 1 + 0 + C:\Users\MyUser\AppData\Local\Adobe\Flash CS6\en_US\Configuration\HTML\Default.html + 1 + + + + + 0 + 0 + 0 + 80 + 0 + 0 + 7 + 0 + 7 + 0 + 15 + FlashPlayer11.2 + 3 + 1 + + . + CONFIG::FLASH_AUTHORING="true"; + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + 2 + 4 + 4096 + AS3 + 1 + 1 + 0 + 15 + 1 + 0 + 4102 + rsl + wrap + $(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf + + + $(AppConfig)/ActionScript 3.0/libs + merge + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + rsl + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + 550 + 400 + 0 + 4718592 + 0 + 80 + 1 + + + 1 + 0 + 1 + 0 + 0 + 100000 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + 550 + 400 + 0 + 1 + 1 + + 1 + 0 + 1 + 0 + 0 + + 128 + + + 255 + + + + 550 + 400 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + + + + 24-bit with Alpha + 255 + + + + 550 + 400 + 1 + 0 + + + 00000000 + 0 + 0 + 0 + 0 + 1 + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import/bin/SymDepend.cache b/libsrc/ffdec_lib/testdata/importing/import/bin/SymDepend.cache new file mode 100644 index 0000000000000000000000000000000000000000..adb3390185ef037cbf7a405efa0b1771d3ccd9a3 GIT binary patch literal 43 tcmYdiU|@L0&cndQz{SAGpv)i$CqqzbN>FNY3B!qfYk_ + + + import_as2 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Adobe Flash player + + + + + +
+ + diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2.swf b/libsrc/ffdec_lib/testdata/importing/import_as2.swf new file mode 100644 index 0000000000000000000000000000000000000000..cfd96b72ca60a8dc3c2a82ec43088ff7923d868f GIT binary patch literal 553 zcmV+^0@nRQS5psb1pokeoTZe{ZrU&ahuul-b**-pc9})bi4&j{EE=`KAoYMYG47R# zonkGCBil6LwELc7hdsyMX-}{@DFNEDj&=ESaP<3qvOilXz~K!5ufGBC_5hHRV*tRH zH^+wn^c9Qngp6R3#Hq%1bkUd_lVODNJa_Y!E7dLXd%Yg=nyA@yY{JpY)X>67^=Tu3 z6@hRaDv=o>Q&^7aOfJktqp`vkNw&tO+NDg+xEsm@6*NP>>!FfkLwKM#HBwEbjDxE( z1xGQ}bNEroh-+=}G=_su9q7Q>Lc|QVyM7-%Zf>zSv2W1y?96@pcvH{EZ6BYVJ6;!i z-d6WMd0!oKLm4%6SGk4#)^_5M9aO(ng@q9^>m&8=8jvngsTPD+I&sUb{6M4murj-W?L(zv>K0mv}xI zo)Lf4=~nI^R%;rO;iB}mqOpIVZB=X92PJNWJ+ix~o&Bgg5bL>eCGI#IDVbEekWr<1 zY3ia;t12~BezDl0>913GQmtw1B@22|t!eUqH2o0)*Bi6(wEIY-)lV>hVDRdfy-wcS rAEZb!sSIZ~R5x9nN8q5kC!9@qXu#K_qjLD}$M>J$(#C%S=rOit;yoCH literal 0 HcmV?d00001 diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/DOMDocument.xml b/libsrc/ffdec_lib/testdata/importing/import_as2/DOMDocument.xml new file mode 100644 index 000000000..2c684ec87 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import_as2/DOMDocument.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/LIBRARY/RedRect.xml b/libsrc/ffdec_lib/testdata/importing/import_as2/LIBRARY/RedRect.xml new file mode 100644 index 000000000..e245cab60 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import_as2/LIBRARY/RedRect.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/META-INF/metadata.xml b/libsrc/ffdec_lib/testdata/importing/import_as2/META-INF/metadata.xml new file mode 100644 index 000000000..a776329f2 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import_as2/META-INF/metadata.xml @@ -0,0 +1,55 @@ + + + + + Adobe Flash Professional CS6 - build 481 + 2022-12-10T01:41:57-08:00 + 2022-12-10T01:42:10-08:00 + 2022-12-10T01:42:10-08:00 + + + application/vnd.adobe.fla + + + xmp.iid:4643EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4643EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4643EEC66D78ED11A6ED8D01DE5D1F68 + + + + created + xmp.iid:4643EEC66D78ED11A6ED8D01DE5D1F68 + 2022-12-10T01:41:57-08:00 + Adobe Flash Professional CS6 - build 481 + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/MobileSettings.xml b/libsrc/ffdec_lib/testdata/importing/import_as2/MobileSettings.xml new file mode 100644 index 000000000..e69de29bb diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/PublishSettings.xml b/libsrc/ffdec_lib/testdata/importing/import_as2/PublishSettings.xml new file mode 100644 index 000000000..de0ea66ef --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/import_as2/PublishSettings.xml @@ -0,0 +1,206 @@ + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + import_as2.swf + import_as2.exe + import_as2.app + import_as2.html + import_as2.gif + import_as2.jpg + import_as2.png + import_as2.mov + import_as2.smil + import_as2.swc + + + 0 + 12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1; + 1 + 1 + import_as2.xfl_content.html + import_as2.xfl_alternate.html + 0 + + 550 + 400 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 4 + 0 + 0 + 1 + 0 + C:\Users\MyUser\AppData\Local\Adobe\Flash CS6\en_US\Configuration\HTML\Default.html + 1 + + + + + 0 + 0 + 0 + 80 + 0 + 0 + 7 + 0 + 7 + 0 + 15 + FlashPlayer11.2 + 2 + 1 + + . + CONFIG::FLASH_AUTHORING="true"; + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + 2 + 4 + 4096 + AS3 + 1 + 1 + 0 + 15 + 1 + 0 + 4102 + rsl + wrap + $(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf + + + $(AppConfig)/ActionScript 3.0/libs + merge + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + rsl + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + 550 + 400 + 0 + 4718592 + 0 + 80 + 1 + + + 1 + 0 + 1 + 0 + 0 + 100000 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + 550 + 400 + 0 + 1 + 1 + + 1 + 0 + 1 + 0 + 0 + + 128 + + + 255 + + + + 550 + 400 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + + + + 24-bit with Alpha + 255 + + + + 550 + 400 + 1 + 0 + + + 00000000 + 0 + 0 + 0 + 0 + 1 + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/import_as2/bin/SymDepend.cache b/libsrc/ffdec_lib/testdata/importing/import_as2/bin/SymDepend.cache new file mode 100644 index 0000000000000000000000000000000000000000..0a001d2398e90bd7c34c56eb2aa6fb1f61bf2df9 GIT binary patch literal 43 tcmYdiU|@L0&cndQz{SAGpbaD$fHVUGCqqzbN>FNY3B!SXYk_ + + + imported + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Adobe Flash player + + + + + +
+ + diff --git a/libsrc/ffdec_lib/testdata/importing/imported.swf b/libsrc/ffdec_lib/testdata/importing/imported.swf new file mode 100644 index 0000000000000000000000000000000000000000..73818673ed2dc5131bd6f2577a429f4f2453cbe3 GIT binary patch literal 895 zcmV-_1AzQPS5pr)2LJ$goTZgLY}-Z{hQFhJXxR>IBaY!VEx;-PI*B|=iYha*8dsD9 z7Z4K2M$t~yi9AJYC>}wcEE!0UtwW~FnYy)Gx31YU6kdxi*|G##x@2k9BlTlBc2hS! zP&nOv@B85Hy%RNr)VBaDKLBhZFxNH#;L+vP6hI}gJ4VyoRfav+3k@;a&UQKX4NV&i z2I`=ovf!SkZ*6U9IIrdNIibjfM;<4`oEKipR+X4w($ESVpF7M`qA_W+KHtt}C)i=n zpJBaFB{pkQ)nYwuNPJCKu@-TJ$fyOBa26ae=2mwim9p!Su&dk+Scit8z!O)g?U$6C z((XI1trW|8MSI&h$D*eARP$J@To(^Mz`9W=8n~FlWdq|m?^rpuHYg`H;pB`tZwOnV zFmFDko!FV}bdD}$K2a(a?X4s)maT2gqV@ZM8=seLY1E}X>hVy-tH<%$meFBBkMJt- zeb=!_1k{GPu*vUQe5ExYSL&ldUj<= zydV+mThyb94lr6T#uJ0ToFNwfLp@*Df*+ zeU}_%8tl-aHP`XeciP{H^76P$52JU;N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/NotImported.xml b/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/NotImported.xml new file mode 100644 index 000000000..590b1db44 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/NotImported.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/RedRect.xml b/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/RedRect.xml new file mode 100644 index 000000000..d38af433c --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported/LIBRARY/RedRect.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported/META-INF/metadata.xml b/libsrc/ffdec_lib/testdata/importing/imported/META-INF/metadata.xml new file mode 100644 index 000000000..7015a764c --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported/META-INF/metadata.xml @@ -0,0 +1,61 @@ + + + + + Adobe Flash Professional CS6 - build 481 + 2022-12-10T01:34:04-08:00 + 2022-12-10T02:08:31-08:00 + 2022-12-10T02:08:31-08:00 + + + application/vnd.adobe.fla + + + xmp.iid:4A43EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4343EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4343EEC66D78ED11A6ED8D01DE5D1F68 + + + + created + xmp.iid:4343EEC66D78ED11A6ED8D01DE5D1F68 + 2022-12-10T01:34:04-08:00 + Adobe Flash Professional CS6 - build 481 + + + created + xmp.iid:4A43EEC66D78ED11A6ED8D01DE5D1F68 + 2022-12-10T01:34:04-08:00 + Adobe Flash Professional CS6 - build 481 + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported/MobileSettings.xml b/libsrc/ffdec_lib/testdata/importing/imported/MobileSettings.xml new file mode 100644 index 000000000..e69de29bb diff --git a/libsrc/ffdec_lib/testdata/importing/imported/PublishSettings.xml b/libsrc/ffdec_lib/testdata/importing/imported/PublishSettings.xml new file mode 100644 index 000000000..891056ddf --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported/PublishSettings.xml @@ -0,0 +1,206 @@ + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + imported.swf + imported.exe + imported.app + imported.html + imported.gif + imported.jpg + imported.png + imported.mov + imported.smil + imported.swc + + + 0 + 12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1; + 1 + 1 + imported.xfl_content.html + imported.xfl_alternate.html + 0 + + 550 + 400 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 4 + 0 + 0 + 1 + 0 + C:\Users\MyUser\AppData\Local\Adobe\Flash CS6\en_US\Configuration\HTML\Default.html + 1 + + + + + 0 + 0 + 0 + 80 + 0 + 0 + 7 + 0 + 7 + 0 + 15 + FlashPlayer11.2 + 3 + 1 + + . + CONFIG::FLASH_AUTHORING="true"; + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + 2 + 4 + 4096 + AS3 + 1 + 1 + 0 + 15 + 1 + 0 + 4102 + rsl + wrap + $(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf + + + $(AppConfig)/ActionScript 3.0/libs + merge + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + rsl + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + 550 + 400 + 0 + 4718592 + 0 + 80 + 1 + + + 1 + 0 + 1 + 0 + 0 + 100000 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + 550 + 400 + 0 + 1 + 1 + + 1 + 0 + 1 + 0 + 0 + + 128 + + + 255 + + + + 550 + 400 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + + + + 24-bit with Alpha + 255 + + + + 550 + 400 + 1 + 0 + + + 00000000 + 0 + 0 + 0 + 0 + 1 + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported/bin/SymDepend.cache b/libsrc/ffdec_lib/testdata/importing/imported/bin/SymDepend.cache new file mode 100644 index 0000000000000000000000000000000000000000..12d0be33d5376a0c0796071417c9cf78050d8dc1 GIT binary patch literal 62 zcmYdiU|@L0&cndQz{SACz`-C7eo;wk3d0FbhM?4xpw#3N28MlW IfznU_06T;W0{{R3 literal 0 HcmV?d00001 diff --git a/libsrc/ffdec_lib/testdata/importing/imported/imported.xfl b/libsrc/ffdec_lib/testdata/importing/imported/imported.xfl new file mode 100644 index 000000000..860a820ec --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported/imported.xfl @@ -0,0 +1 @@ +PROXY-CS5 \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2.html b/libsrc/ffdec_lib/testdata/importing/imported_as2.html new file mode 100644 index 000000000..3161511a6 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2.html @@ -0,0 +1,49 @@ + + + + imported_as2 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Adobe Flash player + + + + + +
+ + diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2.swf b/libsrc/ffdec_lib/testdata/importing/imported_as2.swf new file mode 100644 index 0000000000000000000000000000000000000000..2a11f3f7c92ffd63d948cddc5556cfae48ffb8fe GIT binary patch literal 696 zcmV;p0!RHrS5prI1^@tfoTZe_Yt%p(#^2q3pdi{}K@ksO>ou8Vn{KypyS8k0p~9l9 z1usIGO=i2nBoi{(?iQ4K^5Ds{r{YEb08jl3N)Ps2y!!#A2wuEsoTQuWw%yiRLqeFD z=lQ)e&kWOnk!65u8vr*`ppTCM!20#E5rBekHnf^v5ju|TGL5(9GR+|HG=$piw$z@I zsK0`g+1XhnXHhmQa)rp&+yHk(mrZ7hLQK#JGknVnEb0nT8`o(on9F3k*pB1%ur8CZ zN$W&1sDnD#Ly9D$h{Hu%$tO6V{t~5jaUoI(6&tgr@X)6X!WhS6TPQus38GMMS+*&t zd8L4kJNsBf=U*`^^O-CBm6v2iQ?r^fEy{UKmixR1$^&ba1lYs@K4H#k+@{L?<|Ep! zotjo-?Of(VrBFb}l009wrqPSmYx#D(U#5YGO&sC|jK{0Q@tTI#puU5HBKADnGH?V$ z9g#Ju@wAOsiP(suE}%oQuR0%H{N#d|6kNg$0Mkr*);0%g5OtwI(#38m%a| zF3tQ0TAwwcJ@Bm+iyzrR)S2^92OxTLCBC&v%!*H)co#hEGZG~=mr0_EVv6(CtN}6o zbqXh}3C+C7f=*Zy8vUP`PDKd4jXBI|@R3H{ORy+FDIM}>Lgg1^3fjN7cGmZnzk6_L z8(?`Om4Xl;Oie)igyYj&+c&=be6ss#erK56ef$-|%hA=E=H8d1qbdG_dEUNv^-9c3 zLyedi77rh1oYSI=VAQ^G-0d>>3!hUc)9*+?^Wr`?z4|??(8kR eyT9KpHk=e2Iw;1`L%j3$hqs?!MD0KR8{TlHb7GAE literal 0 HcmV?d00001 diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/DOMDocument.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/DOMDocument.xml new file mode 100644 index 000000000..40928e3f6 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/DOMDocument.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/NotImported.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/NotImported.xml new file mode 100644 index 000000000..590b1db44 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/NotImported.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/RedRect.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/RedRect.xml new file mode 100644 index 000000000..ce18abcac --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/LIBRARY/RedRect.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/META-INF/metadata.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/META-INF/metadata.xml new file mode 100644 index 000000000..df5e354fd --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/META-INF/metadata.xml @@ -0,0 +1,55 @@ + + + + + Adobe Flash Professional CS6 - build 481 + 2022-12-10T01:42:15-08:00 + 2022-12-10T01:42:25-08:00 + 2022-12-10T01:42:25-08:00 + + + application/vnd.adobe.fla + + + xmp.iid:4743EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4743EEC66D78ED11A6ED8D01DE5D1F68 + xmp.did:4743EEC66D78ED11A6ED8D01DE5D1F68 + + + + created + xmp.iid:4743EEC66D78ED11A6ED8D01DE5D1F68 + 2022-12-10T01:42:15-08:00 + Adobe Flash Professional CS6 - build 481 + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/MobileSettings.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/MobileSettings.xml new file mode 100644 index 000000000..e69de29bb diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/PublishSettings.xml b/libsrc/ffdec_lib/testdata/importing/imported_as2/PublishSettings.xml new file mode 100644 index 000000000..857e54e38 --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/PublishSettings.xml @@ -0,0 +1,206 @@ + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + imported_as2.swf + imported_as2.exe + imported_as2.app + imported_as2.html + imported_as2.gif + imported_as2.jpg + imported_as2.png + imported_as2.mov + imported_as2.smil + imported_as2.swc + + + 0 + 12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1; + 1 + 1 + imported_as2.xfl_content.html + imported_as2.xfl_alternate.html + 0 + + 550 + 400 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 4 + 0 + 0 + 1 + 0 + C:\Users\MyUser\AppData\Local\Adobe\Flash CS6\en_US\Configuration\HTML\Default.html + 1 + + + + + 0 + 0 + 0 + 80 + 0 + 0 + 7 + 0 + 7 + 0 + 15 + FlashPlayer11.2 + 2 + 1 + + . + CONFIG::FLASH_AUTHORING="true"; + 0 + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + 2 + 4 + 4096 + AS3 + 1 + 1 + 0 + 15 + 1 + 0 + 4102 + rsl + wrap + $(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf + + + $(AppConfig)/ActionScript 3.0/libs + merge + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + rsl + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + $(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc + + http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz + http://fpdownload.adobe.com/pub/swz/crossdomain.xml + textLayout_2.0.0.232.swz + + + + + 550 + 400 + 0 + 4718592 + 0 + 80 + 1 + + + 1 + 0 + 1 + 0 + 0 + 100000 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + 550 + 400 + 0 + 1 + 1 + + 1 + 0 + 1 + 0 + 0 + + 128 + + + 255 + + + + 550 + 400 + 1 + 0 + 0 + 1 + 0 + 0 + 1 + + + + 24-bit with Alpha + 255 + + + + 550 + 400 + 1 + 0 + + + 00000000 + 0 + 0 + 0 + 0 + 1 + + + \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/bin/SymDepend.cache b/libsrc/ffdec_lib/testdata/importing/imported_as2/bin/SymDepend.cache new file mode 100644 index 0000000000000000000000000000000000000000..ce9aa79dfed2bfbfc1a720cab2cb59a8827544f0 GIT binary patch literal 62 zcmYdiU|@L0&cndQz{SACzyahj0BHsWPKKb=l%Uk)5{4392EY6g&)kCiqLS1Uh9CRZ If)#-Y05ehxhyVZp literal 0 HcmV?d00001 diff --git a/libsrc/ffdec_lib/testdata/importing/imported_as2/imported_as2.xfl b/libsrc/ffdec_lib/testdata/importing/imported_as2/imported_as2.xfl new file mode 100644 index 000000000..860a820ec --- /dev/null +++ b/libsrc/ffdec_lib/testdata/importing/imported_as2/imported_as2.xfl @@ -0,0 +1 @@ +PROXY-CS5 \ No newline at end of file