mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-16 13:28:35 +00:00
Adding Special Characters text entry
This commit is contained in:
parent
8350141e43
commit
ff97a7a973
6 changed files with 778 additions and 54 deletions
3
PKX/f1-Main.Designer.cs
generated
3
PKX/f1-Main.Designer.cs
generated
|
@ -548,6 +548,7 @@
|
|||
this.CHK_Nicknamed.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.CHK_Nicknamed.UseVisualStyleBackColor = true;
|
||||
this.CHK_Nicknamed.CheckedChanged += new System.EventHandler(this.updateNickname);
|
||||
this.CHK_Nicknamed.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick);
|
||||
//
|
||||
// Label_Gender
|
||||
//
|
||||
|
@ -870,7 +871,9 @@
|
|||
//
|
||||
this.TB_Nickname.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.TB_Nickname.Location = new System.Drawing.Point(105, 49);
|
||||
this.TB_Nickname.MaximumSize = new System.Drawing.Size(122, 20);
|
||||
this.TB_Nickname.MaxLength = 12;
|
||||
this.TB_Nickname.MinimumSize = new System.Drawing.Size(122, 20);
|
||||
this.TB_Nickname.Name = "TB_Nickname";
|
||||
this.TB_Nickname.Size = new System.Drawing.Size(122, 20);
|
||||
this.TB_Nickname.TabIndex = 5;
|
||||
|
|
122
PKX/f1-Main.cs
122
PKX/f1-Main.cs
|
@ -180,8 +180,9 @@ namespace PKHeX
|
|||
else if (File.Exists(Util.NormalizePath(Path.Combine(Util.GetTempFolder(), "root" + Path.DirectorySeparatorChar + "main"))))
|
||||
openQuick(Util.NormalizePath(Path.Combine(Util.GetTempFolder() , "root" + Path.DirectorySeparatorChar + "main")));
|
||||
|
||||
TB_Nickname.Font = PKX.getPKXFont(11F);
|
||||
// Close splash screen.
|
||||
init = true;
|
||||
init = true;
|
||||
SplashSCR.Join();
|
||||
this.BringToFront();
|
||||
this.WindowState = FormWindowState.Minimized;
|
||||
|
@ -193,9 +194,9 @@ namespace PKHeX
|
|||
}
|
||||
|
||||
#region Global Variables: Always Visible!
|
||||
public byte[] buff = new Byte[260];
|
||||
public byte[] savefile = new Byte[0x100000];
|
||||
public byte[] cyberSAV = new Byte[0x65600];
|
||||
public byte[] buff = new byte[260];
|
||||
public byte[] savefile = new byte[0x100000];
|
||||
public byte[] cyberSAV = new byte[0x65600];
|
||||
public bool savegame_oras = false;
|
||||
public bool cybergadget = false;
|
||||
public bool savLoaded = false;
|
||||
|
@ -2233,6 +2234,12 @@ namespace PKHeX
|
|||
}
|
||||
}
|
||||
}
|
||||
private void updateNicknameClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
// Special Character Form
|
||||
if (e.Button == MouseButtons.Right)
|
||||
(new f2_Text(TB_Nickname)).Show();
|
||||
}
|
||||
private void updateNotOT(object sender, EventArgs e)
|
||||
{
|
||||
if (TB_OTt2.Text == "")
|
||||
|
@ -2558,7 +2565,7 @@ namespace PKHeX
|
|||
try { populateFields(buff); }
|
||||
catch
|
||||
{
|
||||
Array.Copy(new Byte[232], buff, 232);
|
||||
Array.Copy(new byte[232], buff, 232);
|
||||
populateFields(buff);
|
||||
Util.Error("Imported code did not decrypt properly", "Please verify that what you imported was correct.");
|
||||
}
|
||||
|
@ -2593,7 +2600,7 @@ namespace PKHeX
|
|||
{
|
||||
try
|
||||
{
|
||||
byte[] blank = PKX.encryptArray(new Byte[260]);
|
||||
byte[] blank = PKX.encryptArray(new byte[260]);
|
||||
|
||||
for (int i = 0; i < 232; i++)
|
||||
blank[i] = (byte)(blank[i] ^ input[i]);
|
||||
|
@ -2617,14 +2624,14 @@ namespace PKHeX
|
|||
if (input.Length == 363 && BitConverter.ToUInt16(input, 0x6B) == 0)
|
||||
{
|
||||
// EAD Packet of 363 length
|
||||
byte[] c = new Byte[260];
|
||||
byte[] c = new byte[260];
|
||||
Array.Copy(input, 0x67, c, 0, 260);
|
||||
input = c;
|
||||
}
|
||||
else if (input.Length == 407 && BitConverter.ToUInt16(input,0x98) == 0)
|
||||
{
|
||||
// EAD Packet of 407 length
|
||||
byte[] c = new Byte[260];
|
||||
byte[] c = new byte[260];
|
||||
Array.Copy(input, 0x93, c, 0, 260);
|
||||
input = c;
|
||||
}
|
||||
|
@ -2637,6 +2644,9 @@ namespace PKHeX
|
|||
// Verify the Data Input Size is Proper
|
||||
else if (input.Length == 0x100000)
|
||||
{
|
||||
if (BitConverter.ToUInt64(input,0x10) != 0) // encrypted save
|
||||
{ Util.Error("PKHeX only edits decrypted save files.", "This save file is not decrypted."); return; }
|
||||
|
||||
B_ExportSAV.Enabled = false;
|
||||
B_SwitchSAV.Enabled = false;
|
||||
B_JPEG.Enabled = false;
|
||||
|
@ -2727,7 +2737,7 @@ namespace PKHeX
|
|||
}
|
||||
catch
|
||||
{
|
||||
Array.Copy(new Byte[232], buff, 232);
|
||||
Array.Copy(new byte[232], buff, 232);
|
||||
populateFields(buff);
|
||||
Util.Error("Attempted to load previous generation PKM.", "Conversion failed.");
|
||||
}
|
||||
|
@ -2743,7 +2753,7 @@ namespace PKHeX
|
|||
|
||||
// Load CyberGadget
|
||||
this.savindex = 0;
|
||||
this.savefile = new Byte[0x100000];
|
||||
this.savefile = new byte[0x100000];
|
||||
this.cyberSAV = input;
|
||||
cybergadget = true;
|
||||
B_ExportSAV.Enabled = true;
|
||||
|
@ -2765,14 +2775,14 @@ namespace PKHeX
|
|||
SHA256 mySHA256 = SHA256Managed.Create();
|
||||
|
||||
// Check both IVFC Hashes
|
||||
byte[] zeroarray = new Byte[0x200];
|
||||
byte[] zeroarray = new byte[0x200];
|
||||
Array.Copy(savefile, 0x2000 + 0 * 0x7F000, zeroarray, 0, 0x20);
|
||||
byte[] hashValue1 = mySHA256.ComputeHash(zeroarray);
|
||||
Array.Copy(savefile, 0x2000 + 1 * 0x7F000, zeroarray, 0, 0x20);
|
||||
byte[] hashValue2 = mySHA256.ComputeHash(zeroarray);
|
||||
|
||||
byte[] realHash1 = new Byte[0x20];
|
||||
byte[] realHash2 = new Byte[0x20];
|
||||
byte[] realHash1 = new byte[0x20];
|
||||
byte[] realHash2 = new byte[0x20];
|
||||
|
||||
Array.Copy(savefile, 0x43C - 0 * 0x130, realHash1, 0, 0x20);
|
||||
Array.Copy(savefile, 0x43C - 1 * 0x130, realHash2, 0, 0x20);
|
||||
|
@ -3096,7 +3106,7 @@ namespace PKHeX
|
|||
if (BitConverter.ToUInt16(pkx, 0x5A + 2 * i) == 0)
|
||||
{
|
||||
Array.Copy(pkx, 0x5C + 2 * i, pkx, 0x5A + 2 * i, 2); // Shift moves down
|
||||
Array.Copy(new Byte[2], 0, pkx, 0x5C + 2 * i, 2); // Clear next move (error shifted down)
|
||||
Array.Copy(new byte[2], 0, pkx, 0x5C + 2 * i, 2); // Clear next move (error shifted down)
|
||||
|
||||
// Move PP and PP Ups down one byte.
|
||||
pkx[0x62 + i] = pkx[0x63 + i]; pkx[0x63 + i] = 0; // PP
|
||||
|
@ -3110,7 +3120,7 @@ namespace PKHeX
|
|||
if (BitConverter.ToUInt16(pkx, 0x6A + 2 * i) == 0)
|
||||
{
|
||||
Array.Copy(pkx, 0x6C + 2 * i, pkx, 0x6A + 2 * i, 2); // Shift moves down
|
||||
Array.Copy(new Byte[2], 0, pkx, 0x6C + 2 * i, 2); // Clear next move (error shifted down)
|
||||
Array.Copy(new byte[2], 0, pkx, 0x6C + 2 * i, 2); // Clear next move (error shifted down)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3255,7 +3265,7 @@ namespace PKHeX
|
|||
|
||||
for (int i = 0; i < length.Length; i++)
|
||||
{
|
||||
byte[] data = new Byte[length[i]];
|
||||
byte[] data = new byte[length[i]];
|
||||
Array.Copy(savefile, start[i], data, 0, length[i]);
|
||||
ushort checksum = PKX.ccitt16(data);
|
||||
ushort actualsum = BitConverter.ToUInt16(savefile, csoff + i * 0x8);
|
||||
|
@ -3278,7 +3288,7 @@ namespace PKHeX
|
|||
int invalid2 = 0;
|
||||
for (int i = 0; i < length.Length; i++)
|
||||
{
|
||||
byte[] data = new Byte[length[i]];
|
||||
byte[] data = new byte[length[i]];
|
||||
Array.Copy(savefile, start[i], data, 0, length[i]);
|
||||
ushort checksum = PKX.ccitt16(data);
|
||||
ushort actualsum = BitConverter.ToUInt16(savefile,csoff + i * 0x8);
|
||||
|
@ -3421,10 +3431,10 @@ namespace PKHeX
|
|||
uint offset = hashtabledata[2 + 4 * i];
|
||||
uint blocksize = hashtabledata[3 + 4 * i];
|
||||
|
||||
byte[] zeroarray = new Byte[blocksize];
|
||||
byte[] zeroarray = new byte[blocksize];
|
||||
Array.Copy(savefile, start, zeroarray, 0, length + 1);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
byte[] actualhash = new Byte[0x20];
|
||||
byte[] actualhash = new byte[0x20];
|
||||
Array.Copy(savefile, offset, actualhash, 0, 0x20);
|
||||
|
||||
if (!hashValue.SequenceEqual(actualhash))
|
||||
|
@ -3457,10 +3467,10 @@ namespace PKHeX
|
|||
uint offset = hashtabledata[2 + 4 * i];
|
||||
uint blocksize = hashtabledata[3 + 4 * i];
|
||||
|
||||
byte[] zeroarray = new Byte[blocksize];
|
||||
byte[] zeroarray = new byte[blocksize];
|
||||
Array.Copy(savefile, start, zeroarray, 0, length + 1);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
byte[] actualhash = new Byte[0x20];
|
||||
byte[] actualhash = new byte[0x20];
|
||||
Array.Copy(savefile, offset, actualhash, 0, 0x20);
|
||||
|
||||
if (!hashValue.SequenceEqual(actualhash))
|
||||
|
@ -3476,10 +3486,10 @@ namespace PKHeX
|
|||
|
||||
// Check the Upper Level IVFC Hashes
|
||||
{
|
||||
byte[] zeroarray = new Byte[0x200];
|
||||
byte[] zeroarray = new byte[0x200];
|
||||
Array.Copy(savefile, 0x2000, zeroarray, 0, 0x20);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
byte[] actualhash = new Byte[0x20];
|
||||
byte[] actualhash = new byte[0x20];
|
||||
Array.Copy(savefile, 0x43C, actualhash, 0, 0x20);
|
||||
if (!hashValue.SequenceEqual(actualhash))
|
||||
{
|
||||
|
@ -3487,10 +3497,10 @@ namespace PKHeX
|
|||
}
|
||||
}
|
||||
{
|
||||
byte[] zeroarray = new Byte[0x200];
|
||||
byte[] zeroarray = new byte[0x200];
|
||||
Array.Copy(savefile, 0x81000, zeroarray, 0, 0x20);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
byte[] actualhash = new Byte[0x20];
|
||||
byte[] actualhash = new byte[0x20];
|
||||
Array.Copy(savefile, 0x30C, actualhash, 0, 0x20);
|
||||
if (!hashValue.SequenceEqual(actualhash))
|
||||
{
|
||||
|
@ -3498,13 +3508,13 @@ namespace PKHeX
|
|||
}
|
||||
}
|
||||
{
|
||||
byte[] difihash1 = new Byte[0x12C];
|
||||
byte[] difihash2 = new Byte[0x12C];
|
||||
byte[] difihash1 = new byte[0x12C];
|
||||
byte[] difihash2 = new byte[0x12C];
|
||||
Array.Copy(savefile, 0x330, difihash1, 0, 0x12C);
|
||||
Array.Copy(savefile, 0x200, difihash2, 0, 0x12C);
|
||||
byte[] hashValue1 = mySHA256.ComputeHash(difihash1);
|
||||
byte[] hashValue2 = mySHA256.ComputeHash(difihash2);
|
||||
byte[] actualhash = new Byte[0x20];
|
||||
byte[] actualhash = new byte[0x20];
|
||||
Array.Copy(savefile, 0x16C, actualhash, 0, 0x20);
|
||||
if (hashValue1.SequenceEqual(actualhash))
|
||||
{
|
||||
|
@ -3523,7 +3533,7 @@ namespace PKHeX
|
|||
private void exportSAV(object sender, EventArgs e)
|
||||
{
|
||||
// Create another version of the save file.
|
||||
byte[] editedsav = new Byte[0x100000];
|
||||
byte[] editedsav = new byte[0x100000];
|
||||
Array.Copy(savefile, editedsav, savefile.Length);
|
||||
// Since we only edited one of the save files, we only have to fix half of the chk/hashes!
|
||||
|
||||
|
@ -3549,7 +3559,7 @@ namespace PKHeX
|
|||
|
||||
for (int i = 0; i < length.Length; i++)
|
||||
{
|
||||
byte[] data = new Byte[length[i]];
|
||||
byte[] data = new byte[length[i]];
|
||||
Array.Copy(editedsav, start[i], data, 0, length[i]);
|
||||
ushort checksum = PKX.ccitt16(data);
|
||||
Array.Copy(BitConverter.GetBytes(checksum), 0, editedsav, csoff + i * 8, 2);
|
||||
|
@ -3697,7 +3707,7 @@ namespace PKHeX
|
|||
uint offset = hashtabledata[2 + 4 * i];
|
||||
uint blocksize = hashtabledata[3 + 4 * i];
|
||||
|
||||
byte[] zeroarray = new Byte[blocksize];
|
||||
byte[] zeroarray = new byte[blocksize];
|
||||
Array.Copy(editedsav, start, zeroarray, 0, length + 1);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
Array.Copy(hashValue, 0, editedsav, offset, 0x20);
|
||||
|
@ -3709,7 +3719,7 @@ namespace PKHeX
|
|||
uint offset = hashtabledata[2 + 4 * 1];
|
||||
uint blocksize = hashtabledata[3 + 4 * 1];
|
||||
|
||||
byte[] zeroarray = new Byte[blocksize];
|
||||
byte[] zeroarray = new byte[blocksize];
|
||||
Array.Copy(editedsav, start, zeroarray, 0, length + 1);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
|
||||
|
@ -3722,7 +3732,7 @@ namespace PKHeX
|
|||
uint offset = hashtabledata[2 + 4 * 0];
|
||||
uint blocksize = hashtabledata[3 + 4 * 0];
|
||||
|
||||
byte[] zeroarray = new Byte[blocksize];
|
||||
byte[] zeroarray = new byte[blocksize];
|
||||
Array.Copy(editedsav, start, zeroarray, 0, length + 1);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
|
||||
|
@ -3730,7 +3740,7 @@ namespace PKHeX
|
|||
}
|
||||
// Fix IVFC Hash
|
||||
{
|
||||
byte[] zeroarray = new Byte[0x200];
|
||||
byte[] zeroarray = new byte[0x200];
|
||||
Array.Copy(editedsav, 0x2000 + savindex * 0x7F000, zeroarray, 0, 0x20);
|
||||
byte[] hashValue = mySHA256.ComputeHash(zeroarray);
|
||||
|
||||
|
@ -3738,7 +3748,7 @@ namespace PKHeX
|
|||
}
|
||||
// Fix DISA Hash
|
||||
{
|
||||
byte[] difihash = new Byte[0x12C];
|
||||
byte[] difihash = new byte[0x12C];
|
||||
Array.Copy(editedsav, 0x330 - savindex * 0x130, difihash, 0, 0x12C);
|
||||
byte[] hashValue = mySHA256.ComputeHash(difihash);
|
||||
|
||||
|
@ -3753,12 +3763,12 @@ namespace PKHeX
|
|||
// If CyberGadget
|
||||
if (cybergadget)
|
||||
{
|
||||
byte[] cybersav = new Byte[0x65600];
|
||||
if (savegame_oras) cybersav = new Byte[0x76000];
|
||||
byte[] cybersav = new byte[0x65600];
|
||||
if (savegame_oras) cybersav = new byte[0x76000];
|
||||
Array.Copy(editedsav, 0x5400, cybersav, 0, cybersav.Length);
|
||||
// Chunk Error Checking
|
||||
byte[] FFFF = new Byte[0x200];
|
||||
byte[] section = new Byte[0x200];
|
||||
byte[] FFFF = new byte[0x200];
|
||||
byte[] section = new byte[0x200];
|
||||
for (int i = 0; i < 0x200; i++)
|
||||
FFFF[i] = 0xFF;
|
||||
|
||||
|
@ -3875,7 +3885,7 @@ namespace PKHeX
|
|||
// Load the PKX file
|
||||
if (BitConverter.ToUInt64(savefile, offset + 8) != 0)
|
||||
{
|
||||
byte[] ekxdata = new Byte[0xE8];
|
||||
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
|
||||
|
@ -3893,7 +3903,7 @@ namespace PKHeX
|
|||
{
|
||||
try
|
||||
{
|
||||
byte[] blank = PKX.encryptArray(new Byte[0xE8]);
|
||||
byte[] blank = PKX.encryptArray(new byte[0xE8]);
|
||||
|
||||
for (int i = 0; i < 0xE8; i++)
|
||||
blank[i] = (byte)(buff[i] ^ blank[i]);
|
||||
|
@ -3962,7 +3972,7 @@ namespace PKHeX
|
|||
if (slot == 30 && partycount == 1 && !DEV_Ability.Enabled) { Util.Alert("Can't delete first slot."); return; }
|
||||
int offset = getPKXOffset(slot);
|
||||
|
||||
byte[] pkxdata = new Byte[0x104];
|
||||
byte[] pkxdata = new byte[0x104];
|
||||
byte[] ekxdata = PKX.encryptArray(pkxdata);
|
||||
|
||||
if (slot >= 30 && slot < 36) // Party
|
||||
|
@ -4033,7 +4043,7 @@ namespace PKHeX
|
|||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
// Gather all the species
|
||||
byte[] data = new Byte[0x104];
|
||||
byte[] data = new byte[0x104];
|
||||
Array.Copy(savefile, offset + i * 0x104, data, 0, 0x104);
|
||||
byte[] decdata = PKX.decryptArray(data);
|
||||
int species = BitConverter.ToInt16(decdata,8);
|
||||
|
@ -4049,7 +4059,7 @@ namespace PKHeX
|
|||
// Zero out the party slots that are empty.
|
||||
for (int i = 0; i < 6; i++)
|
||||
if (i >= partymembers)
|
||||
Array.Copy(PKX.encryptArray(new Byte[0x104]), 0, savefile, offset + (i * 0x104), 0x104);
|
||||
Array.Copy(PKX.encryptArray(new byte[0x104]), 0, savefile, offset + (i * 0x104), 0x104);
|
||||
|
||||
// Repeat for Battle Box.
|
||||
byte battlemem = 0;
|
||||
|
@ -4057,7 +4067,7 @@ namespace PKHeX
|
|||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
// Gather all the species
|
||||
byte[] data = new Byte[0x104];
|
||||
byte[] data = new byte[0x104];
|
||||
Array.Copy(savefile, offset2 + i * 0xE8, data, 0, 0xE8);
|
||||
byte[] decdata = PKX.decryptArray(data);
|
||||
int species = BitConverter.ToInt16(decdata, 8);
|
||||
|
@ -4071,7 +4081,7 @@ namespace PKHeX
|
|||
// Zero out the party slots that are empty.
|
||||
for (int i = 0; i < 6; i++)
|
||||
if (i >= battlemem)
|
||||
Array.Copy(PKX.encryptArray(new Byte[0x104]), 0, savefile, offset2 + (i * 0xE8), 0xE8);
|
||||
Array.Copy(PKX.encryptArray(new byte[0x104]), 0, savefile, offset2 + (i * 0xE8), 0xE8);
|
||||
|
||||
if (battlemem == 0)
|
||||
savefile[offset2 + 6 * 0xE8 + savindex * 0x7F000] = 0;
|
||||
|
@ -4273,7 +4283,7 @@ namespace PKHeX
|
|||
}
|
||||
private void getSlotFiller(int offset, PictureBox pb)
|
||||
{
|
||||
byte[] slotdata = new Byte[0xE8];
|
||||
byte[] slotdata = new byte[0xE8];
|
||||
Array.Copy(savefile, offset, slotdata, 0, 0xE8); // Fill Our EKX Slot
|
||||
byte[] dslotdata = PKX.decryptArray(slotdata);
|
||||
|
||||
|
@ -4281,7 +4291,7 @@ namespace PKHeX
|
|||
for (int i = 8; i < 232; i += 2) // Loop through the entire PKX
|
||||
chk += BitConverter.ToUInt16(dslotdata, i);
|
||||
|
||||
if (chk != BitConverter.ToUInt16(dslotdata, 6) && (!savLoaded && !slotdata.SequenceEqual(new Byte[0xE8]))) // Bad Egg
|
||||
if (chk != BitConverter.ToUInt16(dslotdata, 6) && (!savLoaded && !slotdata.SequenceEqual(new byte[0xE8]))) // Bad Egg
|
||||
{
|
||||
pb.Image = null;
|
||||
pb.BackColor = Color.Red;
|
||||
|
@ -4449,7 +4459,7 @@ namespace PKHeX
|
|||
}
|
||||
for (int i = 0; i < 31 * 30 * size; i += size)
|
||||
{
|
||||
byte[] ekxdata = new Byte[size];
|
||||
byte[] ekxdata = new byte[size];
|
||||
Array.Copy(savefile, offset + i, ekxdata, 0, size);
|
||||
byte[] pkxdata = PKX.decryptArray(ekxdata);
|
||||
|
||||
|
@ -4504,7 +4514,7 @@ namespace PKHeX
|
|||
// Array.Clear(savefile, offset, size * 30 * 31);
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo, "Clear subsequent boxes when importing data?", "If you only want to overwrite for new data, press no.") == DialogResult.Yes)
|
||||
{
|
||||
byte[] ezeros = PKX.encryptArray(new Byte[232]);
|
||||
byte[] ezeros = PKX.encryptArray(new byte[232]);
|
||||
for (int i = ctr; i < 30 * 31; i++)
|
||||
Array.Copy(ezeros, 0, savefile, offset + i * 232, 232);
|
||||
}
|
||||
|
@ -4521,7 +4531,7 @@ namespace PKHeX
|
|||
&& len != 100 && len != 80) // 4th Gen
|
||||
continue;
|
||||
string name = filepaths[i];
|
||||
byte[] data = new Byte[232];
|
||||
byte[] data = new byte[232];
|
||||
string ext = Path.GetExtension(filepaths[i]);
|
||||
if (ext == ".pkm" || ext == ".3gpkm" || ext == ".pk3" || ext == ".pk4" || ext == ".pk5")
|
||||
{
|
||||
|
@ -4824,7 +4834,7 @@ namespace PKHeX
|
|||
}
|
||||
int length = 0xE004;
|
||||
|
||||
byte[] jpeg = new Byte[length];
|
||||
byte[] jpeg = new byte[length];
|
||||
Array.Copy(savefile, offset, jpeg, 0, length);
|
||||
SaveFileDialog savejpeg = new SaveFileDialog();
|
||||
savejpeg.FileName = filename;
|
||||
|
@ -5051,7 +5061,7 @@ namespace PKHeX
|
|||
else
|
||||
{
|
||||
if (ModifierKeys == Keys.Alt)
|
||||
Array.Copy(PKX.encryptArray(new Byte[0xE8]), 0, savefile, pkm_from_offset, 0xE8);
|
||||
Array.Copy(PKX.encryptArray(new byte[0xE8]), 0, savefile, pkm_from_offset, 0xE8);
|
||||
else if (ModifierKeys != Keys.Control)
|
||||
Array.Copy(savefile, offset, savefile, pkm_from_offset, 0xE8); // Copy from new slot to old slot.
|
||||
Array.Copy(pkm_from, 0, savefile, offset, 0xE8); // Copy from temp slot to new.
|
||||
|
@ -5064,7 +5074,7 @@ namespace PKHeX
|
|||
if (e.Data != null)
|
||||
e.Effect = DragDropEffects.Move;
|
||||
}
|
||||
private byte[] pkm_from = PKX.encryptArray(new Byte[0xE8]);
|
||||
private byte[] pkm_from = PKX.encryptArray(new byte[0xE8]);
|
||||
private int pkm_from_offset = 0;
|
||||
private void L_Save_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -5099,6 +5109,10 @@ namespace PKHeX
|
|||
BTN_Shinytize.Text = "☆";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
#region Structs & Classes
|
||||
public class cbItem
|
||||
|
|
438
PKX/f2-Text.Designer.cs
generated
Normal file
438
PKX/f2-Text.Designer.cs
generated
Normal file
|
@ -0,0 +1,438 @@
|
|||
namespace PKHeX
|
||||
{
|
||||
partial class f2_Text
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(f2_Text));
|
||||
this.L04 = new System.Windows.Forms.Label();
|
||||
this.L0C = new System.Windows.Forms.Label();
|
||||
this.L0D = new System.Windows.Forms.Label();
|
||||
this.L05 = new System.Windows.Forms.Label();
|
||||
this.L0E = new System.Windows.Forms.Label();
|
||||
this.L06 = new System.Windows.Forms.Label();
|
||||
this.L0F = new System.Windows.Forms.Label();
|
||||
this.L07 = new System.Windows.Forms.Label();
|
||||
this.L1E = new System.Windows.Forms.Label();
|
||||
this.L16 = new System.Windows.Forms.Label();
|
||||
this.L1F = new System.Windows.Forms.Label();
|
||||
this.L17 = new System.Windows.Forms.Label();
|
||||
this.L18 = new System.Windows.Forms.Label();
|
||||
this.L10 = new System.Windows.Forms.Label();
|
||||
this.L19 = new System.Windows.Forms.Label();
|
||||
this.L11 = new System.Windows.Forms.Label();
|
||||
this.L0B = new System.Windows.Forms.Label();
|
||||
this.L03 = new System.Windows.Forms.Label();
|
||||
this.L0A = new System.Windows.Forms.Label();
|
||||
this.L02 = new System.Windows.Forms.Label();
|
||||
this.L09 = new System.Windows.Forms.Label();
|
||||
this.L01 = new System.Windows.Forms.Label();
|
||||
this.L08 = new System.Windows.Forms.Label();
|
||||
this.L00 = new System.Windows.Forms.Label();
|
||||
this.L1B = new System.Windows.Forms.Label();
|
||||
this.L13 = new System.Windows.Forms.Label();
|
||||
this.L1A = new System.Windows.Forms.Label();
|
||||
this.L12 = new System.Windows.Forms.Label();
|
||||
this.L1D = new System.Windows.Forms.Label();
|
||||
this.L15 = new System.Windows.Forms.Label();
|
||||
this.L1C = new System.Windows.Forms.Label();
|
||||
this.L14 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// L04
|
||||
//
|
||||
this.L04.AutoSize = true;
|
||||
this.L04.Location = new System.Drawing.Point(92, 12);
|
||||
this.L04.Name = "L04";
|
||||
this.L04.Size = new System.Drawing.Size(14, 13);
|
||||
this.L04.TabIndex = 3;
|
||||
this.L04.Text = "X";
|
||||
//
|
||||
// L0C
|
||||
//
|
||||
this.L0C.AutoSize = true;
|
||||
this.L0C.Location = new System.Drawing.Point(92, 34);
|
||||
this.L0C.Name = "L0C";
|
||||
this.L0C.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0C.TabIndex = 4;
|
||||
this.L0C.Text = "X";
|
||||
//
|
||||
// L0D
|
||||
//
|
||||
this.L0D.AutoSize = true;
|
||||
this.L0D.Location = new System.Drawing.Point(112, 34);
|
||||
this.L0D.Name = "L0D";
|
||||
this.L0D.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0D.TabIndex = 6;
|
||||
this.L0D.Text = "X";
|
||||
//
|
||||
// L05
|
||||
//
|
||||
this.L05.AutoSize = true;
|
||||
this.L05.Location = new System.Drawing.Point(112, 12);
|
||||
this.L05.Name = "L05";
|
||||
this.L05.Size = new System.Drawing.Size(14, 13);
|
||||
this.L05.TabIndex = 5;
|
||||
this.L05.Text = "X";
|
||||
//
|
||||
// L0E
|
||||
//
|
||||
this.L0E.AutoSize = true;
|
||||
this.L0E.Location = new System.Drawing.Point(132, 34);
|
||||
this.L0E.Name = "L0E";
|
||||
this.L0E.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0E.TabIndex = 8;
|
||||
this.L0E.Text = "X";
|
||||
//
|
||||
// L06
|
||||
//
|
||||
this.L06.AutoSize = true;
|
||||
this.L06.Location = new System.Drawing.Point(132, 12);
|
||||
this.L06.Name = "L06";
|
||||
this.L06.Size = new System.Drawing.Size(14, 13);
|
||||
this.L06.TabIndex = 7;
|
||||
this.L06.Text = "X";
|
||||
//
|
||||
// L0F
|
||||
//
|
||||
this.L0F.AutoSize = true;
|
||||
this.L0F.Location = new System.Drawing.Point(152, 34);
|
||||
this.L0F.Name = "L0F";
|
||||
this.L0F.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0F.TabIndex = 10;
|
||||
this.L0F.Text = "X";
|
||||
//
|
||||
// L07
|
||||
//
|
||||
this.L07.AutoSize = true;
|
||||
this.L07.Location = new System.Drawing.Point(152, 12);
|
||||
this.L07.Name = "L07";
|
||||
this.L07.Size = new System.Drawing.Size(14, 13);
|
||||
this.L07.TabIndex = 9;
|
||||
this.L07.Text = "X";
|
||||
//
|
||||
// L1E
|
||||
//
|
||||
this.L1E.AutoSize = true;
|
||||
this.L1E.Location = new System.Drawing.Point(132, 81);
|
||||
this.L1E.Name = "L1E";
|
||||
this.L1E.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1E.TabIndex = 12;
|
||||
this.L1E.Text = "X";
|
||||
//
|
||||
// L16
|
||||
//
|
||||
this.L16.AutoSize = true;
|
||||
this.L16.Location = new System.Drawing.Point(132, 59);
|
||||
this.L16.Name = "L16";
|
||||
this.L16.Size = new System.Drawing.Size(14, 13);
|
||||
this.L16.TabIndex = 11;
|
||||
this.L16.Text = "X";
|
||||
//
|
||||
// L1F
|
||||
//
|
||||
this.L1F.AutoSize = true;
|
||||
this.L1F.Location = new System.Drawing.Point(152, 81);
|
||||
this.L1F.Name = "L1F";
|
||||
this.L1F.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1F.TabIndex = 14;
|
||||
this.L1F.Text = "X";
|
||||
//
|
||||
// L17
|
||||
//
|
||||
this.L17.AutoSize = true;
|
||||
this.L17.Location = new System.Drawing.Point(152, 59);
|
||||
this.L17.Name = "L17";
|
||||
this.L17.Size = new System.Drawing.Size(14, 13);
|
||||
this.L17.TabIndex = 13;
|
||||
this.L17.Text = "X";
|
||||
//
|
||||
// L18
|
||||
//
|
||||
this.L18.AutoSize = true;
|
||||
this.L18.Location = new System.Drawing.Point(12, 81);
|
||||
this.L18.Name = "L18";
|
||||
this.L18.Size = new System.Drawing.Size(14, 13);
|
||||
this.L18.TabIndex = 16;
|
||||
this.L18.Text = "X";
|
||||
//
|
||||
// L10
|
||||
//
|
||||
this.L10.AutoSize = true;
|
||||
this.L10.Location = new System.Drawing.Point(12, 59);
|
||||
this.L10.Name = "L10";
|
||||
this.L10.Size = new System.Drawing.Size(14, 13);
|
||||
this.L10.TabIndex = 15;
|
||||
this.L10.Text = "X";
|
||||
//
|
||||
// L19
|
||||
//
|
||||
this.L19.AutoSize = true;
|
||||
this.L19.Location = new System.Drawing.Point(32, 81);
|
||||
this.L19.Name = "L19";
|
||||
this.L19.Size = new System.Drawing.Size(14, 13);
|
||||
this.L19.TabIndex = 18;
|
||||
this.L19.Text = "X";
|
||||
//
|
||||
// L11
|
||||
//
|
||||
this.L11.AutoSize = true;
|
||||
this.L11.Location = new System.Drawing.Point(32, 59);
|
||||
this.L11.Name = "L11";
|
||||
this.L11.Size = new System.Drawing.Size(14, 13);
|
||||
this.L11.TabIndex = 17;
|
||||
this.L11.Text = "X";
|
||||
//
|
||||
// L0B
|
||||
//
|
||||
this.L0B.AutoSize = true;
|
||||
this.L0B.Location = new System.Drawing.Point(72, 34);
|
||||
this.L0B.Name = "L0B";
|
||||
this.L0B.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0B.TabIndex = 26;
|
||||
this.L0B.Text = "X";
|
||||
//
|
||||
// L03
|
||||
//
|
||||
this.L03.AutoSize = true;
|
||||
this.L03.Location = new System.Drawing.Point(72, 12);
|
||||
this.L03.Name = "L03";
|
||||
this.L03.Size = new System.Drawing.Size(14, 13);
|
||||
this.L03.TabIndex = 25;
|
||||
this.L03.Text = "X";
|
||||
//
|
||||
// L0A
|
||||
//
|
||||
this.L0A.AutoSize = true;
|
||||
this.L0A.Location = new System.Drawing.Point(52, 34);
|
||||
this.L0A.Name = "L0A";
|
||||
this.L0A.Size = new System.Drawing.Size(14, 13);
|
||||
this.L0A.TabIndex = 24;
|
||||
this.L0A.Text = "X";
|
||||
//
|
||||
// L02
|
||||
//
|
||||
this.L02.AutoSize = true;
|
||||
this.L02.Location = new System.Drawing.Point(52, 12);
|
||||
this.L02.Name = "L02";
|
||||
this.L02.Size = new System.Drawing.Size(14, 13);
|
||||
this.L02.TabIndex = 23;
|
||||
this.L02.Text = "X";
|
||||
//
|
||||
// L09
|
||||
//
|
||||
this.L09.AutoSize = true;
|
||||
this.L09.Location = new System.Drawing.Point(32, 34);
|
||||
this.L09.Name = "L09";
|
||||
this.L09.Size = new System.Drawing.Size(14, 13);
|
||||
this.L09.TabIndex = 22;
|
||||
this.L09.Text = "X";
|
||||
//
|
||||
// L01
|
||||
//
|
||||
this.L01.AutoSize = true;
|
||||
this.L01.Location = new System.Drawing.Point(32, 12);
|
||||
this.L01.Name = "L01";
|
||||
this.L01.Size = new System.Drawing.Size(14, 13);
|
||||
this.L01.TabIndex = 21;
|
||||
this.L01.Text = "X";
|
||||
//
|
||||
// L08
|
||||
//
|
||||
this.L08.AutoSize = true;
|
||||
this.L08.Location = new System.Drawing.Point(12, 34);
|
||||
this.L08.Name = "L08";
|
||||
this.L08.Size = new System.Drawing.Size(14, 13);
|
||||
this.L08.TabIndex = 20;
|
||||
this.L08.Text = "X";
|
||||
//
|
||||
// L00
|
||||
//
|
||||
this.L00.AutoSize = true;
|
||||
this.L00.Location = new System.Drawing.Point(12, 12);
|
||||
this.L00.Name = "L00";
|
||||
this.L00.Size = new System.Drawing.Size(14, 13);
|
||||
this.L00.TabIndex = 19;
|
||||
this.L00.Text = "X";
|
||||
//
|
||||
// L1B
|
||||
//
|
||||
this.L1B.AutoSize = true;
|
||||
this.L1B.Location = new System.Drawing.Point(72, 81);
|
||||
this.L1B.Name = "L1B";
|
||||
this.L1B.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1B.TabIndex = 30;
|
||||
this.L1B.Text = "X";
|
||||
//
|
||||
// L13
|
||||
//
|
||||
this.L13.AutoSize = true;
|
||||
this.L13.Location = new System.Drawing.Point(72, 59);
|
||||
this.L13.Name = "L13";
|
||||
this.L13.Size = new System.Drawing.Size(14, 13);
|
||||
this.L13.TabIndex = 29;
|
||||
this.L13.Text = "X";
|
||||
//
|
||||
// L1A
|
||||
//
|
||||
this.L1A.AutoSize = true;
|
||||
this.L1A.Location = new System.Drawing.Point(52, 81);
|
||||
this.L1A.Name = "L1A";
|
||||
this.L1A.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1A.TabIndex = 28;
|
||||
this.L1A.Text = "X";
|
||||
//
|
||||
// L12
|
||||
//
|
||||
this.L12.AutoSize = true;
|
||||
this.L12.Location = new System.Drawing.Point(52, 59);
|
||||
this.L12.Name = "L12";
|
||||
this.L12.Size = new System.Drawing.Size(14, 13);
|
||||
this.L12.TabIndex = 27;
|
||||
this.L12.Text = "X";
|
||||
//
|
||||
// L1D
|
||||
//
|
||||
this.L1D.AutoSize = true;
|
||||
this.L1D.Location = new System.Drawing.Point(112, 81);
|
||||
this.L1D.Name = "L1D";
|
||||
this.L1D.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1D.TabIndex = 34;
|
||||
this.L1D.Text = "X";
|
||||
//
|
||||
// L15
|
||||
//
|
||||
this.L15.AutoSize = true;
|
||||
this.L15.Location = new System.Drawing.Point(112, 59);
|
||||
this.L15.Name = "L15";
|
||||
this.L15.Size = new System.Drawing.Size(14, 13);
|
||||
this.L15.TabIndex = 33;
|
||||
this.L15.Text = "X";
|
||||
//
|
||||
// L1C
|
||||
//
|
||||
this.L1C.AutoSize = true;
|
||||
this.L1C.Location = new System.Drawing.Point(92, 81);
|
||||
this.L1C.Name = "L1C";
|
||||
this.L1C.Size = new System.Drawing.Size(14, 13);
|
||||
this.L1C.TabIndex = 32;
|
||||
this.L1C.Text = "X";
|
||||
//
|
||||
// L14
|
||||
//
|
||||
this.L14.AutoSize = true;
|
||||
this.L14.Location = new System.Drawing.Point(92, 59);
|
||||
this.L14.Name = "L14";
|
||||
this.L14.Size = new System.Drawing.Size(14, 13);
|
||||
this.L14.TabIndex = 31;
|
||||
this.L14.Text = "X";
|
||||
//
|
||||
// f2_Text
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(179, 107);
|
||||
this.Controls.Add(this.L1D);
|
||||
this.Controls.Add(this.L15);
|
||||
this.Controls.Add(this.L1C);
|
||||
this.Controls.Add(this.L14);
|
||||
this.Controls.Add(this.L1B);
|
||||
this.Controls.Add(this.L13);
|
||||
this.Controls.Add(this.L1A);
|
||||
this.Controls.Add(this.L12);
|
||||
this.Controls.Add(this.L0B);
|
||||
this.Controls.Add(this.L03);
|
||||
this.Controls.Add(this.L0A);
|
||||
this.Controls.Add(this.L02);
|
||||
this.Controls.Add(this.L09);
|
||||
this.Controls.Add(this.L01);
|
||||
this.Controls.Add(this.L08);
|
||||
this.Controls.Add(this.L00);
|
||||
this.Controls.Add(this.L19);
|
||||
this.Controls.Add(this.L11);
|
||||
this.Controls.Add(this.L18);
|
||||
this.Controls.Add(this.L10);
|
||||
this.Controls.Add(this.L1F);
|
||||
this.Controls.Add(this.L17);
|
||||
this.Controls.Add(this.L1E);
|
||||
this.Controls.Add(this.L16);
|
||||
this.Controls.Add(this.L0F);
|
||||
this.Controls.Add(this.L07);
|
||||
this.Controls.Add(this.L0E);
|
||||
this.Controls.Add(this.L06);
|
||||
this.Controls.Add(this.L0D);
|
||||
this.Controls.Add(this.L05);
|
||||
this.Controls.Add(this.L0C);
|
||||
this.Controls.Add(this.L04);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "f2_Text";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Special Characters";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label L04;
|
||||
private System.Windows.Forms.Label L0C;
|
||||
private System.Windows.Forms.Label L0D;
|
||||
private System.Windows.Forms.Label L05;
|
||||
private System.Windows.Forms.Label L0E;
|
||||
private System.Windows.Forms.Label L06;
|
||||
private System.Windows.Forms.Label L0F;
|
||||
private System.Windows.Forms.Label L07;
|
||||
private System.Windows.Forms.Label L1E;
|
||||
private System.Windows.Forms.Label L16;
|
||||
private System.Windows.Forms.Label L1F;
|
||||
private System.Windows.Forms.Label L17;
|
||||
private System.Windows.Forms.Label L18;
|
||||
private System.Windows.Forms.Label L10;
|
||||
private System.Windows.Forms.Label L19;
|
||||
private System.Windows.Forms.Label L11;
|
||||
private System.Windows.Forms.Label L0B;
|
||||
private System.Windows.Forms.Label L03;
|
||||
private System.Windows.Forms.Label L0A;
|
||||
private System.Windows.Forms.Label L02;
|
||||
private System.Windows.Forms.Label L09;
|
||||
private System.Windows.Forms.Label L01;
|
||||
private System.Windows.Forms.Label L08;
|
||||
private System.Windows.Forms.Label L00;
|
||||
private System.Windows.Forms.Label L1B;
|
||||
private System.Windows.Forms.Label L13;
|
||||
private System.Windows.Forms.Label L1A;
|
||||
private System.Windows.Forms.Label L12;
|
||||
private System.Windows.Forms.Label L1D;
|
||||
private System.Windows.Forms.Label L15;
|
||||
private System.Windows.Forms.Label L1C;
|
||||
private System.Windows.Forms.Label L14;
|
||||
}
|
||||
}
|
51
PKX/f2-Text.cs
Normal file
51
PKX/f2-Text.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace PKHeX
|
||||
{
|
||||
public partial class f2_Text : Form
|
||||
{
|
||||
public f2_Text(TextBox TB_NN)
|
||||
{
|
||||
this.Hide();
|
||||
InitializeComponent();
|
||||
TB_Nickname = TB_NN;
|
||||
Font pkxFont = PKX.getPKXFont(12F);
|
||||
Label[] lbla = new Label[]
|
||||
{
|
||||
L00, L01, L02, L03, L04, L05, L06, L07,
|
||||
L08, L09, L0A, L0B, L0C, L0D, L0E, L0F,
|
||||
L10, L11, L12, L13, L14, L15, L16, L17,
|
||||
L18, L19, L1A, L1B, L1C, L1D, L1E, L1F,
|
||||
};
|
||||
ushort[] chars = new ushort[]
|
||||
{
|
||||
0xE081, 0xE082, 0xE083, 0xE084, 0xE085, 0xE086, 0xE087, 0xE08D,
|
||||
0xE08E, 0xE08F, 0xE090, 0xE091, 0xE092, 0xE093, 0xE094, 0xE095,
|
||||
0xE096, 0xE097, 0xE098, 0xE099, 0xE09A, 0xE09B, 0xE09C, 0xE09D,
|
||||
0xE09E, 0xE09F, 0xE0A0, 0xE0A1, 0xE0A2, 0xE0A3, 0xE0A4, 0xE0A5,
|
||||
};
|
||||
for (int i = 0; i < 32; i++)
|
||||
{
|
||||
lbla[i].Font = pkxFont;
|
||||
lbla[i].Text = Convert.ToChar(chars[i]).ToString();
|
||||
lbla[i].Click += new EventHandler(OnClick);
|
||||
}
|
||||
this.CenterToParent();
|
||||
this.Show();
|
||||
}
|
||||
TextBox TB_Nickname;
|
||||
private void OnClick(object sender, EventArgs e)
|
||||
{
|
||||
string nickname = TB_Nickname.Text;
|
||||
if (nickname.Length < TB_Nickname.MaxLength)
|
||||
TB_Nickname.Text += (sender as Label).Text;
|
||||
}
|
||||
}
|
||||
}
|
216
PKX/f2-Text.resx
Normal file
216
PKX/f2-Text.resx
Normal file
|
@ -0,0 +1,216 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAE
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAIyMjAQAAAAALCwsPJiYmJysrKycqKionKSkpJykpKScpKSknKioqJyoq
|
||||
KicrKysnJycnJw0ODQ8AAAAAJiYmAQAAAABpaWlHq6ur17+/v+6+vr7svr6+7b6+vu2+vr7tvr6+7b6+
|
||||
vu2+vr7tvr6+7L+/v+6rq6vXampqSAAAAAAoKSgXvr++3eLi4v/g4OD94eHh/+Hh4f/i4uL/4uLi/+Li
|
||||
4v/i4uL/4eHh/+Dh4P/g4OD94uLi/7+/v90sLCwXfn5+PNna2frg4OD/39/f/uHh4f7h4eH+39/f/uDg
|
||||
4P7g4OD+39/f/uHh4f7h4OH+39/f/t/g3//a2tr6g4ODPoOCgz7X19f64+Pj/+Li4v7k5OT/4+Tj//Ly
|
||||
8v/19fX/9PT0//T09P/k5OT/5OTk/+Pj4/7j4+P/19jX+4qLikCDhIM+2tra++Xl5f/k5eT+5OTk//Lz
|
||||
8v+urq7/RUVF/z4+Pv+Zmpn/8fHx/+Xm5f/k5eT+5eXl/9ra2vyLi4tAhYWFPuXm5vvx8vP/7+/w/v//
|
||||
//+sra3/AgIC/15eXv9tbG3/BQUF/4yMjP//////7+/w/vHy8//l5ub8jY2NQC4uLD5LS0f7UFBL/09P
|
||||
Sv5YWVP/FBUS/29wcP///////////5SUlP8PDw//U1NO/1BQS/5PT0r/S0tH/DIyMEAAAAs+AAAM+wAA
|
||||
Dv8AAA/+AwMS/wAAAP+UlJX///////////+3t7n/AAAA/wAAD/8BAQ/+AAAO/wAADPwCAg5ABARSPgoK
|
||||
k/sNDab/DQ2o/hAQvP8CAmj/IiIW/7Kzrv/Cw8D/NDQm/wAATf8QELz/DQ2q/gwMp/8LC5T8Dg5bQAUF
|
||||
Xj4KCpz7DQ2u/w0NsP4NDbX/Dw+//wUFYf8CAhL/AwMP/wMDTf8ODrj/Dg64/w0NsP4MDK7/Cwud/A8P
|
||||
aEEGBmU9DAyl+w4Otf8ODrf+Dw+6/xAQvv8TE8v/EhK+/xAQvP8TE8v/EBDA/w8Puf8PD7f+Dg61/w0N
|
||||
pvsREW9ACAhtQA8PsfsTE77/ExO//xQUwP8UFML/FBTD/xUVyP8WFsn/FRXE/xQUw/8UFMH/ExO//xMT
|
||||
vv8QELL7ERF3QxkZdCgXF771ExPH/xUVyPwVFcn9FhbL/RcXzP0XF8z9FxfM/RcXy/0XF8v9FhbJ/RUV
|
||||
yPwTE8f/Fxe+9RkZdykAAAAAIyOtghsbx/8ZGcj+GRnJ/xoayf8aGsn/GhrK/xoayv8aGsn/GhrJ/xkZ
|
||||
yf8ZGcj+GxvH/yMjrYQAAAAAAADHAQAAAAAzM51FLCyscCoqrGwqKqxtKSmsbSoqrG0qKqxtKSmsbSoq
|
||||
rG0qKqxsLCyscDMznUUAAAAAAAAAAP//AADAAwAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB
|
||||
AACAAQAAgAEAAIABAACAAQAAgAEAAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCR0dHSMWFhY3GBgYORgYGDkYGBg5GBgYORgY
|
||||
GDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5FxcXNx4e
|
||||
HiQuLi4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIARYWFis7OzuVkJCQ2ampqeqqqqrsqqqq7Kqq
|
||||
quyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqq
|
||||
quypqanqkZGR2j09PZcXFxcsUFBQAQAAAAAAAAAAAAAAAAAAAAASEhIuhISEytvb2/7W1tb/19fX/9jY
|
||||
2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY
|
||||
2P/Y2Nj/2NjY/9fX1//W1tb/29vb/oeHh8sTExMvAAAAAAAAAAAAAAAAPDw8DGtra6zZ2dn/2dnZ/9ra
|
||||
2v/b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc
|
||||
3P/c3Nz/3Nzc/9vb2//b29v/29vb/9ra2v/Z2dn/2dnZ/21tba5DQ0MNAAAAAAAAAAAiIiIx1NXU9tna
|
||||
2f/c3Nz/3d3d/93e3f/e3t7/3t7e/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg
|
||||
4P/g4OD/39/f/9/f3//f39//3t/e/97e3v/d3t3/3d3d/9zc3P/Z2tn/1dXV9icnJzMAAAAAAAAAAFhZ
|
||||
WFzf4N//3Nzc/97e3v/f39//39/f/9/g3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li
|
||||
4v/i4uL/4uLi/+Hi4f/h4eH/4eHh/+Dg4P/g4OD/3+Df/9/f3//f39//3t7e/9zc3P/f39//XV1dXQAA
|
||||
AAAAAAAAZmZmZdvc2//e3t7/3+Df/+Dg4P/g4eD/4eHh/+Hi4f/i4uL/4uPi/+Pj4//j4+P/5OTk/+Tk
|
||||
5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/f4N//3t7e/9vb
|
||||
2/9wcHBoAAAAAAAAAABoaGhl3d3d/9/f3//h4eH/4eLh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl
|
||||
5f/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh
|
||||
4f/f39//3N3c/3Nzc2kAAAAAAAAAAGhoaGXe3t7/4ODg/+Li4v/j4+P/4+Pj/+Tk5P/l5eX/5eXl/+bm
|
||||
5v/m5+b/5+fn/+fn5//n6Of/6Ojo/+jo6P/o6Oj/5+fn/+fn5//n5+f/5ubm/+Xl5f/l5eX/5OTk/+Pk
|
||||
4//j4+P/4uLi/+Dg4P/e3t7/c3NzaQAAAAAAAAAAaGhoZd/g3//i4uL/5OTk/+Tl5P/l5eX/5ebl/+bn
|
||||
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
|
||||
wf8REcL/EhLC/xISw/8SEsP/EhLC/xERwv8REcH/ERHA/xERvv8QEL3/EBC7/xAQuv8QELj/Dw+3/w8P
|
||||
tf8ODrD/DAyq/xMTZWsAAAAAAAAAAAcHWmUODrD/EBC2/xERuv8REbz/ERG9/xISvv8SEr//EhLA/xMT
|
||||
wf8TE8P/ExPD/xMTxP8TE8X/FBTF/xQUxf8UFMX/ExPE/xMTxP8TE8P/ExPC/xISwf8SEr//EhK+/xER
|
||||
vf8REbz/ERG6/xAQtv8ODrD/FBRpawAAAAAAAAAACAhcYxAQtf8SErv/ExO+/xQUwP8UFMD/FBTB/xUV
|
||||
wv8VFcP/FRXE/xUVxf8WFsb/FhbG/xYWx/8WFsf/FhbH/xYWx/8WFsf/FhbG/xYWxf8VFcT/FRXD/xUV
|
||||
wv8UFMH/FBTB/xQUwP8TE77/EhK7/xAQtf8TE2hoAAAAAAAAAAAQEFNUFRXC/xMTv/8UFMP/FRXE/xUV
|
||||
xP8VFcX/FRXG/xYWx/8WFsf/FhbI/xYWyf8XF8n/FxfK/xcXyv8XF8r/FxfK/xcXyf8XF8n/FhbI/xYW
|
||||
yP8WFsf/FhbG/xUVxf8VFcT/FRXE/xQUw/8TE7//FRXB/xAQV1UAAAAAAAAAAA0NPxkjI8byFBTD/xUV
|
||||
x/8WFsj/FxfJ/xcXyf8XF8r/FxfK/xcXy/8YGMz/GBjM/xgYzP8YGM3/GBjN/xgYzf8YGM3/GBjM/xgY
|
||||
zP8YGMz/GBjL/xcXy/8XF8r/FxfJ/xcXyf8WFsj/FRXH/xQUw/8jI8f0Dg5GGwAAAAAAAAAAFhZxAiUl
|
||||
eIUZGcr/FBTI/xUVyv8WFsv/FhbM/xYWzP8WFsz/FhbN/xcXzf8XF83/FxfN/xcXzv8XF87/FxfO/xcX
|
||||
zv8XF87/FxfN/xcXzf8WFs3/FhbM/xYWzP8WFsz/FhbL/xUVyv8UFMj/GBjJ/yYmeogWFnYCAAAAAAAA
|
||||
AAAAAAAAGBh1BzMzk50kJNP+FxfK/xgYzP8YGMz/GBjN/xgYzf8YGM3/GBjN/xgYzf8ZGc7/GRnO/xkZ
|
||||
zv8ZGc7/GRnO/xkZzv8YGM3/GBjN/xgYzf8YGM3/GBjN/xgYzP8YGMz/FxfK/yMj0v4zM5WfFBRkBwAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAHBx7Ay0tdkg3N5emMTGpxSwsp8gsLKfILCynyCwsp8gsLKfILCynyCws
|
||||
p8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyDExqcU2NpenLi54Shsb
|
||||
ewMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAD+AAAAfAAAADwAAAA8AAAAPAAAADwAAAA8AA
|
||||
AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
|
||||
AAPAAAADwAAAA8AAAAPAAAAD4AAAB/gAAB//////
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
// Main Window
|
||||
|
||||
Right Click on Nickname/Nickname box to bring up the ingame-special characters.
|
||||
|
||||
Control + Click on...
|
||||
Randomize IVs: Set all IVs to max.
|
||||
Randomize EVs: Set all EVs to 0.
|
||||
|
|
Loading…
Add table
Reference in a new issue