Exemple #1
0
        static int Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //if (args == null || args.Length == 0)
            //args = new[]
            //{
            //    "/Autobuild", "/GameFolder",
            //    @"C:\Games\steamapps\common\7 Days To Die DMT",
            //    "/ModFolder", @"C:\7DaysToDie\DMT Mods",
            //};


            if (File.Exists(Application.StartupPath + "/break.txt"))
            {
                return(-10);
            }

            //debug localbuild commands
            //    args = new[] {$@"/GameFolder", @"""C:\Games\steamapps\common\7 Days To Die DMT\""", "/InitialPatch" };
            //@"/updatesource \""C:\!Projects\DMT\DMTViewer\bin\Debug/Update/\""/updatedestination "C:\!Projects\DMT\DMTViewer\bin\Debug""

            //if (args != null && args.Length >0)
            //    MessageBox.Show(String.Join("\r\n", args));

            BuildSettings.Load();

            if (args.Length > 0)
            {
                var data = PatchData.Create(BuildSettings.Instance);


                data.ParseArguments(args);


                if (data.IsUpdate)
                {
                    Updater.Update(data.UpdateSource, data.UpdateDestination);
                    return(0);
                }

                BuildSettings.Instance.Init();
                try
                {
                    if (BuildSettings.AutoBuild)
                    {
                        Logging.Log("Auto Build");
                        new RemoteBuilder().RemoteBuild(null, data);
                        return(0);
                    }
                }
                catch (Exception e)
                {
                    Logging.CommandLine(e.Message);
                }

                return(data.Patch());
            }
            else
            {
                var plugins = Helper.StartFolder() + "/Plugins/";
                if (Directory.Exists(plugins))
                {
                    foreach (var dll in Directory.GetFiles(plugins, "*.dll"))
                    {
                        AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(dll));
                    }
                }

                Application.Run(new frmMain());
                return(0);
            }
        }
Exemple #2
0
        static int Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            if (File.Exists(Application.StartupPath + "/break.txt"))
            {
                Logging.Log("Breaking...");
                return(-10);
            }

            try
            {
                Logging.ResetLog();
                BuildSettings.Load();
                BuildSettings.Instance.Compiler = new RoslynCompiler();
                if (args.Length > 0)
                {
                    var data = PatchData.Create(BuildSettings.Instance);
                    data.ParseArguments(args);
                    data.Init();
                    data.Compiler = BuildSettings.Instance.Compiler = BuildSettings.Instance.Compiler ?? new RoslynCompiler();
                    //Logging.LogError("compiler set to " + BuildSettings.Instance.Compiler.GetType().Name);

                    if (data.IsUpdate)
                    {
                        Logging.Log("Updating...");
                        Updater.Update(data.UpdateSource, data.UpdateDestination);
                        return(0);
                    }

                    BuildSettings.Instance.Init();


                    if (BuildSettings.AutoBuild)
                    {
                        Logging.Log("Auto Build");

                        var t = new System.Threading.Thread(() =>
                        {
                            new RemoteBuilder().RemoteBuild(null, data);
                        });
                        t.Start();

                        while (BuildSettings.AutoBuildComplete == false)
                        {
                            System.Threading.Thread.Sleep(1000);
                        }

                        return(0);
                    }

                    try
                    {
                        var ret = data.Patch();
                        return(ret);
                    }
                    catch (Exception e)
                    {
                        Logging.LogError("Nope: " + e.Message);
                        return(-11234);
                    }
                }
                else
                {
                    var plugins = Helper.StartFolder() + "/Plugins/";
                    if (Directory.Exists(plugins))
                    {
                        foreach (var dll in Directory.GetFiles(plugins, "*.dll"))
                        {
                            AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(dll));
                        }
                    }

                    Application.Run(new frmMain());
                    return(0);
                }
            }
            catch (Exception e)
            {
                Logging.Log("Build error: " + e.Message);
                return(-99);
            }
        }
Exemple #3
0
        static int Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //if (args == null || args.Length == 0)
            //args = new[]
            //{
            //    "/Autobuild", "/GameFolder",
            //    @"C:\Games\steamapps\common\7 Days To Die DMT",
            //    "/ModFolder", @"C:\7DaysToDie\DMT Mods",
            //};

            //args = "/LinkedPatch /GameFolder \"../../\" /ScriptOnly".Split(' ');
            //"/Silent /ScriptOnly /GameFolder ../../ /ModFolder ../../Mods"
            if (File.Exists(Application.StartupPath + "/break.txt"))
            {
                Logging.Log("Breaking...");
                return(-10);
            }
            //debug localbuild commands
            //    args = new[] {$@"/GameFolder", @"""C:\Games\steamapps\common\7 Days To Die DMT\""", "/InitialPatch" };
            //@"/updatesource \""C:\!Projects\DMT\DMTViewer\bin\Debug/Update/\""/updatedestination "C:\!Projects\DMT\DMTViewer\bin\Debug""

            //if (args != null && args.Length >0)
            //    MessageBox.Show(String.Join("\r\n", args));

            try
            {
                BuildSettings.Load();

                if (args.Length > 0)
                {
                    var data = PatchData.Create(BuildSettings.Instance);


                    data.ParseArguments(args);

                    if (data.IsUpdate)
                    {
                        Logging.Log("Updating...");
                        Updater.Update(data.UpdateSource, data.UpdateDestination);
                        return(0);
                    }

                    BuildSettings.Instance.Init();


                    if (BuildSettings.AutoBuild)
                    {
                        Logging.Log("Auto Build");

                        var t = new System.Threading.Thread(() =>
                        {
                            new RemoteBuilder().RemoteBuild(null, data);
                        });
                        t.Start();

                        while (BuildSettings.AutoBuildComplete == false)
                        {
                            System.Threading.Thread.Sleep(1000);
                            //Logging.Log("Thread complete: " + BuildSettings.AutoBuildComplete);
                        }

                        return(0);
                    }

                    try
                    {
                        var ret = data.Patch();
                        return(ret);
                    }
                    catch (Exception e)
                    {
                        Logging.LogError("Nope: " + e.Message);
                        return(-11234);
                    }
                }
                else
                {
                    var plugins = Helper.StartFolder() + "/Plugins/";
                    if (Directory.Exists(plugins))
                    {
                        foreach (var dll in Directory.GetFiles(plugins, "*.dll"))
                        {
                            AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(dll));
                        }
                    }

                    Application.Run(new frmMain());
                    return(0);
                }
            }
            catch (Exception e)
            {
                Logging.Log("Build error: " + e.Message);
                return(-99);
            }
        }