From 7d994da811822da3a753d6dcea71f6b37ea2a564 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 4 Jan 2015 10:21:48 -0800 Subject: [PATCH] Integrate Personal and some other utilities --- pk3DS/Main.Designer.cs | 1 + pk3DS/Main.cs | 33 +- pk3DS/Personal.Designer.cs | 1040 ++++++++++++++++++++++++++++++++++++ pk3DS/Personal.cs | 376 +++++++++++++ pk3DS/Personal.resx | 120 +++++ pk3DS/pk3DS.csproj | 9 + 6 files changed, 1576 insertions(+), 3 deletions(-) create mode 100644 pk3DS/Personal.Designer.cs create mode 100644 pk3DS/Personal.cs create mode 100644 pk3DS/Personal.resx diff --git a/pk3DS/Main.Designer.cs b/pk3DS/Main.Designer.cs index b18a724..3e802fa 100644 --- a/pk3DS/Main.Designer.cs +++ b/pk3DS/Main.Designer.cs @@ -201,6 +201,7 @@ private void InitializeComponent() // // L_Lang // + this.L_Lang.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.L_Lang.AutoSize = true; this.L_Lang.Location = new System.Drawing.Point(152, 43); this.L_Lang.Name = "L_Lang"; diff --git a/pk3DS/Main.cs b/pk3DS/Main.cs index bd0c32e..093ec91 100644 --- a/pk3DS/Main.cs +++ b/pk3DS/Main.cs @@ -55,6 +55,7 @@ private void openQuick(string path) } TB_Path.Text = path; GB_Tools.Enabled = true; + backupGARCs(false, "gametext", "storytext", "personal", "trpoke", "trdata"); L_Game.Text = (oras) ? "Game Loaded: ORAS" : "Game Loaded: XY"; changeLanguage(null, null); // Trigger Text Loading } @@ -102,14 +103,29 @@ private void B_StoryText_Click(object sender, EventArgs e) Thread.Sleep(100); if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); }).Start(); - } volatile bool StoryTextOpen = false; + } private void B_Wild_Click(object sender, EventArgs e) { Util.Alert("Not implemented yet."); } private void B_Personal_Click(object sender, EventArgs e) { - Util.Alert("Not implemented yet."); + if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } + new Thread(() => + { + string toEdit = "personal"; + string GARC = getGARCFileName(toEdit); + threadGet(TB_Path.Text + GARC, toEdit, true, true); + while (threads > 0) // Let threads complete + Thread.Sleep(100); + + Invoke((Action)(() => { new Personal(oras).ShowDialog(); })); + // When closed, create a new thread to set the GARC back. + threadSet(TB_Path.Text + GARC, toEdit); + while (threads > 0) // Let threads complete + Thread.Sleep(100); + if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + }).Start(); } private void B_Evolution_Click(object sender, EventArgs e) { @@ -218,6 +234,17 @@ public string getGARCFileName(string request) } return ans; } + public void backupGARCs(bool overwrite, params string[] g) + { + if (!Directory.Exists("backup")) Directory.CreateDirectory("backup"); + foreach (string s in g) + { + string GARC = getGARCFileName(s); + string dest = "backup" + Path.DirectorySeparatorChar + s + String.Format(" (a{0})", GARC.Replace(Path.DirectorySeparatorChar.ToString(), "")); + if (overwrite || !File.Exists(dest)) + File.Copy(TB_Path.Text + GARC, dest); + } + } // Text Requests internal static string[] getText(int file) @@ -249,7 +276,7 @@ private void formClosing(object sender, FormClosingEventArgs e) if (!GB_Tools.Enabled) return; // No data/threads need to be addressed if we haven't loaded anything. // Set the GameText back as other forms may have edited it. threadSet(TB_Path.Text + getGARCFileName("gametext"), "gametext", false); - threadSet(TB_Path.Text + getGARCFileName("personal"), "personal", false); + if (Directory.Exists("personal")) threadSet(TB_Path.Text + getGARCFileName("personal"), "personal", false); int timeout = 0; // Time out after 7 seconds. while (threads > 0 && timeout++ < 70) Thread.Sleep(100); diff --git a/pk3DS/Personal.Designer.cs b/pk3DS/Personal.Designer.cs new file mode 100644 index 0000000..94a9ec3 --- /dev/null +++ b/pk3DS/Personal.Designer.cs @@ -0,0 +1,1040 @@ +namespace pk3DS +{ + partial class Personal + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.L_Mode = new System.Windows.Forms.Label(); + this.CB_Species = new System.Windows.Forms.ComboBox(); + this.L_Species_Precursor = new System.Windows.Forms.Label(); + this.TC_Pokemon = new System.Windows.Forms.TabControl(); + this.TP_General = new System.Windows.Forms.TabPage(); + this.TB_RawColor = new System.Windows.Forms.TextBox(); + this.TB_CatchRate = new System.Windows.Forms.MaskedTextBox(); + this.TB_Stage = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.TB_FormeCount = new System.Windows.Forms.TextBox(); + this.label22 = new System.Windows.Forms.Label(); + this.TB_FormeSprite = new System.Windows.Forms.TextBox(); + this.label21 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.CB_Color = new System.Windows.Forms.ComboBox(); + this.CB_EXPGroup = new System.Windows.Forms.ComboBox(); + this.label19 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.TB_Weight = new System.Windows.Forms.MaskedTextBox(); + this.TB_Height = new System.Windows.Forms.MaskedTextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.CB_Ability3 = new System.Windows.Forms.ComboBox(); + this.CB_Ability2 = new System.Windows.Forms.ComboBox(); + this.CB_Ability1 = new System.Windows.Forms.ComboBox(); + this.CB_EggGroup2 = new System.Windows.Forms.ComboBox(); + this.CB_EggGroup1 = new System.Windows.Forms.ComboBox(); + this.label15 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.TB_BaseExp = new System.Windows.Forms.MaskedTextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.TB_HatchCycles = new System.Windows.Forms.MaskedTextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.TB_Friendship = new System.Windows.Forms.MaskedTextBox(); + this.TB_Gender = new System.Windows.Forms.MaskedTextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.CB_HeldItem3 = new System.Windows.Forms.ComboBox(); + this.CB_HeldItem2 = new System.Windows.Forms.ComboBox(); + this.CB_HeldItem1 = new System.Windows.Forms.ComboBox(); + this.label5 = new System.Windows.Forms.Label(); + this.CB_Type2 = new System.Windows.Forms.ComboBox(); + this.CB_Type1 = new System.Windows.Forms.ComboBox(); + this.label4 = new System.Windows.Forms.Label(); + this.TB_SPEEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_SPDEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_SPAEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_DEFEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_ATKEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_HPEVs = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseSPE = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseSPD = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseSPA = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseDEF = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseATK = new System.Windows.Forms.MaskedTextBox(); + this.TB_BaseHP = new System.Windows.Forms.MaskedTextBox(); + this.Label_HP = new System.Windows.Forms.Label(); + this.Label_ATK = new System.Windows.Forms.Label(); + this.Label_DEF = new System.Windows.Forms.Label(); + this.Label_SPA = new System.Windows.Forms.Label(); + this.Label_SPD = new System.Windows.Forms.Label(); + this.Label_SPE = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.L_BaseStats = new System.Windows.Forms.Label(); + this.TP_MoveTutors = new System.Windows.Forms.TabPage(); + this.PB_MonSprite2 = new System.Windows.Forms.PictureBox(); + this.Lbl_OrasTutors = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.CLB_OrasTutors = new System.Windows.Forms.CheckedListBox(); + this.CLB_MoveTutors = new System.Windows.Forms.CheckedListBox(); + this.CLB_TMHM = new System.Windows.Forms.CheckedListBox(); + this.TC_Pokemon.SuspendLayout(); + this.TP_General.SuspendLayout(); + this.TP_MoveTutors.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MonSprite2)).BeginInit(); + this.SuspendLayout(); + // + // L_Mode + // + this.L_Mode.AutoSize = true; + this.L_Mode.Location = new System.Drawing.Point(718, 15); + this.L_Mode.Name = "L_Mode"; + this.L_Mode.Size = new System.Drawing.Size(64, 13); + this.L_Mode.TabIndex = 1; + this.L_Mode.Text = "Mode: ????"; + // + // CB_Species + // + this.CB_Species.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Species.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Species.FormattingEnabled = true; + this.CB_Species.Location = new System.Drawing.Point(119, 12); + this.CB_Species.Name = "CB_Species"; + this.CB_Species.Size = new System.Drawing.Size(160, 21); + this.CB_Species.TabIndex = 2; + this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.CB_Species_SelectedIndexChanged); + // + // L_Species_Precursor + // + this.L_Species_Precursor.AutoSize = true; + this.L_Species_Precursor.Location = new System.Drawing.Point(25, 15); + this.L_Species_Precursor.Name = "L_Species_Precursor"; + this.L_Species_Precursor.Size = new System.Drawing.Size(88, 13); + this.L_Species_Precursor.TabIndex = 3; + this.L_Species_Precursor.Text = "Current Species: "; + // + // TC_Pokemon + // + this.TC_Pokemon.Controls.Add(this.TP_General); + this.TC_Pokemon.Controls.Add(this.TP_MoveTutors); + this.TC_Pokemon.Location = new System.Drawing.Point(24, 39); + this.TC_Pokemon.Name = "TC_Pokemon"; + this.TC_Pokemon.SelectedIndex = 0; + this.TC_Pokemon.Size = new System.Drawing.Size(768, 235); + this.TC_Pokemon.TabIndex = 416; + // + // TP_General + // + this.TP_General.Controls.Add(this.TB_RawColor); + this.TP_General.Controls.Add(this.TB_CatchRate); + this.TP_General.Controls.Add(this.TB_Stage); + this.TP_General.Controls.Add(this.label25); + this.TP_General.Controls.Add(this.label24); + this.TP_General.Controls.Add(this.label23); + this.TP_General.Controls.Add(this.TB_FormeCount); + this.TP_General.Controls.Add(this.label22); + this.TP_General.Controls.Add(this.TB_FormeSprite); + this.TP_General.Controls.Add(this.label21); + this.TP_General.Controls.Add(this.label20); + this.TP_General.Controls.Add(this.CB_Color); + this.TP_General.Controls.Add(this.CB_EXPGroup); + this.TP_General.Controls.Add(this.label19); + this.TP_General.Controls.Add(this.label18); + this.TP_General.Controls.Add(this.TB_Weight); + this.TP_General.Controls.Add(this.TB_Height); + this.TP_General.Controls.Add(this.label17); + this.TP_General.Controls.Add(this.label16); + this.TP_General.Controls.Add(this.CB_Ability3); + this.TP_General.Controls.Add(this.CB_Ability2); + this.TP_General.Controls.Add(this.CB_Ability1); + this.TP_General.Controls.Add(this.CB_EggGroup2); + this.TP_General.Controls.Add(this.CB_EggGroup1); + this.TP_General.Controls.Add(this.label15); + this.TP_General.Controls.Add(this.label14); + this.TP_General.Controls.Add(this.TB_BaseExp); + this.TP_General.Controls.Add(this.label13); + this.TP_General.Controls.Add(this.label12); + this.TP_General.Controls.Add(this.TB_HatchCycles); + this.TP_General.Controls.Add(this.label11); + this.TP_General.Controls.Add(this.TB_Friendship); + this.TP_General.Controls.Add(this.TB_Gender); + this.TP_General.Controls.Add(this.label10); + this.TP_General.Controls.Add(this.label9); + this.TP_General.Controls.Add(this.label8); + this.TP_General.Controls.Add(this.label7); + this.TP_General.Controls.Add(this.label6); + this.TP_General.Controls.Add(this.CB_HeldItem3); + this.TP_General.Controls.Add(this.CB_HeldItem2); + this.TP_General.Controls.Add(this.CB_HeldItem1); + this.TP_General.Controls.Add(this.label5); + this.TP_General.Controls.Add(this.CB_Type2); + this.TP_General.Controls.Add(this.CB_Type1); + this.TP_General.Controls.Add(this.label4); + this.TP_General.Controls.Add(this.TB_SPEEVs); + this.TP_General.Controls.Add(this.TB_SPDEVs); + this.TP_General.Controls.Add(this.TB_SPAEVs); + this.TP_General.Controls.Add(this.TB_DEFEVs); + this.TP_General.Controls.Add(this.TB_ATKEVs); + this.TP_General.Controls.Add(this.TB_HPEVs); + this.TP_General.Controls.Add(this.TB_BaseSPE); + this.TP_General.Controls.Add(this.TB_BaseSPD); + this.TP_General.Controls.Add(this.TB_BaseSPA); + this.TP_General.Controls.Add(this.TB_BaseDEF); + this.TP_General.Controls.Add(this.TB_BaseATK); + this.TP_General.Controls.Add(this.TB_BaseHP); + this.TP_General.Controls.Add(this.Label_HP); + this.TP_General.Controls.Add(this.Label_ATK); + this.TP_General.Controls.Add(this.Label_DEF); + this.TP_General.Controls.Add(this.Label_SPA); + this.TP_General.Controls.Add(this.Label_SPD); + this.TP_General.Controls.Add(this.Label_SPE); + this.TP_General.Controls.Add(this.label3); + this.TP_General.Controls.Add(this.L_BaseStats); + this.TP_General.Location = new System.Drawing.Point(4, 22); + this.TP_General.Name = "TP_General"; + this.TP_General.Padding = new System.Windows.Forms.Padding(3); + this.TP_General.Size = new System.Drawing.Size(760, 209); + this.TP_General.TabIndex = 0; + this.TP_General.Text = "General Info"; + this.TP_General.UseVisualStyleBackColor = true; + // + // TB_RawColor + // + this.TB_RawColor.Location = new System.Drawing.Point(183, 176); + this.TB_RawColor.Name = "TB_RawColor"; + this.TB_RawColor.ReadOnly = true; + this.TB_RawColor.Size = new System.Drawing.Size(30, 20); + this.TB_RawColor.TabIndex = 88; + this.TB_RawColor.Visible = false; + // + // TB_CatchRate + // + this.TB_CatchRate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_CatchRate.Location = new System.Drawing.Point(408, 161); + this.TB_CatchRate.Mask = "000"; + this.TB_CatchRate.Name = "TB_CatchRate"; + this.TB_CatchRate.Size = new System.Drawing.Size(31, 20); + this.TB_CatchRate.TabIndex = 87; + this.TB_CatchRate.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_CatchRate.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_Stage + // + this.TB_Stage.Location = new System.Drawing.Point(714, 161); + this.TB_Stage.Name = "TB_Stage"; + this.TB_Stage.ReadOnly = true; + this.TB_Stage.Size = new System.Drawing.Size(29, 20); + this.TB_Stage.TabIndex = 86; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(670, 164); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(38, 13); + this.label25.TabIndex = 85; + this.label25.Text = "Stage:"; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(735, 131); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(19, 13); + this.label24.TabIndex = 84; + this.label24.Text = "kg"; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(594, 131); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(15, 13); + this.label23.TabIndex = 83; + this.label23.Text = "m"; + // + // TB_FormeCount + // + this.TB_FormeCount.Location = new System.Drawing.Point(622, 161); + this.TB_FormeCount.Name = "TB_FormeCount"; + this.TB_FormeCount.ReadOnly = true; + this.TB_FormeCount.Size = new System.Drawing.Size(33, 20); + this.TB_FormeCount.TabIndex = 82; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(562, 164); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(44, 13); + this.label22.TabIndex = 81; + this.label22.Text = "Formes:"; + // + // TB_FormeSprite + // + this.TB_FormeSprite.Location = new System.Drawing.Point(519, 161); + this.TB_FormeSprite.Name = "TB_FormeSprite"; + this.TB_FormeSprite.ReadOnly = true; + this.TB_FormeSprite.Size = new System.Drawing.Size(30, 20); + this.TB_FormeSprite.TabIndex = 80; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(448, 164); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(69, 13); + this.label21.TabIndex = 79; + this.label21.Text = "Forme Sprite:"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(338, 164); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(64, 13); + this.label20.TabIndex = 77; + this.label20.Text = "Catch Rate:"; + // + // CB_Color + // + this.CB_Color.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Color.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Color.FormattingEnabled = true; + this.CB_Color.Location = new System.Drawing.Point(221, 158); + this.CB_Color.Name = "CB_Color"; + this.CB_Color.Size = new System.Drawing.Size(105, 21); + this.CB_Color.TabIndex = 76; + // + // CB_EXPGroup + // + this.CB_EXPGroup.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_EXPGroup.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_EXPGroup.FormattingEnabled = true; + this.CB_EXPGroup.Location = new System.Drawing.Point(71, 158); + this.CB_EXPGroup.Name = "CB_EXPGroup"; + this.CB_EXPGroup.Size = new System.Drawing.Size(101, 21); + this.CB_EXPGroup.TabIndex = 75; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(180, 161); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(34, 13); + this.label19.TabIndex = 74; + this.label19.Text = "Color:"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(6, 164); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(63, 13); + this.label18.TabIndex = 73; + this.label18.Text = "EXP Group:"; + // + // TB_Weight + // + this.TB_Weight.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Weight.Location = new System.Drawing.Point(701, 127); + this.TB_Weight.Mask = "000.0"; + this.TB_Weight.Name = "TB_Weight"; + this.TB_Weight.Size = new System.Drawing.Size(31, 20); + this.TB_Weight.TabIndex = 72; + this.TB_Weight.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // TB_Height + // + this.TB_Height.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Height.Location = new System.Drawing.Point(560, 127); + this.TB_Height.Mask = "00.0"; + this.TB_Height.Name = "TB_Height"; + this.TB_Height.Size = new System.Drawing.Size(31, 20); + this.TB_Height.TabIndex = 71; + this.TB_Height.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(654, 130); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(44, 13); + this.label17.TabIndex = 70; + this.label17.Text = "Weight:"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(515, 130); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(41, 13); + this.label16.TabIndex = 69; + this.label16.Text = "Height:"; + // + // CB_Ability3 + // + this.CB_Ability3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Ability3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Ability3.FormattingEnabled = true; + this.CB_Ability3.Location = new System.Drawing.Point(315, 130); + this.CB_Ability3.Name = "CB_Ability3"; + this.CB_Ability3.Size = new System.Drawing.Size(140, 21); + this.CB_Ability3.TabIndex = 68; + // + // CB_Ability2 + // + this.CB_Ability2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Ability2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Ability2.FormattingEnabled = true; + this.CB_Ability2.Location = new System.Drawing.Point(315, 103); + this.CB_Ability2.Name = "CB_Ability2"; + this.CB_Ability2.Size = new System.Drawing.Size(140, 21); + this.CB_Ability2.TabIndex = 67; + // + // CB_Ability1 + // + this.CB_Ability1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Ability1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Ability1.FormattingEnabled = true; + this.CB_Ability1.Location = new System.Drawing.Point(315, 79); + this.CB_Ability1.Name = "CB_Ability1"; + this.CB_Ability1.Size = new System.Drawing.Size(140, 21); + this.CB_Ability1.TabIndex = 66; + // + // CB_EggGroup2 + // + this.CB_EggGroup2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_EggGroup2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_EggGroup2.FormattingEnabled = true; + this.CB_EggGroup2.Location = new System.Drawing.Point(634, 48); + this.CB_EggGroup2.Name = "CB_EggGroup2"; + this.CB_EggGroup2.Size = new System.Drawing.Size(121, 21); + this.CB_EggGroup2.TabIndex = 65; + // + // CB_EggGroup1 + // + this.CB_EggGroup1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_EggGroup1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_EggGroup1.FormattingEnabled = true; + this.CB_EggGroup1.Location = new System.Drawing.Point(634, 22); + this.CB_EggGroup1.Name = "CB_EggGroup1"; + this.CB_EggGroup1.Size = new System.Drawing.Size(121, 21); + this.CB_EggGroup1.TabIndex = 64; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(566, 26); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(66, 13); + this.label15.TabIndex = 63; + this.label15.Text = "Egg Groups:"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(272, 83); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(45, 13); + this.label14.TabIndex = 62; + this.label14.Text = "Abilities:"; + // + // TB_BaseExp + // + this.TB_BaseExp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseExp.Location = new System.Drawing.Point(701, 103); + this.TB_BaseExp.Mask = "000"; + this.TB_BaseExp.Name = "TB_BaseExp"; + this.TB_BaseExp.Size = new System.Drawing.Size(31, 20); + this.TB_BaseExp.TabIndex = 61; + this.TB_BaseExp.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseExp.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(641, 108); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(58, 13); + this.label13.TabIndex = 60; + this.label13.Text = "Base EXP:"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(664, 48); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(0, 13); + this.label12.TabIndex = 59; + // + // TB_HatchCycles + // + this.TB_HatchCycles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_HatchCycles.Location = new System.Drawing.Point(701, 78); + this.TB_HatchCycles.Mask = "000"; + this.TB_HatchCycles.Name = "TB_HatchCycles"; + this.TB_HatchCycles.Size = new System.Drawing.Size(31, 20); + this.TB_HatchCycles.TabIndex = 58; + this.TB_HatchCycles.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_HatchCycles.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(626, 81); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(73, 13); + this.label11.TabIndex = 57; + this.label11.Text = "Hatch Cycles:"; + // + // TB_Friendship + // + this.TB_Friendship.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Friendship.Location = new System.Drawing.Point(560, 103); + this.TB_Friendship.Mask = "000"; + this.TB_Friendship.Name = "TB_Friendship"; + this.TB_Friendship.Size = new System.Drawing.Size(31, 20); + this.TB_Friendship.TabIndex = 56; + this.TB_Friendship.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Friendship.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_Gender + // + this.TB_Gender.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Gender.Location = new System.Drawing.Point(560, 79); + this.TB_Gender.Mask = "000"; + this.TB_Gender.Name = "TB_Gender"; + this.TB_Gender.Size = new System.Drawing.Size(31, 20); + this.TB_Gender.TabIndex = 55; + this.TB_Gender.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Gender.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(498, 106); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(58, 13); + this.label10.TabIndex = 54; + this.label10.Text = "Friendship:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(511, 82); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(45, 13); + this.label9.TabIndex = 53; + this.label9.Text = "Gender:"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(225, 134); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(21, 13); + this.label8.TabIndex = 52; + this.label8.Text = "1%"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(225, 107); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(21, 13); + this.label7.TabIndex = 51; + this.label7.Text = "5%"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(219, 82); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(27, 13); + this.label6.TabIndex = 50; + this.label6.Text = "50%"; + // + // CB_HeldItem3 + // + this.CB_HeldItem3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_HeldItem3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HeldItem3.FormattingEnabled = true; + this.CB_HeldItem3.Location = new System.Drawing.Point(71, 131); + this.CB_HeldItem3.Name = "CB_HeldItem3"; + this.CB_HeldItem3.Size = new System.Drawing.Size(140, 21); + this.CB_HeldItem3.TabIndex = 49; + // + // CB_HeldItem2 + // + this.CB_HeldItem2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_HeldItem2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HeldItem2.FormattingEnabled = true; + this.CB_HeldItem2.Location = new System.Drawing.Point(71, 104); + this.CB_HeldItem2.Name = "CB_HeldItem2"; + this.CB_HeldItem2.Size = new System.Drawing.Size(140, 21); + this.CB_HeldItem2.TabIndex = 48; + // + // CB_HeldItem1 + // + this.CB_HeldItem1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_HeldItem1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HeldItem1.FormattingEnabled = true; + this.CB_HeldItem1.Location = new System.Drawing.Point(71, 80); + this.CB_HeldItem1.Name = "CB_HeldItem1"; + this.CB_HeldItem1.Size = new System.Drawing.Size(140, 21); + this.CB_HeldItem1.TabIndex = 47; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(10, 83); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(60, 13); + this.label5.TabIndex = 46; + this.label5.Text = "Held Items:"; + // + // CB_Type2 + // + this.CB_Type2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Type2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Type2.FormattingEnabled = true; + this.CB_Type2.Location = new System.Drawing.Point(445, 48); + this.CB_Type2.Name = "CB_Type2"; + this.CB_Type2.Size = new System.Drawing.Size(121, 21); + this.CB_Type2.TabIndex = 45; + // + // CB_Type1 + // + this.CB_Type1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Type1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Type1.FormattingEnabled = true; + this.CB_Type1.Location = new System.Drawing.Point(445, 22); + this.CB_Type1.Name = "CB_Type1"; + this.CB_Type1.Size = new System.Drawing.Size(121, 21); + this.CB_Type1.TabIndex = 44; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(395, 26); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(47, 13); + this.label4.TabIndex = 43; + this.label4.Text = "Typings:"; + // + // TB_SPEEVs + // + this.TB_SPEEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPEEVs.Location = new System.Drawing.Point(363, 50); + this.TB_SPEEVs.Mask = "0"; + this.TB_SPEEVs.Name = "TB_SPEEVs"; + this.TB_SPEEVs.Size = new System.Drawing.Size(31, 20); + this.TB_SPEEVs.TabIndex = 42; + this.TB_SPEEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPEEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_SPDEVs + // + this.TB_SPDEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPDEVs.Location = new System.Drawing.Point(324, 50); + this.TB_SPDEVs.Mask = "0"; + this.TB_SPDEVs.Name = "TB_SPDEVs"; + this.TB_SPDEVs.Size = new System.Drawing.Size(31, 20); + this.TB_SPDEVs.TabIndex = 41; + this.TB_SPDEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPDEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_SPAEVs + // + this.TB_SPAEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPAEVs.Location = new System.Drawing.Point(285, 50); + this.TB_SPAEVs.Mask = "0"; + this.TB_SPAEVs.Name = "TB_SPAEVs"; + this.TB_SPAEVs.Size = new System.Drawing.Size(31, 20); + this.TB_SPAEVs.TabIndex = 40; + this.TB_SPAEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPAEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_DEFEVs + // + this.TB_DEFEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_DEFEVs.Location = new System.Drawing.Point(247, 50); + this.TB_DEFEVs.Mask = "0"; + this.TB_DEFEVs.Name = "TB_DEFEVs"; + this.TB_DEFEVs.Size = new System.Drawing.Size(31, 20); + this.TB_DEFEVs.TabIndex = 39; + this.TB_DEFEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_DEFEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_ATKEVs + // + this.TB_ATKEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_ATKEVs.Location = new System.Drawing.Point(209, 50); + this.TB_ATKEVs.Mask = "0"; + this.TB_ATKEVs.Name = "TB_ATKEVs"; + this.TB_ATKEVs.Size = new System.Drawing.Size(31, 20); + this.TB_ATKEVs.TabIndex = 38; + this.TB_ATKEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_ATKEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_HPEVs + // + this.TB_HPEVs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_HPEVs.Location = new System.Drawing.Point(170, 50); + this.TB_HPEVs.Mask = "0"; + this.TB_HPEVs.Name = "TB_HPEVs"; + this.TB_HPEVs.Size = new System.Drawing.Size(31, 20); + this.TB_HPEVs.TabIndex = 37; + this.TB_HPEVs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_HPEVs.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseSPE + // + this.TB_BaseSPE.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseSPE.Location = new System.Drawing.Point(363, 26); + this.TB_BaseSPE.Mask = "000"; + this.TB_BaseSPE.Name = "TB_BaseSPE"; + this.TB_BaseSPE.Size = new System.Drawing.Size(31, 20); + this.TB_BaseSPE.TabIndex = 36; + this.TB_BaseSPE.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseSPE.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseSPD + // + this.TB_BaseSPD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseSPD.Location = new System.Drawing.Point(324, 26); + this.TB_BaseSPD.Mask = "000"; + this.TB_BaseSPD.Name = "TB_BaseSPD"; + this.TB_BaseSPD.Size = new System.Drawing.Size(31, 20); + this.TB_BaseSPD.TabIndex = 35; + this.TB_BaseSPD.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseSPD.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseSPA + // + this.TB_BaseSPA.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseSPA.Location = new System.Drawing.Point(285, 26); + this.TB_BaseSPA.Mask = "000"; + this.TB_BaseSPA.Name = "TB_BaseSPA"; + this.TB_BaseSPA.Size = new System.Drawing.Size(31, 20); + this.TB_BaseSPA.TabIndex = 34; + this.TB_BaseSPA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseSPA.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseDEF + // + this.TB_BaseDEF.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseDEF.Location = new System.Drawing.Point(247, 26); + this.TB_BaseDEF.Mask = "000"; + this.TB_BaseDEF.Name = "TB_BaseDEF"; + this.TB_BaseDEF.Size = new System.Drawing.Size(31, 20); + this.TB_BaseDEF.TabIndex = 33; + this.TB_BaseDEF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseDEF.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseATK + // + this.TB_BaseATK.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseATK.Location = new System.Drawing.Point(209, 26); + this.TB_BaseATK.Mask = "000"; + this.TB_BaseATK.Name = "TB_BaseATK"; + this.TB_BaseATK.Size = new System.Drawing.Size(31, 20); + this.TB_BaseATK.TabIndex = 32; + this.TB_BaseATK.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseATK.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // TB_BaseHP + // + this.TB_BaseHP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_BaseHP.Location = new System.Drawing.Point(170, 26); + this.TB_BaseHP.Mask = "000"; + this.TB_BaseHP.Name = "TB_BaseHP"; + this.TB_BaseHP.Size = new System.Drawing.Size(31, 20); + this.TB_BaseHP.TabIndex = 31; + this.TB_BaseHP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_BaseHP.TextChanged += new System.EventHandler(this.ByteLimiter); + // + // Label_HP + // + this.Label_HP.Location = new System.Drawing.Point(167, 10); + this.Label_HP.Name = "Label_HP"; + this.Label_HP.Size = new System.Drawing.Size(31, 13); + this.Label_HP.TabIndex = 25; + this.Label_HP.Text = "HP:"; + this.Label_HP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_ATK + // + this.Label_ATK.Location = new System.Drawing.Point(209, 10); + this.Label_ATK.Name = "Label_ATK"; + this.Label_ATK.Size = new System.Drawing.Size(31, 13); + this.Label_ATK.TabIndex = 26; + this.Label_ATK.Text = "Atk:"; + this.Label_ATK.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_DEF + // + this.Label_DEF.Location = new System.Drawing.Point(247, 10); + this.Label_DEF.Name = "Label_DEF"; + this.Label_DEF.Size = new System.Drawing.Size(31, 13); + this.Label_DEF.TabIndex = 27; + this.Label_DEF.Text = "Def:"; + this.Label_DEF.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_SPA + // + this.Label_SPA.Location = new System.Drawing.Point(285, 10); + this.Label_SPA.Name = "Label_SPA"; + this.Label_SPA.Size = new System.Drawing.Size(31, 13); + this.Label_SPA.TabIndex = 28; + this.Label_SPA.Text = "SpA:"; + this.Label_SPA.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_SPD + // + this.Label_SPD.Location = new System.Drawing.Point(324, 10); + this.Label_SPD.Name = "Label_SPD"; + this.Label_SPD.Size = new System.Drawing.Size(31, 13); + this.Label_SPD.TabIndex = 29; + this.Label_SPD.Text = "SpD:"; + this.Label_SPD.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_SPE + // + this.Label_SPE.Location = new System.Drawing.Point(361, 10); + this.Label_SPE.Name = "Label_SPE"; + this.Label_SPE.Size = new System.Drawing.Size(31, 13); + this.Label_SPE.TabIndex = 30; + this.Label_SPE.Text = "Spe:"; + this.Label_SPE.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(121, 52); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(50, 13); + this.label3.TabIndex = 2; + this.label3.Text = "EV Yield:"; + // + // L_BaseStats + // + this.L_BaseStats.AutoSize = true; + this.L_BaseStats.Location = new System.Drawing.Point(110, 30); + this.L_BaseStats.Name = "L_BaseStats"; + this.L_BaseStats.Size = new System.Drawing.Size(61, 13); + this.L_BaseStats.TabIndex = 1; + this.L_BaseStats.Text = "Base Stats:"; + // + // TP_MoveTutors + // + this.TP_MoveTutors.Controls.Add(this.PB_MonSprite2); + this.TP_MoveTutors.Controls.Add(this.Lbl_OrasTutors); + this.TP_MoveTutors.Controls.Add(this.label27); + this.TP_MoveTutors.Controls.Add(this.label26); + this.TP_MoveTutors.Controls.Add(this.CLB_OrasTutors); + this.TP_MoveTutors.Controls.Add(this.CLB_MoveTutors); + this.TP_MoveTutors.Controls.Add(this.CLB_TMHM); + this.TP_MoveTutors.Location = new System.Drawing.Point(4, 22); + this.TP_MoveTutors.Name = "TP_MoveTutors"; + this.TP_MoveTutors.Padding = new System.Windows.Forms.Padding(3); + this.TP_MoveTutors.Size = new System.Drawing.Size(760, 196); + this.TP_MoveTutors.TabIndex = 1; + this.TP_MoveTutors.Text = "Move Tutors"; + this.TP_MoveTutors.UseVisualStyleBackColor = true; + // + // PB_MonSprite2 + // + this.PB_MonSprite2.Location = new System.Drawing.Point(6, 6); + this.PB_MonSprite2.Name = "PB_MonSprite2"; + this.PB_MonSprite2.Size = new System.Drawing.Size(104, 62); + this.PB_MonSprite2.TabIndex = 8; + this.PB_MonSprite2.TabStop = false; + // + // Lbl_OrasTutors + // + this.Lbl_OrasTutors.AutoSize = true; + this.Lbl_OrasTutors.Location = new System.Drawing.Point(540, 6); + this.Lbl_OrasTutors.Name = "Lbl_OrasTutors"; + this.Lbl_OrasTutors.Size = new System.Drawing.Size(65, 13); + this.Lbl_OrasTutors.TabIndex = 7; + this.Lbl_OrasTutors.Text = "Oras Tutors:"; + this.Lbl_OrasTutors.Visible = false; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(317, 6); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(78, 13); + this.label27.TabIndex = 6; + this.label27.Text = "Special Tutors:"; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(133, 6); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(48, 13); + this.label26.TabIndex = 5; + this.label26.Text = "TM/HM:"; + // + // CLB_OrasTutors + // + this.CLB_OrasTutors.Enabled = false; + this.CLB_OrasTutors.FormattingEnabled = true; + this.CLB_OrasTutors.Location = new System.Drawing.Point(611, 6); + this.CLB_OrasTutors.Name = "CLB_OrasTutors"; + this.CLB_OrasTutors.Size = new System.Drawing.Size(133, 184); + this.CLB_OrasTutors.TabIndex = 4; + this.CLB_OrasTutors.Visible = false; + // + // CLB_MoveTutors + // + this.CLB_MoveTutors.FormattingEnabled = true; + this.CLB_MoveTutors.Location = new System.Drawing.Point(401, 6); + this.CLB_MoveTutors.Name = "CLB_MoveTutors"; + this.CLB_MoveTutors.Size = new System.Drawing.Size(133, 184); + this.CLB_MoveTutors.TabIndex = 3; + // + // CLB_TMHM + // + this.CLB_TMHM.FormattingEnabled = true; + this.CLB_TMHM.Location = new System.Drawing.Point(187, 6); + this.CLB_TMHM.Name = "CLB_TMHM"; + this.CLB_TMHM.Size = new System.Drawing.Size(124, 184); + this.CLB_TMHM.TabIndex = 2; + // + // Personal + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(805, 287); + this.Controls.Add(this.TC_Pokemon); + this.Controls.Add(this.L_Species_Precursor); + this.Controls.Add(this.CB_Species); + this.Controls.Add(this.L_Mode); + this.Name = "Personal"; + this.Text = "Gen VI Personal.Garc Editor"; + this.TC_Pokemon.ResumeLayout(false); + this.TP_General.ResumeLayout(false); + this.TP_General.PerformLayout(); + this.TP_MoveTutors.ResumeLayout(false); + this.TP_MoveTutors.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MonSprite2)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label L_Mode; + private System.Windows.Forms.ComboBox CB_Species; + private System.Windows.Forms.Label L_Species_Precursor; + private System.Windows.Forms.TabControl TC_Pokemon; + private System.Windows.Forms.TabPage TP_General; + private System.Windows.Forms.TabPage TP_MoveTutors; + private System.Windows.Forms.MaskedTextBox TB_SPEEVs; + private System.Windows.Forms.MaskedTextBox TB_SPDEVs; + private System.Windows.Forms.MaskedTextBox TB_SPAEVs; + private System.Windows.Forms.MaskedTextBox TB_DEFEVs; + private System.Windows.Forms.MaskedTextBox TB_ATKEVs; + private System.Windows.Forms.MaskedTextBox TB_HPEVs; + private System.Windows.Forms.MaskedTextBox TB_BaseSPE; + private System.Windows.Forms.MaskedTextBox TB_BaseSPD; + private System.Windows.Forms.MaskedTextBox TB_BaseSPA; + private System.Windows.Forms.MaskedTextBox TB_BaseDEF; + private System.Windows.Forms.MaskedTextBox TB_BaseATK; + private System.Windows.Forms.MaskedTextBox TB_BaseHP; + private System.Windows.Forms.Label Label_HP; + private System.Windows.Forms.Label Label_ATK; + private System.Windows.Forms.Label Label_DEF; + private System.Windows.Forms.Label Label_SPA; + private System.Windows.Forms.Label Label_SPD; + private System.Windows.Forms.Label Label_SPE; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label L_BaseStats; + private System.Windows.Forms.ComboBox CB_HeldItem1; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.ComboBox CB_Type2; + private System.Windows.Forms.ComboBox CB_Type1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox CB_HeldItem3; + private System.Windows.Forms.ComboBox CB_HeldItem2; + private System.Windows.Forms.MaskedTextBox TB_Weight; + private System.Windows.Forms.MaskedTextBox TB_Height; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.ComboBox CB_Ability3; + private System.Windows.Forms.ComboBox CB_Ability2; + private System.Windows.Forms.ComboBox CB_Ability1; + private System.Windows.Forms.ComboBox CB_EggGroup2; + private System.Windows.Forms.ComboBox CB_EggGroup1; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.MaskedTextBox TB_BaseExp; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.MaskedTextBox TB_HatchCycles; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.MaskedTextBox TB_Friendship; + private System.Windows.Forms.MaskedTextBox TB_Gender; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.ComboBox CB_Color; + private System.Windows.Forms.ComboBox CB_EXPGroup; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.TextBox TB_FormeCount; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.TextBox TB_FormeSprite; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.TextBox TB_Stage; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.MaskedTextBox TB_CatchRate; + private System.Windows.Forms.TextBox TB_RawColor; + private System.Windows.Forms.CheckedListBox CLB_TMHM; + private System.Windows.Forms.CheckedListBox CLB_OrasTutors; + private System.Windows.Forms.CheckedListBox CLB_MoveTutors; + private System.Windows.Forms.Label Lbl_OrasTutors; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.PictureBox PB_MonSprite2; + } +} diff --git a/pk3DS/Personal.cs b/pk3DS/Personal.cs new file mode 100644 index 0000000..a83291d --- /dev/null +++ b/pk3DS/Personal.cs @@ -0,0 +1,376 @@ +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; +using System.IO; + +namespace pk3DS +{ + public partial class Personal : Form + { + public Personal(bool rom_oras) + { + oras = rom_oras; + InitializeComponent(); + helditem_boxes = new ComboBox[] { CB_HeldItem1, CB_HeldItem2, CB_HeldItem3 }; + ability_boxes = new ComboBox[] { CB_Ability1, CB_Ability2, CB_Ability3 }; + typing_boxes = new ComboBox[] { CB_Type1, CB_Type2 }; + eggGroup_boxes = new ComboBox[] { CB_EggGroup1, CB_EggGroup2 }; + byte_boxes = new MaskedTextBox[] { TB_BaseHP, TB_BaseATK, TB_BaseDEF, TB_BaseSPE, TB_BaseSPD, TB_BaseSPA, TB_Gender, TB_HatchCycles, TB_Friendship, TB_CatchRate }; + ev_boxes = new MaskedTextBox[] { TB_HPEVs, TB_ATKEVs, TB_DEFEVs, TB_SPEEVs, TB_SPAEVs, TB_SPDEVs }; + + paths = Directory.GetFiles("personal", "*.*", SearchOption.TopDirectoryOnly); + mode = (oras) ? "ORAS" : "XY"; + data = File.ReadAllBytes(paths[paths.Length - 1]); // Load last to data. + L_Mode.Text = "Mode: " + mode; + Setup(); //Turn string resources into arrays + CB_Species.SelectedIndex = 1; + } + #region Global Variables + bool oras = false; + private string[] paths = { }; //Files in the Personal GARC folder. + private string mode = ""; //Should be "XY" or "ORAS" depending on game being edited + + private string[] natures = { }; + private string[] items = { }; + private string[] moves = { }; + private string[] species = { }; + private string[] abilities = { }; + + private byte[] data = { }; + + private ComboBox[] helditem_boxes; + private ComboBox[] ability_boxes; + private ComboBox[] typing_boxes; + private ComboBox[] eggGroup_boxes; + + private MaskedTextBox[] byte_boxes; + private MaskedTextBox[] ev_boxes; + + public string[] types = { }; + + public string[] eggGroups = { "---", "Monster", "Water 1", "Bug", "Flying", "Field", "Fairy", "Grass", "Human-Like", "Water 3", "Mineral", "Amorphous", "Water 2", "Ditto", "Dragon", "Undiscovered" }; + public string[] EXPGroups = { "Medium-Fast", "Erratic", "Fluctuating", "Medium-Slow", "Fast", "Slow" }; + public string[] colors = { "Red", "Blue", "Yellow", "Green", "Black", "Brown", "Purple", "Gray", "White", "Pink" }; + + /* + public string[] tutormoves = { "Frenzy Plant", "Blast Burn", "Hydro Cannon", "Grass Pledge", "Fire Pledge", "Water Pledge", "Draco Meteor", "Dragon's Ascent" }; + public string[] tutor1 = { "Bug Bite", "Covet", "Super Fang", "Dual Chop", "Signal Beam", "Iron Head", "Seed Bomb", "Drill Run", "Bounce", "Low Kick", "Gunk Shot", "Uproar", "Thunder Punch", "Fire Punch", "Ice Punch" }; + public string[] tutor2 = { "Magic Coat", "Block", "Earth Power", "Foul Play", "Gravity", "Magnet Rise", "Iron Defense", "Last Resort", "Superpower", "Electroweb", "Icy Wind", "Aqua Tail", "Dark Pulse", "Zen Headbutt", "Dragon Pulse", "Hyper Voice", "Iron Tail" }; + public string[] tutor3 = { "Bind", "Snore", "Knock Off", "Synthesis", "Heat Wave", "Role Play", "Heal Bell", "Tailwind", "Sky Attack", "Pain Split", "Giga Drain", "Drain Punch", "Air Cutter", "Focus Punch", "Shock Wave", "Water Pulse" }; + public string[] tutor4 = { "Gastro Acid", "Worry Seed", "Spite", "After You", "Helping Hand", "Trick", "Magic Room", "Wonder Room", "Endeavor", "Outrage", "Recycle", "Snatch", "Stealth Rock", "Sleep Talk", "Skill Swap" }; + */ + public ushort[] tutormoves = { 338, 307, 308, 520, 519, 518, 434, 620 }; + public ushort[] tutor1 = { 450, 343, 162, 530, 324, 442, 402, 529, 340, 67, 441, 253, 9, 7, 8 }; + public ushort[] tutor2 = { 277, 335, 414, 492, 356, 393, 334, 387, 276, 527, 196, 401, 399, 428, 406, 304, 231 }; + public ushort[] tutor3 = { 20, 173, 282, 235, 257, 272, 215, 366, 143, 220, 202, 409, 314, 264, 351, 352 }; + public ushort[] tutor4 = { 380, 388, 180, 495, 270, 271, 478, 472, 283, 200, 278, 289, 446, 214, 285 }; + #endregion + + private void Setup() + { + abilities = Main.getText((oras) ? 37 : 34); + moves = Main.getText((oras) ? 14 : 13); + items = Main.getText((oras) ? 114 : 96); + species = Main.getText((oras) ? 98 : 80); + natures = Main.getText((oras) ? 51 : 47); + types = Main.getText((oras) ? 18 : 17); + + for (int i = 1; i <= 100; i++) + CLB_TMHM.Items.Add("TM" + i.ToString("00")); + for (int i = 1; i <= 7; i++) + CLB_TMHM.Items.Add("HM" + i.ToString("00")); + for (int i = 0; i < tutormoves.Length - 1; i++) + CLB_MoveTutors.Items.Add(moves[tutormoves[i]]); + + if (mode == "XY") + { + string[] temp_abilities = new string[abilities.Length - 3]; //3 abilities added in ORAS + Array.Copy(abilities, temp_abilities, temp_abilities.Length); + abilities = temp_abilities; + + string[] temp_items = new string[719]; //719 items in XY + Array.Copy(items, temp_items, temp_items.Length); + items = temp_items; + + string[] temp_moves = new string[moves.Length - 4]; //4 new moves added in ORAS + Array.Copy(moves, temp_moves, temp_moves.Length); + moves = temp_moves; + + string[] temp_species = new string[799]; //799 species in XY + Array.Copy(species, temp_species, temp_species.Length); + species = temp_species; + } + else if (mode == "ORAS") + { + CLB_MoveTutors.Items.Add(moves[tutormoves[tutormoves.Length - 1]]); //Dragon's Ascent + foreach (ushort tm in tutor1) + CLB_OrasTutors.Items.Add(moves[tm]); + foreach (ushort tm in tutor2) + CLB_OrasTutors.Items.Add(moves[tm]); + foreach (ushort tm in tutor3) + CLB_OrasTutors.Items.Add(moves[tm]); + foreach (ushort tm in tutor4) + CLB_OrasTutors.Items.Add(moves[tm]); + + CLB_OrasTutors.Visible = true; + CLB_OrasTutors.Enabled = true; + Lbl_OrasTutors.Visible = true; + } + for (int i = 0; i < species.Length; i++) + CB_Species.Items.Add(String.Format("{0} - {1}", species[i], i.ToString("000"))); + + foreach (ComboBox cb in helditem_boxes) + foreach (string it in items) + cb.Items.Add(it); + + foreach (ComboBox cb in ability_boxes) + foreach (string ab in abilities) + cb.Items.Add(ab); + + foreach (ComboBox cb in typing_boxes) + foreach (string ty in types) + cb.Items.Add(ty); + + foreach (ComboBox cb in eggGroup_boxes) + foreach (string eg in eggGroups) + cb.Items.Add(eg); + + foreach (string co in colors) + CB_Color.Items.Add(co); + + foreach (string eg in EXPGroups) + CB_EXPGroup.Items.Add(eg); + + } + + int entry = -1; + private void CB_Species_SelectedIndexChanged(object sender, EventArgs e) + { + if (entry > -1) saveEntry(); + entry = CB_Species.SelectedIndex; + readEntry(); + } + + private void ByteLimiter(object sender, EventArgs e) + { + foreach (MaskedTextBox mtb in byte_boxes) + { + int val; + Int32.TryParse(mtb.Text, out val); + if (val > 255) + mtb.Text = "255"; + } + foreach (MaskedTextBox mtb in ev_boxes) + { + int val; + Int32.TryParse(mtb.Text, out val); + if (val > 3) + mtb.Text = "3"; + } + } + private void readEntry() + { + int len = 0; + if (mode == "ORAS") + len = 0x50; + else if (mode == "XY") + len = 0x40; + + byte[] file = new byte[len]; + Array.Copy(data, len * entry, file, 0, len); + TB_BaseHP.Text = file[0].ToString("000"); + TB_BaseATK.Text = file[1].ToString("000"); + TB_BaseDEF.Text = file[2].ToString("000"); + TB_BaseSPE.Text = file[3].ToString("000"); + TB_BaseSPA.Text = file[4].ToString("000"); + TB_BaseSPD.Text = file[5].ToString("000"); + + int EVs = BitConverter.ToInt16(file, 0xA); + TB_HPEVs.Text = ((EVs >> 0) & 0x3).ToString("0"); + TB_ATKEVs.Text = ((EVs >> 2) & 0x3).ToString("0"); + TB_DEFEVs.Text = ((EVs >> 4) & 0x3).ToString("0"); + TB_SPEEVs.Text = ((EVs >> 6) & 0x3).ToString("0"); + TB_SPAEVs.Text = ((EVs >> 8) & 0x3).ToString("0"); + TB_SPDEVs.Text = ((EVs >> 10) & 0x3).ToString("0"); + + CB_Type1.SelectedIndex = file[6]; + CB_Type2.SelectedIndex = file[7]; + + TB_CatchRate.Text = file[8].ToString("000"); + TB_Stage.Text = file[9].ToString("0"); + + CB_HeldItem1.SelectedIndex = BitConverter.ToUInt16(file, 0xC); + CB_HeldItem2.SelectedIndex = BitConverter.ToUInt16(file, 0xE); + CB_HeldItem3.SelectedIndex = BitConverter.ToUInt16(file, 0x10); + + TB_Gender.Text = file[0x12].ToString("000"); + TB_HatchCycles.Text = file[0x13].ToString("000"); + TB_Friendship.Text = file[0x14].ToString("000"); + + CB_EXPGroup.SelectedIndex = file[0x15]; + + CB_EggGroup1.SelectedIndex = file[0x16]; + CB_EggGroup2.SelectedIndex = file[0x17]; + + CB_Ability1.SelectedIndex = file[0x18]; + CB_Ability2.SelectedIndex = file[0x19]; + CB_Ability3.SelectedIndex = file[0x1A]; + + TB_FormeCount.Text = file[0x20].ToString("000"); + TB_FormeSprite.Text = BitConverter.ToUInt16(file, 0x1E).ToString("000"); + + int color = file[0x21] & 0xF; + TB_RawColor.Text = file[0x21].ToString("000"); + CB_Color.SelectedIndex = color; + + TB_BaseExp.Text = BitConverter.ToUInt16(file, 0x22).ToString("000"); + + TB_Height.Text = ((float)BitConverter.ToUInt16(file, 0x24) / 100).ToString("00.0"); + TB_Weight.Text = ((float)BitConverter.ToUInt16(file, 0x26) / 10).ToString("000.0"); + + for (int i = 0; i < 16; i++) + for (int j = 0; j < 8; j++) + if (i * 8 + j < CLB_TMHM.Items.Count) + CLB_TMHM.SetItemChecked(i * 8 + j, ((file[0x28 + i] >> j) & 0x1) == 1); //Bitflags for TMHM + + uint tutors = BitConverter.ToUInt32(file, 0x38); + for (int t = 0; t < 8; t++) + if (t < CLB_MoveTutors.Items.Count) + CLB_MoveTutors.SetItemChecked(t, ((tutors >> t) & 1) == 1); + + if (mode == "ORAS") + { + uint[] tutorm = new uint[4]; + for (int j = 0x40; j < 0x50; j += 4) + tutorm[(j - 0x40) / 4] = BitConverter.ToUInt32(file, j); + + int ofs = 0; + for (int j = 0; j < tutorm.Length; j++) + { + for (int i = 0; i < 32; i++) + if (ofs + i < CLB_OrasTutors.Items.Count) + CLB_OrasTutors.SetItemChecked(ofs + i, ((tutorm[j] >> i) & 1) == 1); + // hardcode this, bad, I know + if (j == 0) + ofs += tutor1.Length; + else if (j == 1) + ofs += tutor2.Length; + else if (j == 2) + ofs += tutor3.Length; + else + ofs += tutor4.Length; + } + } + } + private void saveEntry() + { + int len = 0; + if (mode == "XY") + len = 0x40; + else if (mode == "ORAS") + len = 0x50; + + byte[] edits = new byte[len]; + Array.Copy(data, len * entry, edits, 0, len); //edit raw data for easiness's sake + edits[0] = Convert.ToByte(TB_BaseHP.Text); + edits[1] = Convert.ToByte(TB_BaseATK.Text); + edits[2] = Convert.ToByte(TB_BaseDEF.Text); + edits[3] = Convert.ToByte(TB_BaseSPE.Text); + edits[4] = Convert.ToByte(TB_BaseSPA.Text); + edits[5] = Convert.ToByte(TB_BaseSPD.Text); + + ushort evs = 0; + evs |= (ushort)((Convert.ToByte(TB_HPEVs.Text) & 3) << 0); + evs |= (ushort)((Convert.ToByte(TB_ATKEVs.Text) & 3) << 2); + evs |= (ushort)((Convert.ToByte(TB_DEFEVs.Text) & 3) << 4); + evs |= (ushort)((Convert.ToByte(TB_SPEEVs.Text) & 3) << 6); + evs |= (ushort)((Convert.ToByte(TB_SPAEVs.Text) & 3) << 8); + evs |= (ushort)((Convert.ToByte(TB_SPDEVs.Text) & 3) << 10); + Array.Copy(BitConverter.GetBytes(evs), 0, edits, 0xa, 2); + + edits[6] = (byte)CB_Type1.SelectedIndex; + edits[7] = (byte)CB_Type2.SelectedIndex; + + edits[8] = Convert.ToByte(TB_CatchRate.Text); + edits[9] = Convert.ToByte(TB_Stage.Text); + + Array.Copy(BitConverter.GetBytes((ushort)CB_HeldItem1.SelectedIndex),0, edits, 0xC,2); + Array.Copy(BitConverter.GetBytes((ushort)CB_HeldItem2.SelectedIndex),0, edits, 0xE,2); + Array.Copy(BitConverter.GetBytes((ushort)CB_HeldItem3.SelectedIndex),0, edits, 0x10,2); + + edits[0x12] = Convert.ToByte(TB_Gender.Text); + edits[0x13] = Convert.ToByte(TB_HatchCycles.Text); + edits[0x14] = Convert.ToByte(TB_Friendship.Text); + + edits[0x15] = (byte)CB_EXPGroup.SelectedIndex; + + edits[0x16] = (byte)CB_EggGroup1.SelectedIndex; + edits[0x17] = (byte)CB_EggGroup2.SelectedIndex; + + edits[0x18] = (byte)CB_Ability1.SelectedIndex; + edits[0x19] = (byte)CB_Ability2.SelectedIndex; + edits[0x1A] = (byte)CB_Ability3.SelectedIndex; + + //edits[0x20] = Convert.ToByte(TB_FormeCount.Text); + //Array.Copy(BitConverter.GetBytes(Convert.ToUInt16(TB_FormeSprite.Text)),0, edits, 0x1E,2); + byte color = Convert.ToByte(CB_Color.SelectedIndex); + color |= (byte)(Convert.ToByte(TB_RawColor.Text) & (byte)0xF0); + edits[0x21] = color; + + Array.Copy(BitConverter.GetBytes(Convert.ToUInt16(TB_BaseExp.Text)), 0, edits, 0x22, 2); + + float height = (float)Convert.ToDouble(TB_Height.Text) * 100; + float weight = (float)Convert.ToDouble(TB_Weight.Text) * 10; + Array.Copy(BitConverter.GetBytes(Convert.ToUInt16(height)), 0, edits, 0x24, 2); + Array.Copy(BitConverter.GetBytes(Convert.ToUInt16(weight)), 0, edits, 0x26, 2); + + //TMHM + for (int i = 0; i < 16; i++) + for (int j = 0; j < 8; j++) + if (i * 8 + j < CLB_TMHM.Items.Count) + if (CLB_TMHM.GetItemChecked(i * 8 + j)) + edits[0x28+i] |= (byte)(1< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/pk3DS/pk3DS.csproj b/pk3DS/pk3DS.csproj index b3ba800..3b58728 100644 --- a/pk3DS/pk3DS.csproj +++ b/pk3DS/pk3DS.csproj @@ -56,6 +56,12 @@ Main.cs + + Form + + + Personal.cs + @@ -80,6 +86,9 @@ Main.cs + + Personal.cs + ResXFileCodeGenerator Resources.Designer.cs