mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-20 20:45:35 +00:00
swf.tags and sprite.subtags are private to avoid modifying the list without setting the isModified flag + some small chages
This commit is contained in:
@@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.AbortRetryIgnoreHandler;
|
||||
import com.jpexs.decompiler.flash.ApplicationInfo;
|
||||
import com.jpexs.decompiler.flash.EventListener;
|
||||
import com.jpexs.decompiler.flash.IdentifiersDeobfuscation;
|
||||
import com.jpexs.decompiler.flash.ReadOnlyTagList;
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.SWFBundle;
|
||||
import com.jpexs.decompiler.flash.SWFCompression;
|
||||
@@ -1098,7 +1099,7 @@ public class CommandLineArgumentParser {
|
||||
swf.swfList = new SWFList();
|
||||
swf.swfList.sourceInfo = sourceInfo;
|
||||
boolean found = false;
|
||||
for (Tag tag : swf.tags) {
|
||||
for (Tag tag : swf.getTags()) {
|
||||
if (tag.getId() == tagId) {
|
||||
found = true;
|
||||
break;
|
||||
@@ -1140,7 +1141,7 @@ public class CommandLineArgumentParser {
|
||||
swf.swfList = new SWFList();
|
||||
swf.swfList.sourceInfo = sourceInfo;
|
||||
boolean found = false;
|
||||
for (Tag tag : swf.tags) {
|
||||
for (Tag tag : swf.getTags()) {
|
||||
if (tag instanceof JPEGTablesTag) {
|
||||
JPEGTablesTag jtt = (JPEGTablesTag) tag;
|
||||
if (ImageTag.hasErrorHeader(jtt.jpegData)) {
|
||||
@@ -1326,7 +1327,7 @@ public class CommandLineArgumentParser {
|
||||
}
|
||||
|
||||
List<Tag> extags = new ArrayList<>();
|
||||
for (Tag t : swf.tags) {
|
||||
for (Tag t : swf.getTags()) {
|
||||
if (t instanceof CharacterIdTag) {
|
||||
CharacterIdTag c = (CharacterIdTag) t;
|
||||
if (selectionIds.contains(c.getCharacterId())) {
|
||||
@@ -1385,37 +1386,37 @@ public class CommandLineArgumentParser {
|
||||
|
||||
if (exportAll || exportFormats.contains("image")) {
|
||||
System.out.println("Exporting images...");
|
||||
new ImageExporter().exportImages(handler, outDir + (multipleExportTypes ? File.separator + ImageExportSettings.EXPORT_FOLDER_NAME : ""), extags, new ImageExportSettings(enumFromStr(formats.get("image"), ImageExportMode.class)), evl);
|
||||
new ImageExporter().exportImages(handler, outDir + (multipleExportTypes ? File.separator + ImageExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new ImageExportSettings(enumFromStr(formats.get("image"), ImageExportMode.class)), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("shape")) {
|
||||
System.out.println("Exporting shapes...");
|
||||
new ShapeExporter().exportShapes(handler, outDir + (multipleExportTypes ? File.separator + ShapeExportSettings.EXPORT_FOLDER_NAME : ""), extags, new ShapeExportSettings(enumFromStr(formats.get("shape"), ShapeExportMode.class), zoom), evl);
|
||||
new ShapeExporter().exportShapes(handler, outDir + (multipleExportTypes ? File.separator + ShapeExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new ShapeExportSettings(enumFromStr(formats.get("shape"), ShapeExportMode.class), zoom), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("morphshape")) {
|
||||
System.out.println("Exporting morphshapes...");
|
||||
new MorphShapeExporter().exportMorphShapes(handler, outDir + (multipleExportTypes ? File.separator + MorphShapeExportSettings.EXPORT_FOLDER_NAME : ""), extags, new MorphShapeExportSettings(enumFromStr(formats.get("morphshape"), MorphShapeExportMode.class), zoom), evl);
|
||||
new MorphShapeExporter().exportMorphShapes(handler, outDir + (multipleExportTypes ? File.separator + MorphShapeExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new MorphShapeExportSettings(enumFromStr(formats.get("morphshape"), MorphShapeExportMode.class), zoom), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("movie")) {
|
||||
System.out.println("Exporting movies...");
|
||||
new MovieExporter().exportMovies(handler, outDir + (multipleExportTypes ? File.separator + MovieExportSettings.EXPORT_FOLDER_NAME : ""), extags, new MovieExportSettings(enumFromStr(formats.get("movie"), MovieExportMode.class)), evl);
|
||||
new MovieExporter().exportMovies(handler, outDir + (multipleExportTypes ? File.separator + MovieExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new MovieExportSettings(enumFromStr(formats.get("movie"), MovieExportMode.class)), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("font")) {
|
||||
System.out.println("Exporting fonts...");
|
||||
new FontExporter().exportFonts(handler, outDir + (multipleExportTypes ? File.separator + FontExportSettings.EXPORT_FOLDER_NAME : ""), extags, new FontExportSettings(enumFromStr(formats.get("font"), FontExportMode.class)), evl);
|
||||
new FontExporter().exportFonts(handler, outDir + (multipleExportTypes ? File.separator + FontExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new FontExportSettings(enumFromStr(formats.get("font"), FontExportMode.class)), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("sound")) {
|
||||
System.out.println("Exporting sounds...");
|
||||
new SoundExporter().exportSounds(handler, outDir + (multipleExportTypes ? File.separator + SoundExportSettings.EXPORT_FOLDER_NAME : ""), extags, new SoundExportSettings(enumFromStr(formats.get("sound"), SoundExportMode.class)), evl);
|
||||
new SoundExporter().exportSounds(handler, outDir + (multipleExportTypes ? File.separator + SoundExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new SoundExportSettings(enumFromStr(formats.get("sound"), SoundExportMode.class)), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("binarydata")) {
|
||||
System.out.println("Exporting binaryData...");
|
||||
new BinaryDataExporter().exportBinaryData(handler, outDir + (multipleExportTypes ? File.separator + BinaryDataExportSettings.EXPORT_FOLDER_NAME : ""), extags, new BinaryDataExportSettings(enumFromStr(formats.get("binarydata"), BinaryDataExportMode.class)), evl);
|
||||
new BinaryDataExporter().exportBinaryData(handler, outDir + (multipleExportTypes ? File.separator + BinaryDataExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new BinaryDataExportSettings(enumFromStr(formats.get("binarydata"), BinaryDataExportMode.class)), evl);
|
||||
}
|
||||
|
||||
if (exportAll || exportFormats.contains("text")) {
|
||||
@@ -1424,7 +1425,7 @@ public class CommandLineArgumentParser {
|
||||
if (singleTextFile == null) {
|
||||
singleTextFile = Configuration.textExportSingleFile.get();
|
||||
}
|
||||
new TextExporter().exportTexts(handler, outDir + (multipleExportTypes ? File.separator + TextExportSettings.EXPORT_FOLDER_NAME : ""), extags, new TextExportSettings(enumFromStr(formats.get("text"), TextExportMode.class), singleTextFile, zoom), evl);
|
||||
new TextExporter().exportTexts(handler, outDir + (multipleExportTypes ? File.separator + TextExportSettings.EXPORT_FOLDER_NAME : ""), new ReadOnlyTagList(extags), new TextExportSettings(enumFromStr(formats.get("text"), TextExportMode.class), singleTextFile, zoom), evl);
|
||||
}
|
||||
|
||||
FrameExporter frameExporter = new FrameExporter();
|
||||
@@ -1883,7 +1884,7 @@ public class CommandLineArgumentParser {
|
||||
SWF swf = new SWF(is, Configuration.parallelSpeedUp.get());
|
||||
int totalPages = 0;
|
||||
|
||||
for (Tag t : swf.tags) {
|
||||
for (Tag t : swf.getTags()) {
|
||||
if (t instanceof DefineSpriteTag) {
|
||||
DefineSpriteTag ds = (DefineSpriteTag) t;
|
||||
if ("page1".equals(ds.getExportName())) {
|
||||
@@ -1898,7 +1899,7 @@ public class CommandLineArgumentParser {
|
||||
|
||||
int page = 0;
|
||||
|
||||
for (Tag t : swf.tags) {
|
||||
for (Tag t : swf.getTags()) {
|
||||
if (t instanceof DefineSpriteTag) {
|
||||
DefineSpriteTag ds = (DefineSpriteTag) t;
|
||||
if ("page1".equals(ds.getExportName())) {
|
||||
@@ -2378,8 +2379,8 @@ public class CommandLineArgumentParser {
|
||||
System.err.println("Tag number should be integer");
|
||||
System.exit(1);
|
||||
}
|
||||
if (tagNo < 0 || tagNo >= swf.tags.size()) {
|
||||
System.err.println("Tag number does not exist. Tag number should be between 0 and " + (swf.tags.size() - 1));
|
||||
if (tagNo < 0 || tagNo >= swf.getTags().size()) {
|
||||
System.err.println("Tag number does not exist. Tag number should be between 0 and " + (swf.getTags().size() - 1));
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
@@ -2394,7 +2395,7 @@ public class CommandLineArgumentParser {
|
||||
|
||||
Collections.sort(tagNumbersToRemove);
|
||||
for (int i = tagNumbersToRemove.size() - 1; i >= 0; i--) {
|
||||
swf.tags.remove((int) tagNumbersToRemove.get(i));
|
||||
swf.removeTag((int) tagNumbersToRemove.get(i));
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -2705,7 +2706,7 @@ public class CommandLineArgumentParser {
|
||||
pw.println("height=" + doubleToString(swf.displayRect.getHeight() / SWF.unitDivisor));
|
||||
pw.println("frameCount=" + swf.frameCount);
|
||||
pw.println("frameRate=" + doubleToString(swf.frameRate));
|
||||
for (Tag t : swf.tags) {
|
||||
for (Tag t : swf.getTags()) {
|
||||
if (t instanceof SetBackgroundColorTag) {
|
||||
pw.println("backgroundColor=" + ((SetBackgroundColorTag) t).backgroundColor.toHexRGB());
|
||||
}
|
||||
@@ -2717,7 +2718,7 @@ public class CommandLineArgumentParser {
|
||||
pw.println();
|
||||
|
||||
pw.println("[tags]");
|
||||
pw.println("tagCount=" + swf.tags.size());
|
||||
pw.println("tagCount=" + swf.getTags().size());
|
||||
pw.println("hasEndTag=" + swf.hasEndTag);
|
||||
pw.println("characterCount=" + (swf.getCharacters().size()));
|
||||
pw.println("maxCharacterId=" + (swf.getNextCharacterId() - 1));
|
||||
|
||||
Reference in New Issue
Block a user