private void clickView(object sender, EventArgs e)
{
int slot = getSlot(sender);
int offset = getPKXOffset(slot);
PictureBox[] pba = {
bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6,
bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12,
bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18,
bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24,
bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30,
ppkx1, ppkx2, ppkx3, ppkx4, ppkx5, ppkx6,
bbpkx1,bbpkx2,bbpkx3,bbpkx4,bbpkx5,bbpkx6,
dcpkx1, dcpkx2, gtspkx, fusedpkx,subepkx1,subepkx2,subepkx3,
};
PictureBox picturebox = pba[slot];
if (picturebox.Image == null)
{ System.Media.SystemSounds.Exclamation.Play(); return; }
// Load the PKX file
if (BitConverter.ToUInt64(savefile, offset + 8) != 0)
{
byte[] ekxdata = new byte[0xE8];
Array.Copy(savefile, offset, ekxdata, 0, 0xE8);
byte[] pkxdata = PKX.decryptArray(ekxdata);
int species = BitConverter.ToInt16(pkxdata, 0x08); // Get Species
if (species == 0)
{
System.Media.SystemSounds.Exclamation.Play();
return;
}
try
{
Array.Copy(pkxdata, buff, 0xE8);
populateFields(buff);
}
catch // If it fails, try XORing encrypted zeroes
{
try
{
byte[] blank = PKX.encryptArray(new byte[0xE8]);
for (int i = 0; i < 0xE8; i++)
blank[i] = (byte)(buff[i] ^ blank[i]);
populateFields(blank);
}
catch // Still fails, just let the original errors occur.
{ populateFields(buff); }
}
// Visual to display what slot is currently loaded.
getSlotColor(slot, Properties.Resources.slotView);
}
else
System.Media.SystemSounds.Exclamation.Play();
}
private void clickSet(object sender, EventArgs e)