mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-21 23:37:29 +00:00
Export command WIP
This commit is contained in:
BIN
lib/jansi-2.4.0.jar
Normal file
BIN
lib/jansi-2.4.0.jar
Normal file
Binary file not shown.
@@ -323,7 +323,7 @@
|
||||
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
|
||||
<compilation-unit>
|
||||
<package-root>src</package-root>
|
||||
<classpath mode="compile">lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar</classpath>
|
||||
<classpath mode="compile">lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar;lib/jansi-2.4.0.jar</classpath>
|
||||
<built-to>build</built-to>
|
||||
<built-to>javadoc</built-to>
|
||||
<built-to>reports</built-to>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.decompiler.flash.console;
|
||||
|
||||
import com.jpexs.decompiler.flash.console.commands.Main;
|
||||
import org.fusesource.jansi.AnsiConsole;
|
||||
import picocli.CommandLine;
|
||||
|
||||
/**
|
||||
@@ -25,16 +26,10 @@ import picocli.CommandLine;
|
||||
*/
|
||||
public class NewCommandLine {
|
||||
|
||||
public static void main(String[] args) {
|
||||
//args = new String[] {"--cli", "sample", "jedna", "dva", "tri"};
|
||||
//args = new String[] {"--cli", "help", "sample"};
|
||||
|
||||
args = new String[] {"--cli", "help", "export"};
|
||||
//args = new String[] {"--help"};
|
||||
//args = new String[] {"--cli", "export", "script:as,image:png", "C:/out/", "C:/in/myfile.swf"};
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
AnsiConsole.systemInstall();
|
||||
int exitCode = new CommandLine(new Main()).execute(args);
|
||||
AnsiConsole.systemUninstall();
|
||||
System.exit(exitCode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,19 +36,23 @@ import picocli.CommandLine.ParentCommand;
|
||||
* @author JPEXS
|
||||
*/
|
||||
@Command(name = "export",
|
||||
header = "Export sources to directory"
|
||||
header = "Export sources to a directory",
|
||||
//descriptionHeading = "%n@|bold,underline Description|@:%n",
|
||||
optionListHeading = "%n@|bold,underline Options|@:%n",
|
||||
parameterListHeading = "%n@|bold,underline Parameters|@:%n",
|
||||
synopsisHeading = "@|bold,underline Usage|@:"
|
||||
)
|
||||
public class Export implements Runnable {
|
||||
|
||||
@ParentCommand
|
||||
private Main parent;
|
||||
|
||||
|
||||
@Option(names = "--frame",
|
||||
paramLabel = "<frameRanges>",
|
||||
converter = SelectionConverter.class,
|
||||
description = {
|
||||
"Selected frame(s) to export.",
|
||||
"Sample values: 1-5 or 2,4 or 2-5,7,9-"
|
||||
"@|bold Sample values|@: 1-5 or 2,4 or 2-5,7,9-"
|
||||
}
|
||||
)
|
||||
private Selection frames = new Selection();
|
||||
@@ -58,7 +62,7 @@ public class Export implements Runnable {
|
||||
converter = SelectionConverter.class,
|
||||
description = {
|
||||
"Selected character id(s) to export.",
|
||||
"Sample values: 27 or 2-5 or 12,24 or 2-5,10,9-"
|
||||
"@|bold Sample values|@: 27 or 2-5 or 12,24 or 2-5,10,9-"
|
||||
}
|
||||
)
|
||||
private Selection characterIds = new Selection();
|
||||
@@ -68,7 +72,7 @@ public class Export implements Runnable {
|
||||
split = ",",
|
||||
description = {
|
||||
"Selected scripts to export by classname (ActionScript 3 ONLY).",
|
||||
"Sample values:",
|
||||
"@|bold Sample values|@:",
|
||||
"com.example.MyClass",
|
||||
"com.example.+ (all classes in package \"com.example\")",
|
||||
"com.++,net.company.MyClass (all classes in package \"com\" and all subpackages, class net.company.MyClass)",
|
||||
@@ -89,7 +93,7 @@ public class Export implements Runnable {
|
||||
split = ",",
|
||||
converter = ExportObjectFormatConverter.class,
|
||||
paramLabel = "<type[:format]>",
|
||||
description = {"What objects to export. Available formats:",
|
||||
description = {"What objects to export. @|bold Available formats|@:",
|
||||
"script:as (default)",
|
||||
"script:pcode",
|
||||
"script:pcodehex",
|
||||
|
||||
@@ -32,15 +32,27 @@ import picocli.CommandLine.ScopeType;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
@Command(name="<ffdec> --cli",
|
||||
@Command(name="<ffdec>",
|
||||
mixinStandardHelpOptions = true,
|
||||
versionProvider = VersionProvider.class,
|
||||
subcommands = {
|
||||
HelpCommand.class,
|
||||
Export.class
|
||||
},
|
||||
descriptionHeading = "%n@|bold,underline Description|@:%n",
|
||||
optionListHeading = "%n@|bold,underline Options|@:%n",
|
||||
parameterListHeading = "%n@|bold,underline Parameters|@:%n",
|
||||
synopsisHeading = "@|bold,underline Usage|@:",
|
||||
customSynopsis = {"<ffdec> [@|fg(yellow) FILE|@...]",
|
||||
" or <ffdec> [@|fg(yellow) -hV|@]",
|
||||
" or <ffdec> @|fg(yellow) --cli|@ [COMMAND]"},
|
||||
description = {"JPEXS Free Flash Decompiler commandline interface",
|
||||
"",
|
||||
"@|bold,underline Executable|@:",
|
||||
" <ffdec> ffdec.sh on Linux/MacOs, ffdec.bat on Windows",
|
||||
" or 'java -jar ffdec.jar' on all java"
|
||||
},
|
||||
descriptionHeading = "%n <ffdec> ffdec.sh on Linux/MacOs, ffdec.bat on Windows%n",
|
||||
customSynopsis = "<ffdec> [FILE...]%n or <ffdec> [-hV]%n or <ffdec> --cli [COMMAND]"
|
||||
commandListHeading = "%n@|bold,underline Commands|@:%n"
|
||||
)
|
||||
public class Main implements Runnable {
|
||||
|
||||
@@ -58,7 +70,10 @@ public class Main implements Runnable {
|
||||
@Parameters(paramLabel = "FILE", description = "one or more files to open in GUI")
|
||||
private File[] files;
|
||||
|
||||
@Option(names = "--cli", required = true, description = "Use new commandline mode")
|
||||
@Option(names = "--cli",
|
||||
required = true,
|
||||
description = "Use new commandline mode",
|
||||
scope = ScopeType.INHERIT)
|
||||
private boolean cli = false;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.jpexs.decompiler.flash.configuration.SwfSpecificConfiguration;
|
||||
import com.jpexs.decompiler.flash.configuration.SwfSpecificCustomConfiguration;
|
||||
import com.jpexs.decompiler.flash.console.CommandLineArgumentParser;
|
||||
import com.jpexs.decompiler.flash.console.ContextMenuTools;
|
||||
import com.jpexs.decompiler.flash.console.NewCommandLine;
|
||||
import com.jpexs.decompiler.flash.exporters.modes.ExeExportMode;
|
||||
import com.jpexs.decompiler.flash.gfx.GfxConvertor;
|
||||
import com.jpexs.decompiler.flash.gui.debugger.DebugAdapter;
|
||||
@@ -2850,7 +2851,7 @@ public class Main {
|
||||
} else {
|
||||
for (String fileToOpen : filesToOpen) {
|
||||
openFile(fileToOpen, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user