Ejemplo n.º 1
0
 private void lblRefLevel_Click(object sender, EventArgs e)
 {
     if (_tool.ReferenceLevel == null)
     {
         WadActions.LoadReferenceLevel(_tool, this);
     }
 }
Ejemplo n.º 2
0
        public FormMain(WadToolClass tool)
        {
            InitializeComponent();
            Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
            // Only how debug menu when a debugger is attached...
            debugToolStripMenuItem.Visible = Debugger.IsAttached;

            _tool = tool;

            panel3D.Configuration = tool.Configuration;
            panel3D.InitializeRendering(DeviceManager.DefaultDeviceManager.Device, tool.Configuration.RenderingItem_Antialias);
            tool.EditorEventRaised += Tool_EditorEventRaised;

            Tool_EditorEventRaised(new InitEvent());

            // Load window size
            Configuration.LoadWindowProperties(this, _tool.Configuration);

            // Try to load reference project on start-up, if specified in config
            if (!string.IsNullOrEmpty(tool.Configuration.Tool_ReferenceProject) &&
                File.Exists(tool.Configuration.Tool_ReferenceProject))
            {
                WadActions.LoadReferenceLevel(tool, this, tool.Configuration.Tool_ReferenceProject);
            }
        }
Ejemplo n.º 3
0
 private void openReferenceLevelToolStripMenuItem_Click(object sender, EventArgs e)
 {
     WadActions.LoadReferenceLevel(_tool, this);
 }
Ejemplo n.º 4
0
 private void butOpenRefLevel_Click(object sender, EventArgs e)
 {
     WadActions.LoadReferenceLevel(_tool, this);
 }
Ejemplo n.º 5
0
        public static void Main(string[] args)
        {
            // Load configuration
            var initialEvents = new List <LogEventInfo>();
            var configuration = new Configuration().LoadOrUseDefault <Configuration>(initialEvents);

            // Update DarkUI configuration
            Colors.Brightness = configuration.UI_FormColor_Brightness / 100.0f;

            // Setup logging
            using (var log = new Logging(configuration.Log_MinLevel, configuration.Log_WriteToFile, configuration.Log_ArchiveN, initialEvents))
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
                Application.ThreadException += (sender, e) =>
                {
                    log.HandleException(e.Exception);
                    using (var dialog = new ThreadExceptionDialog(e.Exception))
                        if (dialog.ShowDialog() == DialogResult.Abort)
                        {
                            Environment.Exit(1);
                        }
                };

                // Show startup help
                if (configuration.StartUpHelp_Show)
                {
                    var help = new FormStartupHelp();
                    Application.Run(help);
                    switch (help.DialogResult)
                    {
                    case DialogResult.Cancel:
                        return;

                    case DialogResult.OK:
                        configuration.StartUpHelp_Show = false;
                        break;
                    }
                }
                configuration.SaveTry();

                // Run
                if (!File.Exists(Application.StartupPath + "\\Catalogs\\TrCatalog.xml"))
                {
                    MessageBox.Show("TrCatalog.xml is missing.\nMake sure you have TrCatalog.xml in /Catalogs/ subfolder.");
                    Environment.Exit(1);
                }
                TrCatalog.LoadCatalog(Application.StartupPath + "\\Catalogs\\TRCatalog.xml");

                Application.AddMessageFilter(new ControlScrollFilter());
                SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());

                using (WadToolClass tool = new WadToolClass(configuration))
                {
                    string startWad = null;
                    string refLevel = null;

                    if (args.Length > 0)
                    {
                        bool loadAsRefLevel = false;

                        foreach (var arg in args)
                        {
                            if (arg.Equals("-r", StringComparison.InvariantCultureIgnoreCase))
                            {
                                loadAsRefLevel = true;
                            }
                            else
                            {
                                if (!File.Exists(arg))
                                {
                                    continue; // No file and no valid argument, don't even try to load anything
                                }
                                if (loadAsRefLevel)
                                {
                                    if (arg.EndsWith("prj2", StringComparison.InvariantCultureIgnoreCase))
                                    {
                                        refLevel = arg;
                                    }
                                }
                                else
                                {
                                    startWad = arg;
                                }

                                loadAsRefLevel = false; // Reset arg mode if no expected path was found next to it
                            }
                        }
                    }

                    using (FormMain form = new FormMain(tool))
                    {
                        form.Show();

                        if (!string.IsNullOrEmpty(refLevel))
                        {
                            WadActions.LoadReferenceLevel(tool, form, refLevel);
                        }
                        if (!string.IsNullOrEmpty(startWad))
                        {
                            WadActions.LoadWad(tool, form, true, startWad);
                        }

                        Application.Run(form);
                    }
                }
            }
        }