Exemple #1
0
        protected override Task OnExecute(ProgressMonitor monitor, ExecutionContext context, ConfigurationSelector configuration)
        {
            return(Task.Factory.StartNew(async() => {
                ExternalConsole console = context.ExternalConsoleFactory.CreateConsole(false, monitor.CancellationToken);
                string targetName = "";
                foreach (var target in fileFormat.Targets.Values)
                {
                    if (target.Type == CMakeTarget.Types.Binary)
                    {
                        targetName = target.Name;
                        break;
                    }
                }

                if (string.IsNullOrEmpty(targetName))
                {
                    monitor.ReportError("Can't find an executable target.");
                    return;
                }
                FilePath f = BaseDirectory.Combine(outputDirectory);
                NativeExecutionCommand cmd;
                if (File.Exists(f.Combine(targetName)))
                {
                    cmd = new NativeExecutionCommand(f.Combine(targetName));
                }
                else if (File.Exists(f.Combine(string.Format("{0}.{1}", targetName, "exe"))))
                {
                    cmd = new NativeExecutionCommand(f.Combine(string.Format("{0}.{1}", targetName, "exe")));
                }
                else if (File.Exists(f.Combine("./Debug", targetName)))
                {
                    cmd = new NativeExecutionCommand(f.Combine("./Debug", targetName));
                }
                else if (File.Exists(f.Combine("./Debug", string.Format("{0}.{1}", targetName, "exe"))))
                {
                    cmd = new NativeExecutionCommand(f.Combine("./Debug", string.Format("{0}.{1}", targetName, "exe")));
                }
                else
                {
                    monitor.ReportError("Can't determine executable path.");
                    return;
                }

                try {
                    var handler = Runtime.ProcessService.GetDefaultExecutionHandler(cmd);
                    var op = handler.Execute(cmd, console);

                    using (var t = monitor.CancellationToken.Register(op.Cancel))
                        await op.Task;

                    monitor.Log.WriteLine("The operation exited with code: {0}", op.ExitCode);
                } catch (Exception ex) {
                    monitor.ReportError("Can't execute the target.", ex);
                } finally {
                    console.Dispose();
                }
            }));
        }
Exemple #2
0
 private static void OnProcessExit(object sender, EventArgs e)
 {
     Logger.Log("Exiting...");
     Logger.Trace(config.ToJson());
     Config.Save(config);
     ExternalConsole.Dispose();
     Application.Exit();
     System.Diagnostics.Process.GetCurrentProcess().Kill();
 }
Exemple #3
0
 static void OnProcessExit(object sender, EventArgs e)
 {
     Logger.Log("Exiting...");
     // LogReader.Dispose();
     // IPC.Launcher.Dispose();
     ExternalConsole.Dispose();
     Application.Exit();
     Process.GetCurrentProcess().Kill();
 }
Exemple #4
0
 private void cbox_DOFenable_CheckedChanged(object sender, EventArgs e)
 {
     if (cbox_DOFenable.Checked)
     {
         ExternalConsole.Send("r_Dof_Tweak 1;r_Dof_Bias 1;r_Dof_Enable 1;");
     }
     else
     {
         ExternalConsole.Send("r_Dof_Tweak 0;r_Dof_Bias 0;r_Dof_Enable 0;");
     }
 }
Exemple #5
0
        private static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
            Logger.Debug("Current Date and Time: {0} (UTC: {1})", DateTime.Now, DateTime.UtcNow);
            var assembly = System.Reflection.Assembly.GetEntryAssembly().GetName();

            Logger.Debug("{0} v{1} ({2}) with args: {3}", assembly.Name, assembly.Version, assembly.ProcessorArchitecture, string.Join(" ", args));
            Parser.Default.ParseArguments <Options>(args).WithParsed(o => Arguments = o).WithNotParsed(o => Logger.Error("Unable to parse arguments: {0}", o.First().Tag));
            Logger.Trace("Parsed arguments: {}", Arguments.ToJson());
            if (Arguments.ConsoleEnabled)
            {
                ExternalConsole.InitConsole();
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            mainWindow = new Main();
            Application.Run(mainWindow);
            Logger.Debug("Ended");
            OnProcessExit(false, new EventArgs());
        }
Exemple #6
0
 /// <summary>
 /// Send the configs to your call of duty game
 /// </summary>
 /// <param name="dvars"></param>
 private void SendDvarToGame(string dvars)
 {
     // int test = dvars.Count();
     ExternalConsole.Send($"{dvars};");
 }