private static void Repack(string[] args) { var argparser = new ArgumentParser(); argparser.AddArg(ParasPara.OnePara, "-o", "--output"); argparser.AddArg(ParasPara.OneOrMoreParas, "--dlls"); argparser.AddArg(ParasPara.NoPara, "--gui"); argparser.AddArg(ParasPara.NoPara, "--no-gui"); var r = argparser.ParseArgs(args); var output = r["-o"].FirstParaOrThrow; var dlls = r.GetOrNull("--dlls")?.paras; bool?setGui = null; var dict = new NZip.Magic.Dict(); if (r.ContainsKey("--gui")) { setGui = true; dict["gui"] = "1"; } else if (r.ContainsKey("--no-gui")) { setGui = false; dict["gui"] = null; } NZip.MagicExe.Pack(null, dlls, output, dict, setGui); }
internal static void Main(string[] args) { if (!GuiMode) { Console.Title = BuildInfo.AppName; } //Logging.HistroyEnabled = false; Logging.WriteLogToConsole = false; Logging.Logged += (log) => { if (!LogStdout) { return; } lock (CmdConsole.ConsoleOnStdIO.Lock) { if (CmdConsole.StdIO.LastCharIsNewline == false) { Console.WriteLine(); CmdConsole.StdIO.LastCharIsNewline = true; } log.WriteToConsoleWithoutLock(); } }; var argumentParser = new ArgumentParser(); argumentParser.AddArg(ParasPara.OnePara, "-c", "--config"); argumentParser.AddArg(ParasPara.NoPara, "-h", "--help"); argumentParser.AddArg(ParasPara.NoPara, "-V", "--version"); argumentParser.AddArg(ParasPara.AllParaAfterIt, "--cmd"); var ar = argumentParser.ParseArgs(args); if (ar.ContainsKey("-h")) { Console.WriteLine(cmdHelpText); return; } if (ar.ContainsKey("-V")) { Console.WriteLine(NameWithVertionText); return; } if (ar.ContainsKey("--no-log-stdout")) { LogStdout = false; } if (ar.ContainsKey("--stdout-no-time") || ar.ContainsKey("--log-stdout-no-time")) { Logging.WriteLogToConsoleWithTime = false; } if (ar.TryGetValue("--encrypt", out var encarg) || ar.TryGetValue("--decrypt", out encarg)) { HandleEncrypt(encarg); return; } var controller = Controller = new Controller(); controller.Logger.ParentLogger = Logging.RootLogger; #if NS_WINFORM if (GuiMode) { new Thread(() => { MainContinued(ar, controller); }) { Name = "MainContinued" }.Start(); var winform = new WinForm.WinFormController(controller); winform.RunAsUIThread(() => { winform.ShowControllerForm(true); }); } #endif MainContinued(ar, controller); }