Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }