void Ribbon_HaRepackerClicked()
        {
            WaitWindow ww = new WaitWindow("Opening HaRepacker...");

            ww.Show();
            Application.DoEvents();
            HaRepacker.Program.WzMan = new HaRepacker.WzFileManager();
            bool firstRun = HaRepacker.Program.PrepareApplication(false);

            HaRepacker.GUI.MainForm mf = new HaRepacker.GUI.MainForm(null, false, firstRun);
            mf.unloadAllToolStripMenuItem.Visible = false;
            mf.reloadAllToolStripMenuItem.Visible = false;
            foreach (KeyValuePair <string, WzFile> entry in Program.WzManager.wzFiles)
            {
                mf.Interop_AddLoadedWzFileToManager(entry.Value);
            }
            ww.EndWait();
            lock (multiBoard)
            {
                mf.ShowDialog();
            }
            HaRepacker.Program.EndApplication(false, false);
        }
        void MultiBoard_ImageDropped(Board selectedBoard, System.Drawing.Bitmap bmp, string name, Microsoft.Xna.Framework.Point pos)
        {
            WaitWindow ww = new WaitWindow("Processing \"" + name + "\"...");

            ww.Show();
            Application.DoEvents();
            ObjectInfo oi = null;

            try
            {
                oi = multiBoard.UserObjects.Add(bmp, name);
            }
            catch (NameAlreadyUsedException)
            {
                MessageBox.Show("\"" + name + "\" could not be added because an object with the same name already exists.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            finally
            {
                ww.EndWait();
            }
            selectedBoard.BoardItems.Add(oi.CreateInstance(selectedBoard.SelectedLayer, selectedBoard, pos.X, pos.Y, 0, false), true);
            objPanel.OnL1Changed(UserObjectsManager.l1);
        }