diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java index 9db8f2b49..08c49945a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java @@ -25,9 +25,9 @@ import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.exporters.commonshape.ExportRectangle; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; import com.jpexs.decompiler.flash.exporters.commonshape.SVGExporter; -import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; +import com.jpexs.decompiler.flash.exporters.modes.FrameExportMode; import com.jpexs.decompiler.flash.exporters.settings.ButtonExportSettings; -import com.jpexs.decompiler.flash.exporters.settings.FramesExportSettings; +import com.jpexs.decompiler.flash.exporters.settings.FrameExportSettings; import com.jpexs.decompiler.flash.exporters.shape.CanvasShapeExporter; import com.jpexs.decompiler.flash.helpers.BMPFile; import com.jpexs.decompiler.flash.helpers.ImageHelper; @@ -90,26 +90,26 @@ public class FrameExporter { private static final Logger logger = Logger.getLogger(FrameExporter.class.getName()); public List exportFrames(AbortRetryIgnoreHandler handler, String outdir, SWF swf, int containerId, List frames, ButtonExportSettings settings, EventListener evl) throws IOException { - FramesExportMode fem; + FrameExportMode fem; switch (settings.mode) { case BMP: - fem = FramesExportMode.BMP; + fem = FrameExportMode.BMP; break; case PNG: - fem = FramesExportMode.PNG; + fem = FrameExportMode.PNG; break; case SVG: - fem = FramesExportMode.SVG; + fem = FrameExportMode.SVG; break; default: throw new Error("Unsupported button export mode"); } - FramesExportSettings fes = new FramesExportSettings(fem, settings.zoom); + FrameExportSettings fes = new FrameExportSettings(fem, settings.zoom); return exportFrames(handler, outdir, swf, containerId, frames, fes, evl); } - public List exportFrames(AbortRetryIgnoreHandler handler, String outdir, final SWF swf, int containerId, List frames, final FramesExportSettings settings, final EventListener evl) throws IOException { + public List exportFrames(AbortRetryIgnoreHandler handler, String outdir, final SWF swf, int containerId, List frames, final FrameExportSettings settings, final EventListener evl) throws IOException { final List ret = new ArrayList<>(); if (swf.tags.isEmpty()) { return ret; @@ -139,7 +139,7 @@ public class FrameExporter { final List fframes = frames; Color backgroundColor = null; - if (settings.mode == FramesExportMode.AVI) { + if (settings.mode == FrameExportMode.AVI) { for (Tag t : swf.tags) { if (t instanceof SetBackgroundColorTag) { SetBackgroundColorTag sb = (SetBackgroundColorTag) t; @@ -148,7 +148,7 @@ public class FrameExporter { } } - if (settings.mode == FramesExportMode.SVG) { + if (settings.mode == FrameExportMode.SVG) { for (int i = 0; i < frames.size(); i++) { if (evl != null) { evl.handleExportingEvent("frame", i + 1, frames.size(), tim.parentTag == null ? "" : tim.parentTag.getName()); @@ -183,7 +183,7 @@ public class FrameExporter { return ret; } - if (settings.mode == FramesExportMode.CANVAS) { + if (settings.mode == FrameExportMode.CANVAS) { if (evl != null) { evl.handleExportingEvent("canvas", 1, 1, tim.parentTag == null ? "" : tim.parentTag.getName()); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FramesExportMode.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FrameExportMode.java similarity index 90% rename from libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FramesExportMode.java rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FrameExportMode.java index c5a438fa7..4690783a9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FramesExportMode.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/modes/FrameExportMode.java @@ -1,25 +1,26 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.modes; /** * * @author JPEXS */ -public enum FramesExportMode { +public enum FrameExportMode { PNG, GIF, diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/BinaryDataExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/BinaryDataExportSettings.java index 5a6d4ff84..814911524 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/BinaryDataExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/BinaryDataExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.BinaryDataExportMode; @@ -23,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.BinaryDataExportMode; */ public class BinaryDataExportSettings { + public static final String EXPORT_FOLDER_NAME = "binaryData"; + public BinaryDataExportMode mode; public BinaryDataExportSettings(BinaryDataExportMode mode) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ButtonExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ButtonExportSettings.java index cc3a18812..c87e654b6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ButtonExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ButtonExportSettings.java @@ -24,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.ButtonExportMode; */ public class ButtonExportSettings { + public static final String EXPORT_FOLDER_NAME = "buttons"; + public ButtonExportMode mode; public double zoom; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FontExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FontExportSettings.java index 204ccfd2c..107c326fa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FontExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FontExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; @@ -23,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; */ public class FontExportSettings { + public static final String EXPORT_FOLDER_NAME = "fonts"; + public FontExportMode mode; public FontExportSettings(FontExportMode mode) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FrameExportSettings.java similarity index 71% rename from libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FrameExportSettings.java index 299a84cbf..50f7b74cb 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FramesExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/FrameExportSettings.java @@ -16,19 +16,23 @@ */ package com.jpexs.decompiler.flash.exporters.settings; -import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; +import com.jpexs.decompiler.flash.exporters.modes.FrameExportMode; /** * * @author JPEXS */ -public class FramesExportSettings { +public class FrameExportSettings { - public FramesExportMode mode; + public static final String EXPORT_FOLDER_NAME = "frames"; + + public static final String EXPORT_FOLDER_NAME_SPRITE = "sprites"; + + public FrameExportMode mode; public double zoom; - public FramesExportSettings(FramesExportMode mode, double zoom) { + public FrameExportSettings(FrameExportMode mode, double zoom) { this.mode = mode; this.zoom = zoom; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ImageExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ImageExportSettings.java index edf2d3703..d709a9216 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ImageExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ImageExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.ImageExportMode; @@ -23,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.ImageExportMode; */ public class ImageExportSettings { + public static final String EXPORT_FOLDER_NAME = "images"; + public ImageExportMode mode; public ImageExportSettings(ImageExportMode mode) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java index d2f90ce8e..07234a5d8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MorphShapeExportSettings.java @@ -24,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; */ public class MorphShapeExportSettings { + public static final String EXPORT_FOLDER_NAME = "morphshapes"; + public MorphShapeExportMode mode; public double zoom; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MovieExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MovieExportSettings.java index dd27a7610..9ef0a7e66 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MovieExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/MovieExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.MovieExportMode; @@ -23,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.MovieExportMode; */ public class MovieExportSettings { + public static final String EXPORT_FOLDER_NAME = "movies"; + public MovieExportMode mode; public MovieExportSettings(MovieExportMode mode) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java index 2d02152ec..5dc05893e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/ShapeExportSettings.java @@ -24,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.ShapeExportMode; */ public class ShapeExportSettings { + public static final String EXPORT_FOLDER_NAME = "shapes"; + public ShapeExportMode mode; public double zoom; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/SoundExportSettings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/SoundExportSettings.java index ed9a47325..3da84ac76 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/SoundExportSettings.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/settings/SoundExportSettings.java @@ -1,18 +1,19 @@ /* * Copyright (C) 2010-2015 JPEXS, All rights reserved. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.exporters.settings; import com.jpexs.decompiler.flash.exporters.modes.SoundExportMode; @@ -23,6 +24,8 @@ import com.jpexs.decompiler.flash.exporters.modes.SoundExportMode; */ public class SoundExportSettings { + public static final String EXPORT_FOLDER_NAME = "sounds"; + public SoundExportMode mode; public SoundExportSettings(SoundExportMode mode) { diff --git a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java index 3992e7764..8c61d8600 100644 --- a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java +++ b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java @@ -49,7 +49,7 @@ import com.jpexs.decompiler.flash.exporters.TextExporter; import com.jpexs.decompiler.flash.exporters.commonshape.Matrix; import com.jpexs.decompiler.flash.exporters.modes.BinaryDataExportMode; import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; -import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; +import com.jpexs.decompiler.flash.exporters.modes.FrameExportMode; import com.jpexs.decompiler.flash.exporters.modes.ImageExportMode; import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; import com.jpexs.decompiler.flash.exporters.modes.MovieExportMode; @@ -59,7 +59,7 @@ import com.jpexs.decompiler.flash.exporters.modes.SoundExportMode; import com.jpexs.decompiler.flash.exporters.modes.TextExportMode; import com.jpexs.decompiler.flash.exporters.settings.BinaryDataExportSettings; import com.jpexs.decompiler.flash.exporters.settings.FontExportSettings; -import com.jpexs.decompiler.flash.exporters.settings.FramesExportSettings; +import com.jpexs.decompiler.flash.exporters.settings.FrameExportSettings; import com.jpexs.decompiler.flash.exporters.settings.ImageExportSettings; import com.jpexs.decompiler.flash.exporters.settings.MorphShapeExportSettings; import com.jpexs.decompiler.flash.exporters.settings.MovieExportSettings; @@ -1002,37 +1002,37 @@ public class CommandLineArgumentParser { if (exportAll || exportFormats.contains("image")) { System.out.println("Exporting images..."); - new ImageExporter().exportImages(handler, outDir + (multipleExportTypes ? File.separator + "images" : ""), extags, new ImageExportSettings(enumFromStr(formats.get("image"), ImageExportMode.class)), evl); + new ImageExporter().exportImages(handler, outDir + (multipleExportTypes ? File.separator + ImageExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "shapes" : ""), extags, new ShapeExportSettings(enumFromStr(formats.get("shape"), ShapeExportMode.class), zoom), evl); + new ShapeExporter().exportShapes(handler, outDir + (multipleExportTypes ? File.separator + ShapeExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "morphshapes" : ""), extags, new MorphShapeExportSettings(enumFromStr(formats.get("morphshape"), MorphShapeExportMode.class), zoom), evl); + new MorphShapeExporter().exportMorphShapes(handler, outDir + (multipleExportTypes ? File.separator + MorphShapeExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "movies" : ""), extags, new MovieExportSettings(enumFromStr(formats.get("movie"), MovieExportMode.class)), evl); + new MovieExporter().exportMovies(handler, outDir + (multipleExportTypes ? File.separator + MovieExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "fonts" : ""), extags, new FontExportSettings(enumFromStr(formats.get("font"), FontExportMode.class)), evl); + new FontExporter().exportFonts(handler, outDir + (multipleExportTypes ? File.separator + FontExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "sounds" : ""), extags, new SoundExportSettings(enumFromStr(formats.get("sound"), SoundExportMode.class)), evl); + new SoundExporter().exportSounds(handler, outDir + (multipleExportTypes ? File.separator + SoundExportSettings.EXPORT_FOLDER_NAME : ""), 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 + "binaryData" : ""), extags, new BinaryDataExportSettings(enumFromStr(formats.get("binarydata"), BinaryDataExportMode.class)), evl); + new BinaryDataExporter().exportBinaryData(handler, outDir + (multipleExportTypes ? File.separator + BinaryDataExportSettings.EXPORT_FOLDER_NAME : ""), extags, new BinaryDataExportSettings(enumFromStr(formats.get("binarydata"), BinaryDataExportMode.class)), evl); } if (exportAll || exportFormats.contains("text")) { @@ -1052,7 +1052,7 @@ public class CommandLineArgumentParser { frames.add(i); } } - new FrameExporter().exportFrames(handler, outDir + (multipleExportTypes ? File.separator + "frames" : ""), swf, 0, frames, new FramesExportSettings(enumFromStr(formats.get("frame"), FramesExportMode.class), zoom), evl); + new FrameExporter().exportFrames(handler, outDir + (multipleExportTypes ? File.separator + FrameExportSettings.EXPORT_FOLDER_NAME : ""), swf, 0, frames, new FrameExportSettings(enumFromStr(formats.get("frame"), FrameExportMode.class), zoom), evl); } boolean parallel = Configuration.parallelSpeedUp.get(); diff --git a/src/com/jpexs/decompiler/flash/gui/ExportDialog.java b/src/com/jpexs/decompiler/flash/gui/ExportDialog.java index d0ccdaea7..5931c4fca 100644 --- a/src/com/jpexs/decompiler/flash/gui/ExportDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/ExportDialog.java @@ -21,7 +21,7 @@ import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.exporters.modes.BinaryDataExportMode; import com.jpexs.decompiler.flash.exporters.modes.ButtonExportMode; import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; -import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; +import com.jpexs.decompiler.flash.exporters.modes.FrameExportMode; import com.jpexs.decompiler.flash.exporters.modes.ImageExportMode; import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; import com.jpexs.decompiler.flash.exporters.modes.MovieExportMode; @@ -109,7 +109,7 @@ public class ExportDialog extends AppDialog { SoundExportMode.class, ScriptExportMode.class, BinaryDataExportMode.class, - FramesExportMode.class, + FrameExportMode.class, ButtonExportMode.class, FontExportMode.class, MorphShapeExportMode.class, @@ -119,7 +119,7 @@ public class ExportDialog extends AppDialog { Class[] zoomClasses = { ShapeExportMode.class, TextExportMode.class, - FramesExportMode.class, + FrameExportMode.class, MorphShapeExportMode.class }; diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 464c15bfc..639ec3aec 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -43,7 +43,7 @@ import com.jpexs.decompiler.flash.exporters.TextExporter; import com.jpexs.decompiler.flash.exporters.modes.BinaryDataExportMode; import com.jpexs.decompiler.flash.exporters.modes.ButtonExportMode; import com.jpexs.decompiler.flash.exporters.modes.FontExportMode; -import com.jpexs.decompiler.flash.exporters.modes.FramesExportMode; +import com.jpexs.decompiler.flash.exporters.modes.FrameExportMode; import com.jpexs.decompiler.flash.exporters.modes.ImageExportMode; import com.jpexs.decompiler.flash.exporters.modes.MorphShapeExportMode; import com.jpexs.decompiler.flash.exporters.modes.MovieExportMode; @@ -56,7 +56,7 @@ import com.jpexs.decompiler.flash.exporters.script.AS2ScriptExporter; import com.jpexs.decompiler.flash.exporters.settings.BinaryDataExportSettings; import com.jpexs.decompiler.flash.exporters.settings.ButtonExportSettings; import com.jpexs.decompiler.flash.exporters.settings.FontExportSettings; -import com.jpexs.decompiler.flash.exporters.settings.FramesExportSettings; +import com.jpexs.decompiler.flash.exporters.settings.FrameExportSettings; import com.jpexs.decompiler.flash.exporters.settings.ImageExportSettings; import com.jpexs.decompiler.flash.exporters.settings.MorphShapeExportSettings; import com.jpexs.decompiler.flash.exporters.settings.MovieExportSettings; @@ -1125,17 +1125,17 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se EventListener evl = swf.getExportEventListener(); if (export.isOptionEnabled(ImageExportMode.class)) { - ret.addAll(new ImageExporter().exportImages(handler, selFile + File.separator + "images", images, + ret.addAll(new ImageExporter().exportImages(handler, selFile + File.separator + ImageExportSettings.EXPORT_FOLDER_NAME, images, new ImageExportSettings(export.getValue(ImageExportMode.class)), evl)); } if (export.isOptionEnabled(ShapeExportMode.class)) { - ret.addAll(new ShapeExporter().exportShapes(handler, selFile + File.separator + "shapes", shapes, + ret.addAll(new ShapeExporter().exportShapes(handler, selFile + File.separator + ShapeExportSettings.EXPORT_FOLDER_NAME, shapes, new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl)); } if (export.isOptionEnabled(MorphShapeExportMode.class)) { - ret.addAll(new MorphShapeExporter().exportMorphShapes(handler, selFile + File.separator + "morphshapes", morphshapes, + ret.addAll(new MorphShapeExporter().exportMorphShapes(handler, selFile + File.separator + MorphShapeExportSettings.EXPORT_FOLDER_NAME, morphshapes, new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom()), evl)); } @@ -1145,22 +1145,22 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } if (export.isOptionEnabled(MovieExportMode.class)) { - ret.addAll(new MovieExporter().exportMovies(handler, selFile + File.separator + "movies", movies, + ret.addAll(new MovieExporter().exportMovies(handler, selFile + File.separator + MovieExportSettings.EXPORT_FOLDER_NAME, movies, new MovieExportSettings(export.getValue(MovieExportMode.class)), evl)); } if (export.isOptionEnabled(SoundExportMode.class)) { - ret.addAll(new SoundExporter().exportSounds(handler, selFile + File.separator + "sounds", sounds, + ret.addAll(new SoundExporter().exportSounds(handler, selFile + File.separator + SoundExportSettings.EXPORT_FOLDER_NAME, sounds, new SoundExportSettings(export.getValue(SoundExportMode.class)), evl)); } if (export.isOptionEnabled(BinaryDataExportMode.class)) { - ret.addAll(new BinaryDataExporter().exportBinaryData(handler, selFile + File.separator + "binaryData", binaryData, + ret.addAll(new BinaryDataExporter().exportBinaryData(handler, selFile + File.separator + BinaryDataExportSettings.EXPORT_FOLDER_NAME, binaryData, new BinaryDataExportSettings(export.getValue(BinaryDataExportMode.class)), evl)); } if (export.isOptionEnabled(FontExportMode.class)) { - ret.addAll(new FontExporter().exportFonts(handler, selFile + File.separator + "fonts", fonts, + ret.addAll(new FontExporter().exportFonts(handler, selFile + File.separator + FontExportSettings.EXPORT_FOLDER_NAME, fonts, new FontExportSettings(export.getValue(FontExportMode.class)), evl)); } @@ -1170,11 +1170,11 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se FrameExporter frameExporter = new FrameExporter(); - if (export.isOptionEnabled(FramesExportMode.class)) { - FramesExportSettings fes = new FramesExportSettings(export.getValue(FramesExportMode.class), export.getZoom()); + if (export.isOptionEnabled(FrameExportMode.class)) { + FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom()); for (Entry> entry : frames.entrySet()) { int containerId = entry.getKey(); - String subFolder = containerId == 0 ? "frames" : "sprites"; + String subFolder = containerId == 0 ? FrameExportSettings.EXPORT_FOLDER_NAME : FrameExportSettings.EXPORT_FOLDER_NAME_SPRITE; ret.addAll(frameExporter.exportFrames(handler, selFile + File.separator + subFolder, swf, containerId, entry.getValue(), fes, evl)); } } @@ -1183,7 +1183,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se ButtonExportSettings bes = new ButtonExportSettings(export.getValue(ButtonExportMode.class), export.getZoom()); for (Tag tag : buttons) { ButtonTag button = (ButtonTag) tag; - String subFolder = "buttons"; + String subFolder = ButtonExportSettings.EXPORT_FOLDER_NAME; List frameNums = new ArrayList<>(); frameNums.add(0); // todo: export all frames ret.addAll(frameExporter.exportFrames(handler, selFile + File.separator + subFolder, swf, button.getCharacterId(), frameNums, bes, evl)); @@ -1221,20 +1221,25 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } public void exportAll(SWF swf, AbortRetryIgnoreHandler handler, String selFile, ExportDialog export) throws IOException { + if (Configuration.debugMode.get()) { + exportAllDebug(swf, handler, selFile, export); + return; + } + EventListener evl = swf.getExportEventListener(); if (export.isOptionEnabled(ImageExportMode.class)) { - new ImageExporter().exportImages(handler, Path.combine(selFile, "images"), swf.tags, + new ImageExporter().exportImages(handler, Path.combine(selFile, ImageExportSettings.EXPORT_FOLDER_NAME), swf.tags, new ImageExportSettings(export.getValue(ImageExportMode.class)), evl); } if (export.isOptionEnabled(ShapeExportMode.class)) { - new ShapeExporter().exportShapes(handler, Path.combine(selFile, "shapes"), swf.tags, + new ShapeExporter().exportShapes(handler, Path.combine(selFile, ShapeExportSettings.EXPORT_FOLDER_NAME), swf.tags, new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl); } if (export.isOptionEnabled(MorphShapeExportMode.class)) { - new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, "morphshapes"), swf.tags, + new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, MorphShapeExportSettings.EXPORT_FOLDER_NAME), swf.tags, new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom()), evl); } @@ -1244,22 +1249,22 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se } if (export.isOptionEnabled(MovieExportMode.class)) { - new MovieExporter().exportMovies(handler, Path.combine(selFile, "movies"), swf.tags, + new MovieExporter().exportMovies(handler, Path.combine(selFile, MovieExportSettings.EXPORT_FOLDER_NAME), swf.tags, new MovieExportSettings(export.getValue(MovieExportMode.class)), evl); } if (export.isOptionEnabled(SoundExportMode.class)) { - new SoundExporter().exportSounds(handler, Path.combine(selFile, "sounds"), swf.tags, + new SoundExporter().exportSounds(handler, Path.combine(selFile, SoundExportSettings.EXPORT_FOLDER_NAME), swf.tags, new SoundExportSettings(export.getValue(SoundExportMode.class)), evl); } if (export.isOptionEnabled(BinaryDataExportMode.class)) { - new BinaryDataExporter().exportBinaryData(handler, Path.combine(selFile, "binaryData"), swf.tags, + new BinaryDataExporter().exportBinaryData(handler, Path.combine(selFile, BinaryDataExportSettings.EXPORT_FOLDER_NAME), swf.tags, new BinaryDataExportSettings(export.getValue(BinaryDataExportMode.class)), evl); } if (export.isOptionEnabled(FontExportMode.class)) { - new FontExporter().exportFonts(handler, Path.combine(selFile, "fonts"), swf.tags, + new FontExporter().exportFonts(handler, Path.combine(selFile, FontExportSettings.EXPORT_FOLDER_NAME), swf.tags, new FontExportSettings(export.getValue(FontExportMode.class)), evl); } @@ -1269,12 +1274,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se FrameExporter frameExporter = new FrameExporter(); - if (export.isOptionEnabled(FramesExportMode.class)) { - FramesExportSettings fes = new FramesExportSettings(export.getValue(FramesExportMode.class), export.getZoom()); - frameExporter.exportFrames(handler, selFile + File.separator + "frames", swf, 0, null, fes, evl); + if (export.isOptionEnabled(FrameExportMode.class)) { + FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom()); + frameExporter.exportFrames(handler, selFile + File.separator + FrameExportSettings.EXPORT_FOLDER_NAME, swf, 0, null, fes, evl); for (CharacterTag c : swf.getCharacters().values()) { if (c instanceof DefineSpriteTag) { - frameExporter.exportFrames(handler, Path.combine(selFile, "sprites"), swf, c.getCharacterId(), null, fes, evl); + frameExporter.exportFrames(handler, Path.combine(selFile, FrameExportSettings.EXPORT_FOLDER_NAME_SPRITE), swf, c.getCharacterId(), null, fes, evl); } } } @@ -1285,7 +1290,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (c instanceof ButtonTag) { List frameNums = new ArrayList<>(); frameNums.add(0); // todo: export all frames - frameExporter.exportFrames(handler, Path.combine(selFile, "buttons"), swf, c.getCharacterId(), frameNums, bes, evl); + frameExporter.exportFrames(handler, Path.combine(selFile, ButtonExportSettings.EXPORT_FOLDER_NAME), swf, c.getCharacterId(), frameNums, bes, evl); } } } @@ -1308,21 +1313,21 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (export.isOptionEnabled(ImageExportMode.class)) { for (ImageExportMode exportMode : ImageExportMode.values()) { - new ImageExporter().exportImages(handler, Path.combine(selFile, "images", exportMode.name()), swf.tags, + new ImageExporter().exportImages(handler, Path.combine(selFile, ImageExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new ImageExportSettings(exportMode), evl); } } if (export.isOptionEnabled(ShapeExportMode.class)) { for (ShapeExportMode exportMode : ShapeExportMode.values()) { - new ShapeExporter().exportShapes(handler, Path.combine(selFile, "shapes", exportMode.name()), swf.tags, + new ShapeExporter().exportShapes(handler, Path.combine(selFile, ShapeExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new ShapeExportSettings(exportMode, export.getZoom()), evl); } } if (export.isOptionEnabled(MorphShapeExportMode.class)) { for (MorphShapeExportMode exportMode : MorphShapeExportMode.values()) { - new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, "morphshapes", exportMode.name()), swf.tags, + new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, MorphShapeExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new MorphShapeExportSettings(exportMode, export.getZoom()), evl); } } @@ -1336,28 +1341,28 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (export.isOptionEnabled(MovieExportMode.class)) { for (MovieExportMode exportMode : MovieExportMode.values()) { - new MovieExporter().exportMovies(handler, Path.combine(selFile, "movies", exportMode.name()), swf.tags, + new MovieExporter().exportMovies(handler, Path.combine(selFile, MovieExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new MovieExportSettings(exportMode), evl); } } if (export.isOptionEnabled(SoundExportMode.class)) { for (SoundExportMode exportMode : SoundExportMode.values()) { - new SoundExporter().exportSounds(handler, Path.combine(selFile, "sounds", exportMode.name()), swf.tags, + new SoundExporter().exportSounds(handler, Path.combine(selFile, SoundExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new SoundExportSettings(exportMode), evl); } } if (export.isOptionEnabled(BinaryDataExportMode.class)) { for (BinaryDataExportMode exportMode : BinaryDataExportMode.values()) { - new BinaryDataExporter().exportBinaryData(handler, Path.combine(selFile, "binaryData", exportMode.name()), swf.tags, + new BinaryDataExporter().exportBinaryData(handler, Path.combine(selFile, BinaryDataExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new BinaryDataExportSettings(exportMode), evl); } } if (export.isOptionEnabled(FontExportMode.class)) { for (FontExportMode exportMode : FontExportMode.values()) { - new FontExporter().exportFonts(handler, Path.combine(selFile, "fonts", exportMode.name()), swf.tags, + new FontExporter().exportFonts(handler, Path.combine(selFile, FontExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.tags, new FontExportSettings(exportMode), evl); } } @@ -1370,13 +1375,13 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se FrameExporter frameExporter = new FrameExporter(); - if (export.isOptionEnabled(FramesExportMode.class)) { - for (FramesExportMode exportMode : FramesExportMode.values()) { - FramesExportSettings fes = new FramesExportSettings(exportMode, export.getZoom()); - frameExporter.exportFrames(handler, Path.combine(selFile, "frames", exportMode.name()), swf, 0, null, fes, evl); + if (export.isOptionEnabled(FrameExportMode.class)) { + for (FrameExportMode exportMode : FrameExportMode.values()) { + FrameExportSettings fes = new FrameExportSettings(exportMode, export.getZoom()); + frameExporter.exportFrames(handler, Path.combine(selFile, FrameExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, 0, null, fes, evl); for (CharacterTag c : swf.getCharacters().values()) { if (c instanceof DefineSpriteTag) { - frameExporter.exportFrames(handler, Path.combine(selFile, "sprites", exportMode.name()), swf, c.getCharacterId(), null, fes, evl); + frameExporter.exportFrames(handler, Path.combine(selFile, FrameExportSettings.EXPORT_FOLDER_NAME_SPRITE, exportMode.name()), swf, c.getCharacterId(), null, fes, evl); } } } @@ -1389,7 +1394,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se if (c instanceof ButtonTag) { List frameNums = new ArrayList<>(); frameNums.add(0); // todo: export all frames - frameExporter.exportFrames(handler, Path.combine(selFile, "buttons", exportMode.name()), swf, c.getCharacterId(), frameNums, bes, evl); + frameExporter.exportFrames(handler, Path.combine(selFile, ButtonExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, c.getCharacterId(), frameNums, bes, evl); } } }