PKHeX.Form1.mainMenuBoxDumpLoad C# (CSharp) Method

mainMenuBoxDumpLoad() private method

private mainMenuBoxDumpLoad ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void mainMenuBoxDumpLoad(object sender, EventArgs e)
        {
            DialogResult dr = Util.Prompt(MessageBoxButtons.YesNoCancel, "Press Yes to Import All from Folder." + Environment.NewLine + "Press No to Dump All to Folder.", "Press Cancel to Abort.");
            if (dr == DialogResult.Cancel) return;
            string exepath = Application.StartupPath;
            string path = "";
            {
                int offset = SaveGame.Box;
                const int size = 232;
                if (dr == DialogResult.Yes) // Import
                {
                    if (Directory.Exists(Path.Combine(exepath, "db")))
                    {
                        DialogResult ld = Util.Prompt(MessageBoxButtons.YesNo, "Load from PKHeX's database?");
                        if (ld == DialogResult.Yes)
                            path = Path.Combine(exepath, "db");
                        else if (ld == DialogResult.No)
                        {
                            // open folder dialog
                            FolderBrowserDialog fbd = new FolderBrowserDialog();
                            if (fbd.ShowDialog() == DialogResult.OK)
                                path = fbd.SelectedPath;
                        }
                        else return;
                    }
                    else
                    {
                        // open folder dialog
                        FolderBrowserDialog fbd = new FolderBrowserDialog();
                        if (fbd.ShowDialog() == DialogResult.OK)
                            path = fbd.SelectedPath;
                    }
                    loadBoxesFromDB(path);
                }
                else if (dr == DialogResult.No)
                {
                    // Dump all of box content to files.
                    {
                        DialogResult ld = Util.Prompt(MessageBoxButtons.YesNo, "Save to PKHeX's database?");
                        if (ld == DialogResult.Yes)
                        {
                            path = Path.Combine(exepath, "db");
                            if (!Directory.Exists(path))
                                Directory.CreateDirectory(path);
                        }
                        else if (ld == DialogResult.No)
                        {
                            // open folder dialog
                            FolderBrowserDialog fbd = new FolderBrowserDialog();
                            if (fbd.ShowDialog() == DialogResult.OK)
                                path = fbd.SelectedPath;
                        }
                        else return;
                    }
                    for (int i = 0; i < 31 * 30 * size; i += size)
                    {
                        byte[] ekxdata = new byte[size];
                        Array.Copy(savefile, offset + i, ekxdata, 0, size);
                        byte[] pkxdata = PKX.decryptArray(ekxdata);


                        int species = BitConverter.ToInt16(pkxdata, 0x08);
                        if (species == 0) continue;
                        uint chk = BitConverter.ToUInt16(pkxdata, 0x06);
                        uint EC = BitConverter.ToUInt32(pkxdata, 0);
                        uint IV32 = BitConverter.ToUInt32(pkxdata, 0x74);

                        string nick;
                        if (Convert.ToBoolean((IV32 >> 31) & 1))
                            nick = Util.TrimFromZero(Encoding.Unicode.GetString(pkxdata, 0x40, 24)) + " (" + specieslist[species] + ")";
                        else
                            nick = specieslist[species];
                        if (Convert.ToBoolean((IV32 >> 30) & 1))
                            nick += " (" + eggname + ")";

                        string isshiny = "";

                        // Is Shiny
                        if (PKX.getIsShiny(BitConverter.ToUInt32(pkxdata, 0x18), Util.ToUInt32(TB_TID.Text), Util.ToUInt32(TB_SID.Text)))
                            isshiny = " ★";

                        string savedname =
                            species.ToString("000") + isshiny + " - "
                            + nick + " - "
                            + chk.ToString("X4") + EC.ToString("X8")
                            + ".pk6";
                        Array.Resize(ref pkxdata, 232);
                        if (!File.Exists(Path.Combine(path, savedname)))
                            File.WriteAllBytes(Path.Combine(path, Util.CleanFileName(savedname)), pkxdata);
                    }
                }
            }
        }
        private void loadBoxesFromDB(string path)
Form1