Exemplo n.º 1
0
        public void PopulateData(byte[] InputData, int savindex, int baseoffset)
        {
            SaveData = new byte[InputData.Length];
            Array.Copy(InputData, SaveData, InputData.Length);
            PokemonList PL = new PokemonList();

            PKX.Structures.SaveGame SaveGame = new PKX.Structures.SaveGame("XY");
            if (savindex > 1)
            {
                savindex = 0;
            }
            BoxBar.Maximum = 930 + 100;
            BoxBar.Step    = 1;
            for (int BoxNum = 0; BoxNum < 31; BoxNum++)
            {
                int boxoffset = baseoffset + 0x7F000 * savindex + BoxNum * (0xE8 * 30);
                for (int SlotNum = 0; SlotNum < 30; SlotNum++)
                {
                    BoxBar.PerformStep();
                    int    offset   = boxoffset + 0xE8 * SlotNum;
                    byte[] slotdata = new byte[0xE8];
                    Array.Copy(SaveData, offset, slotdata, 0, 0xE8);
                    byte[] dslotdata = PKX.decryptArray(slotdata);
                    if (BitConverter.ToUInt16(dslotdata, 0x8) == 0)
                    {
                        continue;
                    }
                    string Identifier = String.Format("B{0}:{1}", BoxNum.ToString("00"), SlotNum.ToString("00"));
                    PKX    pkm        = new PKX(dslotdata, Identifier);
                    if ((pkm.EC == "00000000") && (pkm.Species == "---"))
                    {
                        continue;
                    }
                    PL.Add(pkm);
                }
            }
            dgData.DataSource          = PL;
            dgData.AutoGenerateColumns = true;
            BoxBar.Maximum             = 930 + dgData.Columns.Count;
            for (int i = 0; i < dgData.Columns.Count; i++)
            {
                BoxBar.PerformStep();
                if (dgData.Columns[i] is DataGridViewImageColumn)
                {
                    continue;                                               // Don't add sorting for Sprites
                }
                dgData.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic;
            }
            BoxBar.Visible = false;
        }
        public CodeGenerator(Form1 frm1, byte[] formdata)
        {
            m_parent = frm1;
            tabdata  = formdata;
            InitializeComponent();
            this.CenterToParent();
            RTB_Code.Clear();
            TB_Write.Clear();
            SaveGame = m_parent.SaveGame;
            CB_Box.Items.Clear();
            for (int i = 1; i <= 31; i++)
            {
                CB_Box.Items.Add(i.ToString());
            }

            CB_Source.SelectedIndex = 0;
            CB_Slot.SelectedIndex   = 0;
            CB_Box.SelectedIndex    = 0;
        }