Display DoInitAction tags in correct order

This commit is contained in:
Jindra Petřík
2021-02-24 19:55:59 +01:00
parent e02233c79b
commit 86c4b9ce9e
2 changed files with 13 additions and 2 deletions
@@ -1790,6 +1790,15 @@ public final class SWF implements SWFContainerItem, Timelined {
subNodes.addAll(timeline.getAS2RootPackage().subPackages.values());
subNodes.addAll(timeline.getAS2RootPackage().scripts.values());
for (ASMSource ass : timeline.asmSources) {
if (ass instanceof DoInitActionTag) {
String exportName = getExportName(((DoInitActionTag) ass).spriteId);
if (exportName == null) {
subNodes.add(ass);
}
}
}
for (Tag tag : timeline.otherTags) {
boolean hasInnerFrames = false;
List<TreeItem> tagSubNodes = new ArrayList<>();
@@ -99,7 +99,7 @@ public class Timeline {
private final Map<Integer, Integer> depthMaxFrame = new HashMap<>();
private final List<ASMSource> asmSources = new ArrayList<>();
public final List<ASMSource> asmSources = new ArrayList<>();
private final List<ASMSourceContainer> asmSourceContainers = new ArrayList<>();
@@ -448,7 +448,9 @@ public class Timeline {
if (asm instanceof DoInitActionTag) {
DoInitActionTag initAction = (DoInitActionTag) asm;
String path = swf.getExportName(initAction.spriteId);
path = path != null ? path : "__doinit__" + initAction.spriteId;
if (path == null) {
continue;
}
if (path.isEmpty()) {
path = initAction.getExportFileName();
}