diff --git a/pk3DS/Main.cs b/pk3DS/Main.cs
index aadc668..d40b321 100644
--- a/pk3DS/Main.cs
+++ b/pk3DS/Main.cs
@@ -249,7 +249,23 @@ private void B_Item_Click(object sender, EventArgs e)
}
private void B_Move_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 = "move";
+ string GARC = getGARCFileName(toEdit);
+ threadGet(TB_Path.Text + GARC, toEdit, true, true);
+ while (threads > 0) // Let threads complete
+ Thread.Sleep(100);
+
+ Invoke((Action)(() => { new Moves(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_LevelUp_Click(object sender, EventArgs e)
{
@@ -425,8 +441,6 @@ private void L_About_Click(object sender, EventArgs e)
"Mega Evolution Editor (MEE): Huntereb & SciresM" + Environment.NewLine +
"Evolutions, Moves, and Items and more have yet to be implemented.",
"Big thanks to the ProjectPokemon community!");
- }
-
-
+ }
}
}
\ No newline at end of file
diff --git a/pk3DS/MEE.Designer.cs b/pk3DS/Subforms/MEE.Designer.cs
similarity index 100%
rename from pk3DS/MEE.Designer.cs
rename to pk3DS/Subforms/MEE.Designer.cs
diff --git a/pk3DS/MEE.cs b/pk3DS/Subforms/MEE.cs
similarity index 100%
rename from pk3DS/MEE.cs
rename to pk3DS/Subforms/MEE.cs
diff --git a/pk3DS/MEE.resx b/pk3DS/Subforms/MEE.resx
similarity index 100%
rename from pk3DS/MEE.resx
rename to pk3DS/Subforms/MEE.resx
diff --git a/pk3DS/Subforms/Moves.Designer.cs b/pk3DS/Subforms/Moves.Designer.cs
new file mode 100644
index 0000000..363f653
--- /dev/null
+++ b/pk3DS/Subforms/Moves.Designer.cs
@@ -0,0 +1,631 @@
+namespace pk3DS
+{
+ partial class Moves
+ {
+ ///
+ /// 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_Type = new System.Windows.Forms.Label();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.L_Move = new System.Windows.Forms.Label();
+ this.CB_Type = new System.Windows.Forms.ComboBox();
+ this.CB_Category = new System.Windows.Forms.ComboBox();
+ this.L_Category = new System.Windows.Forms.Label();
+ this.L_BP = new System.Windows.Forms.Label();
+ this.L_PP = new System.Windows.Forms.Label();
+ this.L_Min = new System.Windows.Forms.Label();
+ this.L_Max = new System.Windows.Forms.Label();
+ this.L_Priority = new System.Windows.Forms.Label();
+ this.NUD_HitMax = new System.Windows.Forms.NumericUpDown();
+ this.NUD_HitMin = new System.Windows.Forms.NumericUpDown();
+ this.NUD_Priority = new System.Windows.Forms.NumericUpDown();
+ this.NUD_PP = new System.Windows.Forms.NumericUpDown();
+ this.NUD_Power = new System.Windows.Forms.NumericUpDown();
+ this.NUD_TrapMin = new System.Windows.Forms.NumericUpDown();
+ this.L_TrapMin = new System.Windows.Forms.Label();
+ this.NUD_TrapMax = new System.Windows.Forms.NumericUpDown();
+ this.L_TrapMax = new System.Windows.Forms.Label();
+ this.NUD_Recoil = new System.Windows.Forms.NumericUpDown();
+ this.label1 = new System.Windows.Forms.Label();
+ this.NUD_Heal = new System.Windows.Forms.NumericUpDown();
+ this.label2 = new System.Windows.Forms.Label();
+ this.NUD_CritStage = new System.Windows.Forms.NumericUpDown();
+ this.L_CritStage = new System.Windows.Forms.Label();
+ this.NUD_Flinch = new System.Windows.Forms.NumericUpDown();
+ this.label4 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
+ this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
+ this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
+ this.comboBox4 = new System.Windows.Forms.ComboBox();
+ this.comboBox3 = new System.Windows.Forms.ComboBox();
+ this.comboBox2 = new System.Windows.Forms.ComboBox();
+ this.L_Stage3 = new System.Windows.Forms.Label();
+ this.L_Stage2 = new System.Windows.Forms.Label();
+ this.L_Stage1 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.L_Influcts = new System.Windows.Forms.Label();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_HitMax)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_HitMin)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Priority)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_PP)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Power)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_TrapMin)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_TrapMax)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Recoil)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Heal)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_CritStage)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Flinch)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
+ this.SuspendLayout();
+ //
+ // L_Type
+ //
+ this.L_Type.AutoSize = true;
+ this.L_Type.Location = new System.Drawing.Point(24, 49);
+ this.L_Type.Name = "L_Type";
+ this.L_Type.Size = new System.Drawing.Size(34, 13);
+ this.L_Type.TabIndex = 0;
+ this.L_Type.Text = "Type:";
+ this.L_Type.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // comboBox1
+ //
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Location = new System.Drawing.Point(61, 16);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(121, 21);
+ this.comboBox1.TabIndex = 1;
+ //
+ // L_Move
+ //
+ this.L_Move.AutoSize = true;
+ this.L_Move.Location = new System.Drawing.Point(18, 19);
+ this.L_Move.Name = "L_Move";
+ this.L_Move.Size = new System.Drawing.Size(37, 13);
+ this.L_Move.TabIndex = 2;
+ this.L_Move.Text = "Move:";
+ this.L_Move.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // CB_Type
+ //
+ this.CB_Type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.CB_Type.FormattingEnabled = true;
+ this.CB_Type.Location = new System.Drawing.Point(71, 46);
+ this.CB_Type.Name = "CB_Type";
+ this.CB_Type.Size = new System.Drawing.Size(99, 21);
+ this.CB_Type.TabIndex = 3;
+ //
+ // CB_Category
+ //
+ this.CB_Category.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.CB_Category.FormattingEnabled = true;
+ this.CB_Category.Location = new System.Drawing.Point(71, 73);
+ this.CB_Category.Name = "CB_Category";
+ this.CB_Category.Size = new System.Drawing.Size(99, 21);
+ this.CB_Category.TabIndex = 4;
+ //
+ // L_Category
+ //
+ this.L_Category.AutoSize = true;
+ this.L_Category.Location = new System.Drawing.Point(6, 76);
+ this.L_Category.Name = "L_Category";
+ this.L_Category.Size = new System.Drawing.Size(52, 13);
+ this.L_Category.TabIndex = 5;
+ this.L_Category.Text = "Category:";
+ this.L_Category.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_BP
+ //
+ this.L_BP.AutoSize = true;
+ this.L_BP.Location = new System.Drawing.Point(18, 111);
+ this.L_BP.Name = "L_BP";
+ this.L_BP.Size = new System.Drawing.Size(40, 13);
+ this.L_BP.TabIndex = 7;
+ this.L_BP.Text = "Power:";
+ this.L_BP.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_PP
+ //
+ this.L_PP.AutoSize = true;
+ this.L_PP.Location = new System.Drawing.Point(7, 143);
+ this.L_PP.Name = "L_PP";
+ this.L_PP.Size = new System.Drawing.Size(51, 13);
+ this.L_PP.TabIndex = 8;
+ this.L_PP.Text = "Base PP:";
+ this.L_PP.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_Min
+ //
+ this.L_Min.AutoSize = true;
+ this.L_Min.Location = new System.Drawing.Point(228, 111);
+ this.L_Min.Name = "L_Min";
+ this.L_Min.Size = new System.Drawing.Size(48, 13);
+ this.L_Min.TabIndex = 10;
+ this.L_Min.Text = "Min Hits:";
+ this.L_Min.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_Max
+ //
+ this.L_Max.AutoSize = true;
+ this.L_Max.Location = new System.Drawing.Point(225, 132);
+ this.L_Max.Name = "L_Max";
+ this.L_Max.Size = new System.Drawing.Size(51, 13);
+ this.L_Max.TabIndex = 12;
+ this.L_Max.Text = "Max Hits:";
+ this.L_Max.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_Priority
+ //
+ this.L_Priority.AutoSize = true;
+ this.L_Priority.Location = new System.Drawing.Point(17, 174);
+ this.L_Priority.Name = "L_Priority";
+ this.L_Priority.Size = new System.Drawing.Size(41, 13);
+ this.L_Priority.TabIndex = 17;
+ this.L_Priority.Text = "Priority:";
+ //
+ // NUD_HitMax
+ //
+ this.NUD_HitMax.Location = new System.Drawing.Point(282, 130);
+ this.NUD_HitMax.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_HitMax.Name = "NUD_HitMax";
+ this.NUD_HitMax.Size = new System.Drawing.Size(30, 20);
+ this.NUD_HitMax.TabIndex = 18;
+ //
+ // NUD_HitMin
+ //
+ this.NUD_HitMin.Location = new System.Drawing.Point(282, 109);
+ this.NUD_HitMin.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_HitMin.Name = "NUD_HitMin";
+ this.NUD_HitMin.Size = new System.Drawing.Size(30, 20);
+ this.NUD_HitMin.TabIndex = 19;
+ //
+ // NUD_Priority
+ //
+ this.NUD_Priority.Location = new System.Drawing.Point(64, 172);
+ this.NUD_Priority.Maximum = new decimal(new int[] {
+ 8,
+ 0,
+ 0,
+ 0});
+ this.NUD_Priority.Minimum = new decimal(new int[] {
+ 8,
+ 0,
+ 0,
+ -2147483648});
+ this.NUD_Priority.Name = "NUD_Priority";
+ this.NUD_Priority.Size = new System.Drawing.Size(30, 20);
+ this.NUD_Priority.TabIndex = 20;
+ //
+ // NUD_PP
+ //
+ this.NUD_PP.Location = new System.Drawing.Point(64, 141);
+ this.NUD_PP.Maximum = new decimal(new int[] {
+ 40,
+ 0,
+ 0,
+ 0});
+ this.NUD_PP.Minimum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_PP.Name = "NUD_PP";
+ this.NUD_PP.Size = new System.Drawing.Size(35, 20);
+ this.NUD_PP.TabIndex = 21;
+ this.NUD_PP.Value = new decimal(new int[] {
+ 40,
+ 0,
+ 0,
+ 0});
+ //
+ // NUD_Power
+ //
+ this.NUD_Power.Location = new System.Drawing.Point(64, 109);
+ this.NUD_Power.Maximum = new decimal(new int[] {
+ 255,
+ 0,
+ 0,
+ 0});
+ this.NUD_Power.Name = "NUD_Power";
+ this.NUD_Power.Size = new System.Drawing.Size(45, 20);
+ this.NUD_Power.TabIndex = 22;
+ //
+ // NUD_TrapMin
+ //
+ this.NUD_TrapMin.Location = new System.Drawing.Point(282, 151);
+ this.NUD_TrapMin.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_TrapMin.Name = "NUD_TrapMin";
+ this.NUD_TrapMin.Size = new System.Drawing.Size(30, 20);
+ this.NUD_TrapMin.TabIndex = 26;
+ //
+ // L_TrapMin
+ //
+ this.L_TrapMin.AutoSize = true;
+ this.L_TrapMin.Location = new System.Drawing.Point(224, 153);
+ this.L_TrapMin.Name = "L_TrapMin";
+ this.L_TrapMin.Size = new System.Drawing.Size(52, 13);
+ this.L_TrapMin.TabIndex = 23;
+ this.L_TrapMin.Text = "Min Trap:";
+ this.L_TrapMin.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // NUD_TrapMax
+ //
+ this.NUD_TrapMax.Location = new System.Drawing.Point(282, 172);
+ this.NUD_TrapMax.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_TrapMax.Name = "NUD_TrapMax";
+ this.NUD_TrapMax.Size = new System.Drawing.Size(30, 20);
+ this.NUD_TrapMax.TabIndex = 25;
+ //
+ // L_TrapMax
+ //
+ this.L_TrapMax.AutoSize = true;
+ this.L_TrapMax.Location = new System.Drawing.Point(221, 174);
+ this.L_TrapMax.Name = "L_TrapMax";
+ this.L_TrapMax.Size = new System.Drawing.Size(55, 13);
+ this.L_TrapMax.TabIndex = 24;
+ this.L_TrapMax.Text = "Max Trap:";
+ this.L_TrapMax.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // NUD_Recoil
+ //
+ this.NUD_Recoil.Location = new System.Drawing.Point(177, 151);
+ this.NUD_Recoil.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_Recoil.Name = "NUD_Recoil";
+ this.NUD_Recoil.Size = new System.Drawing.Size(30, 20);
+ this.NUD_Recoil.TabIndex = 34;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(120, 153);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(51, 13);
+ this.label1.TabIndex = 31;
+ this.label1.Text = "Recoil %:";
+ this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // NUD_Heal
+ //
+ this.NUD_Heal.Location = new System.Drawing.Point(177, 172);
+ this.NUD_Heal.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_Heal.Name = "NUD_Heal";
+ this.NUD_Heal.Size = new System.Drawing.Size(30, 20);
+ this.NUD_Heal.TabIndex = 33;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(128, 174);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(43, 13);
+ this.label2.TabIndex = 32;
+ this.label2.Text = "Heal %:";
+ this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // NUD_CritStage
+ //
+ this.NUD_CritStage.Location = new System.Drawing.Point(177, 109);
+ this.NUD_CritStage.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_CritStage.Name = "NUD_CritStage";
+ this.NUD_CritStage.Size = new System.Drawing.Size(30, 20);
+ this.NUD_CritStage.TabIndex = 30;
+ //
+ // L_CritStage
+ //
+ this.L_CritStage.AutoSize = true;
+ this.L_CritStage.Location = new System.Drawing.Point(115, 111);
+ this.L_CritStage.Name = "L_CritStage";
+ this.L_CritStage.Size = new System.Drawing.Size(56, 13);
+ this.L_CritStage.TabIndex = 27;
+ this.L_CritStage.Text = "Crit Stage:";
+ this.L_CritStage.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // NUD_Flinch
+ //
+ this.NUD_Flinch.Location = new System.Drawing.Point(177, 130);
+ this.NUD_Flinch.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.NUD_Flinch.Name = "NUD_Flinch";
+ this.NUD_Flinch.Size = new System.Drawing.Size(30, 20);
+ this.NUD_Flinch.TabIndex = 29;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(122, 132);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(49, 13);
+ this.label4.TabIndex = 28;
+ this.label4.Text = "Flinch %:";
+ this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.numericUpDown1);
+ this.groupBox1.Controls.Add(this.numericUpDown2);
+ this.groupBox1.Controls.Add(this.numericUpDown3);
+ this.groupBox1.Controls.Add(this.comboBox4);
+ this.groupBox1.Controls.Add(this.comboBox3);
+ this.groupBox1.Controls.Add(this.comboBox2);
+ this.groupBox1.Controls.Add(this.L_Stage3);
+ this.groupBox1.Controls.Add(this.L_Stage2);
+ this.groupBox1.Controls.Add(this.L_Stage1);
+ this.groupBox1.Location = new System.Drawing.Point(16, 216);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(179, 100);
+ this.groupBox1.TabIndex = 35;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Stat Stage Changes";
+ //
+ // numericUpDown1
+ //
+ this.numericUpDown1.Location = new System.Drawing.Point(130, 46);
+ this.numericUpDown1.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.numericUpDown1.Name = "numericUpDown1";
+ this.numericUpDown1.Size = new System.Drawing.Size(35, 20);
+ this.numericUpDown1.TabIndex = 41;
+ //
+ // numericUpDown2
+ //
+ this.numericUpDown2.Location = new System.Drawing.Point(130, 68);
+ this.numericUpDown2.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.numericUpDown2.Name = "numericUpDown2";
+ this.numericUpDown2.Size = new System.Drawing.Size(35, 20);
+ this.numericUpDown2.TabIndex = 40;
+ //
+ // numericUpDown3
+ //
+ this.numericUpDown3.Location = new System.Drawing.Point(130, 24);
+ this.numericUpDown3.Maximum = new decimal(new int[] {
+ 5,
+ 0,
+ 0,
+ 0});
+ this.numericUpDown3.Name = "numericUpDown3";
+ this.numericUpDown3.Size = new System.Drawing.Size(35, 20);
+ this.numericUpDown3.TabIndex = 39;
+ //
+ // comboBox4
+ //
+ this.comboBox4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox4.FormattingEnabled = true;
+ this.comboBox4.Location = new System.Drawing.Point(30, 67);
+ this.comboBox4.Name = "comboBox4";
+ this.comboBox4.Size = new System.Drawing.Size(99, 21);
+ this.comboBox4.TabIndex = 38;
+ //
+ // comboBox3
+ //
+ this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox3.FormattingEnabled = true;
+ this.comboBox3.Location = new System.Drawing.Point(30, 45);
+ this.comboBox3.Name = "comboBox3";
+ this.comboBox3.Size = new System.Drawing.Size(99, 21);
+ this.comboBox3.TabIndex = 37;
+ //
+ // comboBox2
+ //
+ this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox2.FormattingEnabled = true;
+ this.comboBox2.Location = new System.Drawing.Point(30, 23);
+ this.comboBox2.Name = "comboBox2";
+ this.comboBox2.Size = new System.Drawing.Size(99, 21);
+ this.comboBox2.TabIndex = 36;
+ //
+ // L_Stage3
+ //
+ this.L_Stage3.AutoSize = true;
+ this.L_Stage3.Location = new System.Drawing.Point(8, 70);
+ this.L_Stage3.Name = "L_Stage3";
+ this.L_Stage3.Size = new System.Drawing.Size(16, 13);
+ this.L_Stage3.TabIndex = 2;
+ this.L_Stage3.Text = "3:";
+ //
+ // L_Stage2
+ //
+ this.L_Stage2.AutoSize = true;
+ this.L_Stage2.Location = new System.Drawing.Point(8, 48);
+ this.L_Stage2.Name = "L_Stage2";
+ this.L_Stage2.Size = new System.Drawing.Size(16, 13);
+ this.L_Stage2.TabIndex = 1;
+ this.L_Stage2.Text = "2:";
+ //
+ // L_Stage1
+ //
+ this.L_Stage1.AutoSize = true;
+ this.L_Stage1.Location = new System.Drawing.Point(8, 26);
+ this.L_Stage1.Name = "L_Stage1";
+ this.L_Stage1.Size = new System.Drawing.Size(16, 13);
+ this.L_Stage1.TabIndex = 0;
+ this.L_Stage1.Text = "1:";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(176, 49);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(55, 13);
+ this.label3.TabIndex = 36;
+ this.label3.Text = "Targeting:";
+ this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // L_Influcts
+ //
+ this.L_Influcts.AutoSize = true;
+ this.L_Influcts.Location = new System.Drawing.Point(191, 76);
+ this.L_Influcts.Name = "L_Influcts";
+ this.L_Influcts.Size = new System.Drawing.Size(40, 13);
+ this.L_Influcts.TabIndex = 37;
+ this.L_Influcts.Text = "Inflicts:";
+ this.L_Influcts.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ //
+ // Moves
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(472, 537);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.L_Influcts);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.NUD_Recoil);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.NUD_Heal);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.NUD_CritStage);
+ this.Controls.Add(this.L_CritStage);
+ this.Controls.Add(this.NUD_Flinch);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.NUD_TrapMin);
+ this.Controls.Add(this.L_TrapMin);
+ this.Controls.Add(this.NUD_TrapMax);
+ this.Controls.Add(this.L_TrapMax);
+ this.Controls.Add(this.L_Type);
+ this.Controls.Add(this.L_BP);
+ this.Controls.Add(this.CB_Type);
+ this.Controls.Add(this.NUD_Power);
+ this.Controls.Add(this.CB_Category);
+ this.Controls.Add(this.L_Category);
+ this.Controls.Add(this.NUD_PP);
+ this.Controls.Add(this.NUD_Priority);
+ this.Controls.Add(this.NUD_HitMin);
+ this.Controls.Add(this.L_PP);
+ this.Controls.Add(this.L_Min);
+ this.Controls.Add(this.L_Priority);
+ this.Controls.Add(this.NUD_HitMax);
+ this.Controls.Add(this.L_Max);
+ this.Controls.Add(this.L_Move);
+ this.Controls.Add(this.comboBox1);
+ this.Name = "Moves";
+ this.Text = "Moves";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.formClosing);
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_HitMax)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_HitMin)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Priority)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_PP)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Power)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_TrapMin)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_TrapMax)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Recoil)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Heal)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_CritStage)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.NUD_Flinch)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label L_Type;
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.Label L_Move;
+ private System.Windows.Forms.ComboBox CB_Type;
+ private System.Windows.Forms.ComboBox CB_Category;
+ private System.Windows.Forms.Label L_Category;
+ private System.Windows.Forms.Label L_BP;
+ private System.Windows.Forms.Label L_PP;
+ private System.Windows.Forms.Label L_Min;
+ private System.Windows.Forms.Label L_Max;
+ private System.Windows.Forms.Label L_Priority;
+ private System.Windows.Forms.NumericUpDown NUD_HitMax;
+ private System.Windows.Forms.NumericUpDown NUD_HitMin;
+ private System.Windows.Forms.NumericUpDown NUD_Priority;
+ private System.Windows.Forms.NumericUpDown NUD_PP;
+ private System.Windows.Forms.NumericUpDown NUD_Power;
+ private System.Windows.Forms.NumericUpDown NUD_TrapMin;
+ private System.Windows.Forms.Label L_TrapMin;
+ private System.Windows.Forms.NumericUpDown NUD_TrapMax;
+ private System.Windows.Forms.Label L_TrapMax;
+ private System.Windows.Forms.NumericUpDown NUD_Recoil;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.NumericUpDown NUD_Heal;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.NumericUpDown NUD_CritStage;
+ private System.Windows.Forms.Label L_CritStage;
+ private System.Windows.Forms.NumericUpDown NUD_Flinch;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.NumericUpDown numericUpDown1;
+ private System.Windows.Forms.NumericUpDown numericUpDown2;
+ private System.Windows.Forms.NumericUpDown numericUpDown3;
+ private System.Windows.Forms.ComboBox comboBox4;
+ private System.Windows.Forms.ComboBox comboBox3;
+ private System.Windows.Forms.ComboBox comboBox2;
+ private System.Windows.Forms.Label L_Stage3;
+ private System.Windows.Forms.Label L_Stage2;
+ private System.Windows.Forms.Label L_Stage1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label L_Influcts;
+ }
+}
\ No newline at end of file
diff --git a/pk3DS/Subforms/Moves.cs b/pk3DS/Subforms/Moves.cs
new file mode 100644
index 0000000..c3e85c4
--- /dev/null
+++ b/pk3DS/Subforms/Moves.cs
@@ -0,0 +1,36 @@
+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 Moves : Form
+ {
+ public Moves(bool rom_oras)
+ {
+ Util.unpackMini(Directory.GetFiles("move")[0], "WD");
+ files = Directory.GetFiles("move");
+ InitializeComponent();
+ }
+ string[] files;
+ string[] StatCategories = new string[] { "None", "Attack", "Defense", "Special Attack", "Special Defense", "Speed", "Accuracy", "Evasion", "All", };
+ string[] TypeCategories = new string[] { "Status", "Physical", "Special", };
+ string[] TargetingTypes = new string[] { "Single Adjacent Ally/Foe",
+ "Any Ally", "Any Adjacent Ally", "Single Adjacent Foe", "Everyone but User", "All Foes",
+ "All Allies", "Self", "All Pokemon on Field", "Single Adjacent Foe (2)", "Entire Field",
+ "Opponent's Field", "User's Field", "Self", "14", "15",
+ };
+
+ private void formClosing(object sender, FormClosingEventArgs e)
+ {
+ // setEntry();
+ Util.packMini("move", "WD", "0", ".bin", "move");
+ }
+ }
+}
diff --git a/pk3DS/Subforms/Moves.resx b/pk3DS/Subforms/Moves.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/pk3DS/Subforms/Moves.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Util.cs b/pk3DS/Util.cs
index 61e3096..544c4ae 100644
--- a/pk3DS/Util.cs
+++ b/pk3DS/Util.cs
@@ -600,5 +600,97 @@ internal static string getExeFSFolder(string a)
return check;
return null;
}
+
+ internal static void packMini(string path, string ident, string fileName, string outExt = null, string outFolder = null)
+ {
+ if (outFolder == null) outFolder = path;
+ if (outExt == null) outExt = ".bin";
+ // Create new Binary with the relevant header bytes
+ byte[] data = new byte[4];
+ data[0] = (byte)ident[0];
+ data[1] = (byte)ident[1];
+ string[] files = Directory.GetFiles(path);
+ Array.Copy(BitConverter.GetBytes((ushort)files.Length), 0, data, 2, 2);
+
+ int count = files.Length;
+ int dataOffset = 4 + 4 + count * 4;
+
+ // Start the data filling.
+ using (MemoryStream dataout = new MemoryStream())
+ using (MemoryStream offsetMap = new MemoryStream())
+ using (BinaryWriter bd = new BinaryWriter(dataout))
+ using (BinaryWriter bo = new BinaryWriter(offsetMap))
+ {
+ // For each file...
+ for (int i = 0; i < count; i++)
+ {
+ // Write File Offset
+ uint fileOffset = (uint)(dataout.Position + dataOffset);
+ bo.Write((uint)fileOffset);
+
+ // Write File to Stream
+ bd.Write(File.ReadAllBytes(files[i]));
+
+ // Pad the Data MemoryStream with Zeroes until len%4=0;
+ while (dataout.Length % 4 != 0)
+ bd.Write((byte)0);
+ // File Offset will be updated as the offset is based off of the Data length.
+
+ // Delete the File
+ File.Delete(files[i]);
+ }
+ // Cap the File
+ bo.Write((uint)(dataout.Position + dataOffset));
+
+ using (var newPack = File.Create(Path.Combine(outFolder, fileName + outExt)))
+ using (var header = new MemoryStream(data))
+ {
+ header.WriteTo(newPack);
+ offsetMap.WriteTo(newPack);
+ dataout.WriteTo(newPack);
+ }
+ }
+ }
+ internal static void unpackMini(string path, string ident, string outFolder = null)
+ {
+ if (outFolder == null) outFolder = Path.GetDirectoryName(path);
+
+ using (var s = new FileStream(path, FileMode.Open))
+ using (var br = new BinaryReader(s))
+ {
+ string fx = new string(br.ReadChars(2));
+
+ if (fx != ident) return;
+
+ ushort count = br.ReadUInt16();
+ string namePad = "D" + Math.Ceiling(Math.Log10(count));
+ uint[] offsets = new uint[count + 1];
+ for (int i = 0; i < count; i++)
+ offsets[i] = br.ReadUInt32();
+
+ uint length = br.ReadUInt32();
+ offsets[offsets.Length - 1] = length;
+
+ for (int i = 0; i < count; i++)
+ {
+ br.BaseStream.Seek(offsets[i], SeekOrigin.Begin);
+ using (MemoryStream dataout = new MemoryStream())
+ {
+ byte[] data = new byte[0];
+ s.CopyTo(dataout, (int)offsets[i]);
+ int len = (int)offsets[i + 1] - (int)offsets[i];
+
+ if (len != 0)
+ {
+ data = dataout.ToArray();
+ Array.Resize(ref data, len);
+ }
+ string newFile = Path.Combine(outFolder, i.ToString(namePad) + ".bin");
+ File.WriteAllBytes(newFile, data);
+ }
+ }
+ }
+ File.Delete(path); // File is unpacked.
+ }
}
}
diff --git a/pk3DS/pk3DS.csproj b/pk3DS/pk3DS.csproj
index 17202f7..5feab50 100644
--- a/pk3DS/pk3DS.csproj
+++ b/pk3DS/pk3DS.csproj
@@ -50,12 +50,18 @@
-
+
Form
-
+
MEE.cs
+
+ Form
+
+
+ Moves.cs
+
Form
@@ -124,9 +130,12 @@
Main.cs
-
+
MEE.cs
+
+ Moves.cs
+
Evolution.cs