private void saveFavPKM()
{
if (loading || !GB_PKM.Enabled) return;
int index = currentpkm;
byte[] pkm = new byte[0x34];
Array.Copy(BitConverter.GetBytes(Util.getHEXval(TB_EC)), 0, pkm, 0, 4); // EC
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_Species)), 0, pkm, 8, 2);
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_HeldItem)), 0, pkm, 0xA, 2);
pkm[0xC] = (byte)Array.IndexOf(abilitylist, (CB_Ability.Text).Remove((CB_Ability.Text).Length - 4)); // Ability
pkm[0xD] = (byte)(CB_Ability.SelectedIndex << 1); // Number
pkm[0x14] = (byte)Util.getIndex(CB_Nature);
int fegform = 0;
fegform += PKX.getGender(Label_Gender.Text) << 1; // Gender
fegform += ((Util.getIndex(CB_Form)) * 8);
pkm[0x15] = (byte)fegform;
pkm[0x16] = (byte)(Math.Min(Convert.ToInt32( TB_HPEV.Text), 252));
pkm[0x17] = (byte)(Math.Min(Convert.ToInt32(TB_ATKEV.Text), 252));
pkm[0x18] = (byte)(Math.Min(Convert.ToInt32(TB_DEFEV.Text), 252));
pkm[0x19] = (byte)(Math.Min(Convert.ToInt32(TB_SPAEV.Text), 252));
pkm[0x1A] = (byte)(Math.Min(Convert.ToInt32(TB_SPDEV.Text), 252));
pkm[0x1B] = (byte)(Math.Min(Convert.ToInt32(TB_SPEEV.Text), 252));
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_Move1)), 0, pkm, 0x1C, 2);
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_Move2)), 0, pkm, 0x1E, 2);
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_Move3)), 0, pkm, 0x20, 2);
Array.Copy(BitConverter.GetBytes(Util.getIndex(CB_Move4)), 0, pkm, 0x22, 2);
pkm[0x24] = (byte)CB_PPu1.SelectedIndex;
pkm[0x25] = (byte)CB_PPu2.SelectedIndex;
pkm[0x26] = (byte)CB_PPu3.SelectedIndex;
pkm[0x27] = (byte)CB_PPu4.SelectedIndex;
pkm[0x28] = (byte)(Convert.ToByte(TB_HPIV.Text) & 0x1F);
pkm[0x29] = (byte)(Convert.ToByte(TB_ATKIV.Text) & 0x1F);
pkm[0x2A] = (byte)(Convert.ToByte(TB_DEFIV.Text) & 0x1F);
pkm[0x2B] = (byte)(Convert.ToByte(TB_SPAIV.Text) & 0x1F);
pkm[0x2C] = (byte)(Convert.ToByte(TB_SPDIV.Text) & 0x1F);
pkm[0x2D] = (byte)(Convert.ToByte(TB_SPEIV.Text) & 0x1F);
int shiny = (CHK_Shiny.Checked? 1 : 0) << 6;
pkm[0x2D] |= (byte)shiny;
pkm[0x2E] = Convert.ToByte(TB_Friendship.Text);
pkm[0x2F] = (byte)Util.getIndex(CB_Ball);
pkm[0x30] = Convert.ToByte(TB_Level.Text);
for (int i = 0; i < 0x34; i++) // Copy data back to storage.
pkmdata[index - 1, i] = pkm[i];
}
private void loadFavPKM()