diff --git a/pk3DS/Main.Designer.cs b/pk3DS/Main.Designer.cs
index 3e802fa..0fafb7b 100644
--- a/pk3DS/Main.Designer.cs
+++ b/pk3DS/Main.Designer.cs
@@ -45,6 +45,9 @@ private void InitializeComponent()
this.L_Game = new System.Windows.Forms.Label();
this.pBar1 = new System.Windows.Forms.ProgressBar();
this.L_About = new System.Windows.Forms.Label();
+ this.B_LevelUp = new System.Windows.Forms.Button();
+ this.B_EggMove = new System.Windows.Forms.Button();
+ this.B_ExeFS = new System.Windows.Forms.Button();
this.GB_Tools.SuspendLayout();
this.SuspendLayout();
//
@@ -65,13 +68,16 @@ private void InitializeComponent()
this.TB_Path.Location = new System.Drawing.Point(93, 14);
this.TB_Path.Name = "TB_Path";
this.TB_Path.ReadOnly = true;
- this.TB_Path.Size = new System.Drawing.Size(244, 20);
+ this.TB_Path.Size = new System.Drawing.Size(349, 20);
this.TB_Path.TabIndex = 1;
//
// GB_Tools
//
this.GB_Tools.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
+ this.GB_Tools.Controls.Add(this.B_ExeFS);
+ this.GB_Tools.Controls.Add(this.B_EggMove);
+ this.GB_Tools.Controls.Add(this.B_LevelUp);
this.GB_Tools.Controls.Add(this.B_StoryText);
this.GB_Tools.Controls.Add(this.B_Item);
this.GB_Tools.Controls.Add(this.B_Move);
@@ -84,7 +90,7 @@ private void InitializeComponent()
this.GB_Tools.Enabled = false;
this.GB_Tools.Location = new System.Drawing.Point(12, 67);
this.GB_Tools.Name = "GB_Tools";
- this.GB_Tools.Size = new System.Drawing.Size(325, 110);
+ this.GB_Tools.Size = new System.Drawing.Size(430, 110);
this.GB_Tools.TabIndex = 2;
this.GB_Tools.TabStop = false;
this.GB_Tools.Text = "ROM Editing Tools";
@@ -101,7 +107,7 @@ private void InitializeComponent()
//
// B_Item
//
- this.B_Item.Location = new System.Drawing.Point(218, 48);
+ this.B_Item.Location = new System.Drawing.Point(218, 77);
this.B_Item.Name = "B_Item";
this.B_Item.Size = new System.Drawing.Size(100, 23);
this.B_Item.TabIndex = 7;
@@ -111,7 +117,7 @@ private void InitializeComponent()
//
// B_Move
//
- this.B_Move.Location = new System.Drawing.Point(218, 19);
+ this.B_Move.Location = new System.Drawing.Point(324, 19);
this.B_Move.Name = "B_Move";
this.B_Move.Size = new System.Drawing.Size(100, 23);
this.B_Move.TabIndex = 6;
@@ -121,7 +127,7 @@ private void InitializeComponent()
//
// B_Evolution
//
- this.B_Evolution.Location = new System.Drawing.Point(112, 48);
+ this.B_Evolution.Location = new System.Drawing.Point(218, 19);
this.B_Evolution.Name = "B_Evolution";
this.B_Evolution.Size = new System.Drawing.Size(100, 23);
this.B_Evolution.TabIndex = 5;
@@ -141,7 +147,7 @@ private void InitializeComponent()
//
// B_MegaEvo
//
- this.B_MegaEvo.Location = new System.Drawing.Point(112, 77);
+ this.B_MegaEvo.Location = new System.Drawing.Point(218, 48);
this.B_MegaEvo.Name = "B_MegaEvo";
this.B_MegaEvo.Size = new System.Drawing.Size(100, 23);
this.B_MegaEvo.TabIndex = 3;
@@ -151,7 +157,7 @@ private void InitializeComponent()
//
// B_Wild
//
- this.B_Wild.Location = new System.Drawing.Point(6, 77);
+ this.B_Wild.Location = new System.Drawing.Point(112, 77);
this.B_Wild.Name = "B_Wild";
this.B_Wild.Size = new System.Drawing.Size(100, 23);
this.B_Wild.TabIndex = 2;
@@ -161,7 +167,7 @@ private void InitializeComponent()
//
// B_Trainer
//
- this.B_Trainer.Location = new System.Drawing.Point(218, 77);
+ this.B_Trainer.Location = new System.Drawing.Point(112, 48);
this.B_Trainer.Name = "B_Trainer";
this.B_Trainer.Size = new System.Drawing.Size(100, 23);
this.B_Trainer.TabIndex = 1;
@@ -193,7 +199,7 @@ private void InitializeComponent()
"Deutsch",
"Español",
"한국"});
- this.CB_Lang.Location = new System.Drawing.Point(216, 40);
+ this.CB_Lang.Location = new System.Drawing.Point(321, 40);
this.CB_Lang.Name = "CB_Lang";
this.CB_Lang.Size = new System.Drawing.Size(121, 21);
this.CB_Lang.TabIndex = 3;
@@ -203,7 +209,7 @@ private void InitializeComponent()
//
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.Location = new System.Drawing.Point(257, 43);
this.L_Lang.Name = "L_Lang";
this.L_Lang.Size = new System.Drawing.Size(58, 13);
this.L_Lang.TabIndex = 4;
@@ -225,7 +231,7 @@ private void InitializeComponent()
| System.Windows.Forms.AnchorStyles.Right)));
this.pBar1.Location = new System.Drawing.Point(12, 182);
this.pBar1.Name = "pBar1";
- this.pBar1.Size = new System.Drawing.Size(325, 14);
+ this.pBar1.Size = new System.Drawing.Size(430, 14);
this.pBar1.TabIndex = 6;
//
// L_About
@@ -238,11 +244,42 @@ private void InitializeComponent()
this.L_About.Text = "[A]";
this.L_About.Click += new System.EventHandler(this.L_About_Click);
//
+ // B_LevelUp
+ //
+ this.B_LevelUp.Location = new System.Drawing.Point(324, 77);
+ this.B_LevelUp.Name = "B_LevelUp";
+ this.B_LevelUp.Size = new System.Drawing.Size(100, 23);
+ this.B_LevelUp.TabIndex = 9;
+ this.B_LevelUp.Text = "Level Up Editor";
+ this.B_LevelUp.UseVisualStyleBackColor = true;
+ this.B_LevelUp.Click += new System.EventHandler(this.B_LevelUp_Click);
+ //
+ // B_EggMove
+ //
+ this.B_EggMove.Location = new System.Drawing.Point(324, 48);
+ this.B_EggMove.Name = "B_EggMove";
+ this.B_EggMove.Size = new System.Drawing.Size(100, 23);
+ this.B_EggMove.TabIndex = 10;
+ this.B_EggMove.Text = "EggMove Editor";
+ this.B_EggMove.UseVisualStyleBackColor = true;
+ this.B_EggMove.Click += new System.EventHandler(this.B_EggMove_Click);
+ //
+ // B_ExeFS
+ //
+ this.B_ExeFS.Enabled = false;
+ this.B_ExeFS.Location = new System.Drawing.Point(6, 77);
+ this.B_ExeFS.Name = "B_ExeFS";
+ this.B_ExeFS.Size = new System.Drawing.Size(100, 23);
+ this.B_ExeFS.TabIndex = 11;
+ this.B_ExeFS.Text = "ExeFS Code.bin";
+ this.B_ExeFS.UseVisualStyleBackColor = true;
+ this.B_ExeFS.Click += new System.EventHandler(this.B_ExeFS_Click);
+ //
// Main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(349, 202);
+ this.ClientSize = new System.Drawing.Size(454, 202);
this.Controls.Add(this.L_About);
this.Controls.Add(this.pBar1);
this.Controls.Add(this.L_Game);
@@ -252,7 +289,7 @@ private void InitializeComponent()
this.Controls.Add(this.TB_Path);
this.Controls.Add(this.B_Open);
this.MaximumSize = new System.Drawing.Size(800, 240);
- this.MinimumSize = new System.Drawing.Size(365, 240);
+ this.MinimumSize = new System.Drawing.Size(470, 240);
this.Name = "Main";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "pk3DS";
@@ -282,6 +319,9 @@ private void InitializeComponent()
private System.Windows.Forms.Label L_Game;
private System.Windows.Forms.ProgressBar pBar1;
private System.Windows.Forms.Label L_About;
+ private System.Windows.Forms.Button B_ExeFS;
+ private System.Windows.Forms.Button B_EggMove;
+ private System.Windows.Forms.Button B_LevelUp;
}
}
diff --git a/pk3DS/Main.cs b/pk3DS/Main.cs
index cf65f61..ad27451 100644
--- a/pk3DS/Main.cs
+++ b/pk3DS/Main.cs
@@ -111,26 +111,9 @@ private void B_StoryText_Click(object sender, EventArgs e)
if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true);
}).Start();
}
- private void B_Wild_Click(object sender, EventArgs e)
+ private void B_ExeFS_Click(object sender, EventArgs e)
{
- if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; }
- if (!oras) { Util.Alert("X/Y not supported yet."); return; }
- new Thread(() =>
- {
- string encdata = "encdata";
- string encdataGARC = getGARCFileName(encdata);
- threadGet(TB_Path.Text + encdataGARC, encdata, true, false);
- while (threads > 0) // Let threads complete
- Thread.Sleep(50);
-
- Invoke((Action)(() => { new RSWE(oras, Directory.GetFiles(encdata)).ShowDialog(); }));
- // When closed, create a new thread to set the GARC back.
-
- threadSet(TB_Path.Text + encdataGARC, encdata);
- while (threads > 0) // Let threads complete
- Thread.Sleep(100);
- if (Directory.Exists(encdata)) Directory.Delete(encdata, true);
- }).Start();
+ Util.Alert("Not implemented yet.");
}
private void B_Personal_Click(object sender, EventArgs e)
{
@@ -151,22 +134,6 @@ private void B_Personal_Click(object sender, EventArgs e)
if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true);
}).Start();
}
- private void B_Evolution_Click(object sender, EventArgs e)
- {
- Util.Alert("Not implemented yet.");
- }
- private void B_MegaEvo_Click(object sender, EventArgs e)
- {
- Util.Alert("Not implemented yet.");
- }
- private void B_Move_Click(object sender, EventArgs e)
- {
- Util.Alert("Not implemented yet.");
- }
- private void B_Item_Click(object sender, EventArgs e)
- {
- Util.Alert("Not implemented yet.");
- }
private void B_Trainer_Click(object sender, EventArgs e)
{
if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; }
@@ -204,6 +171,66 @@ private void B_Trainer_Click(object sender, EventArgs e)
if (Directory.Exists(trpoke)) Directory.Delete(trpoke, true);
}).Start();
}
+ private void B_Wild_Click(object sender, EventArgs e)
+ {
+ if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; }
+ if (!oras) { Util.Alert("X/Y not supported yet."); return; }
+ new Thread(() =>
+ {
+ string encdata = "encdata";
+ string encdataGARC = getGARCFileName(encdata);
+ threadGet(TB_Path.Text + encdataGARC, encdata, true, false);
+ while (threads > 0) // Let threads complete
+ Thread.Sleep(50);
+
+ Invoke((Action)(() => { new RSWE(oras, Directory.GetFiles(encdata)).ShowDialog(); }));
+ // When closed, create a new thread to set the GARC back.
+
+ threadSet(TB_Path.Text + encdataGARC, encdata);
+ while (threads > 0) // Let threads complete
+ Thread.Sleep(100);
+ if (Directory.Exists(encdata)) Directory.Delete(encdata, true);
+ }).Start();
+ }
+ private void B_Evolution_Click(object sender, EventArgs e)
+ {
+ Util.Alert("Not implemented yet.");
+ }
+ private void B_MegaEvo_Click(object sender, EventArgs e)
+ {
+ Util.Alert("Not implemented yet.");
+ }
+ private void B_Item_Click(object sender, EventArgs e)
+ {
+ Util.Alert("Not implemented yet.");
+ }
+ private void B_Move_Click(object sender, EventArgs e)
+ {
+ Util.Alert("Not implemented yet.");
+ }
+ private void B_LevelUp_Click(object sender, EventArgs e)
+ {
+ Util.Alert("Not implemented yet.");
+ }
+ private void B_EggMove_Click(object sender, EventArgs e)
+ {
+ if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; }
+ new Thread(() =>
+ {
+ string toEdit = "eggmove";
+ string GARC = getGARCFileName(toEdit);
+ threadGet(TB_Path.Text + GARC, toEdit, true, true);
+ while (threads > 0) // Let threads complete
+ Thread.Sleep(100);
+
+ Invoke((Action)(() => { new EggMove(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();
+ }
// GARC Requests
public bool getGARC(string infile, string outfolder, bool PB, bool bypassExt = false)
@@ -245,17 +272,29 @@ public string getGARCFileName(string request)
string ans = "";
switch (request)
{
+ case "encdata": ans = (oras) ? getFileName(0, 1, 3) : getFileName(0, 1, 2);
+ break;
case "gametext": ans = (oras) ? getFileName(0, 7, 1 + lang) : getFileName(0, 7, 2 + lang);
break;
case "storytext": ans = (oras) ? getFileName(0, 7 + ((lang + 9) / 10), (10 + (lang + 9)) % 10) : getFileName(0, 8, lang);
break;
- case "personal": ans = (oras) ? getFileName(1, 9, 5) : getFileName(2, 1, 8);
- break;
case "trdata": ans = (oras) ? getFileName(0, 3, 6) : getFileName(0, 3, 8);
break;
case "trpoke": ans = (oras) ? getFileName(0, 3, 8) : getFileName(0, 4, 0);
break;
- case "encdata": ans = (oras) ? getFileName(0, 1, 3) : getFileName(0, 1, 2);
+ case "move": ans = (oras) ? getFileName(1, 8, 9) : getFileName(2, 1, 2);
+ break;
+ case "eggmove": ans = (oras) ? getFileName(1, 9, 0) : getFileName(2, 1, 3);
+ break;
+ case "levelup": ans = (oras) ? getFileName(1, 9, 1) : getFileName(2, 1, 4);
+ break;
+ case "evolution": ans = (oras) ? getFileName(1, 9, 2) : getFileName(2, 1, 5);
+ break;
+ case "megaevo": ans = (oras) ? getFileName(1, 9, 3) : getFileName(2, 1, 6);
+ break;
+ case "personal": ans = (oras) ? getFileName(1, 9, 5) : getFileName(2, 1, 8);
+ break;
+ case "item": ans = (oras) ? getFileName(1, 9, 7) : getFileName(2, 2, 0);
break;
}
return ans;
@@ -328,5 +367,7 @@ private void L_About_Click(object sender, EventArgs e)
"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/Subforms/EggMove.Designer.cs b/pk3DS/Subforms/EggMove.Designer.cs
new file mode 100644
index 0000000..1d97553
--- /dev/null
+++ b/pk3DS/Subforms/EggMove.Designer.cs
@@ -0,0 +1,115 @@
+namespace pk3DS
+{
+ partial class EggMove
+ {
+ ///
+ /// 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.dgv = new System.Windows.Forms.DataGridView();
+ this.CB_Species = new System.Windows.Forms.ComboBox();
+ this.L_Species = new System.Windows.Forms.Label();
+ this.B_RandAll = new System.Windows.Forms.Button();
+ this.button1 = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.dgv)).BeginInit();
+ this.SuspendLayout();
+ //
+ // dgv
+ //
+ this.dgv.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dgv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgv.Location = new System.Drawing.Point(12, 41);
+ this.dgv.Name = "dgv";
+ this.dgv.Size = new System.Drawing.Size(282, 359);
+ this.dgv.TabIndex = 0;
+ //
+ // CB_Species
+ //
+ this.CB_Species.FormattingEnabled = true;
+ this.CB_Species.Location = new System.Drawing.Point(66, 12);
+ this.CB_Species.Name = "CB_Species";
+ this.CB_Species.Size = new System.Drawing.Size(121, 21);
+ this.CB_Species.TabIndex = 1;
+ this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.changeEntry);
+ //
+ // L_Species
+ //
+ this.L_Species.AutoSize = true;
+ this.L_Species.Location = new System.Drawing.Point(12, 15);
+ this.L_Species.Name = "L_Species";
+ this.L_Species.Size = new System.Drawing.Size(48, 13);
+ this.L_Species.TabIndex = 2;
+ this.L_Species.Text = "Species:";
+ //
+ // B_RandAll
+ //
+ this.B_RandAll.Location = new System.Drawing.Point(197, 10);
+ this.B_RandAll.Name = "B_RandAll";
+ this.B_RandAll.Size = new System.Drawing.Size(46, 23);
+ this.B_RandAll.TabIndex = 4;
+ this.B_RandAll.Text = "Rand";
+ this.B_RandAll.UseVisualStyleBackColor = true;
+ this.B_RandAll.Click += new System.EventHandler(this.B_RandAll_Click);
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(249, 10);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(46, 23);
+ this.button1.TabIndex = 5;
+ this.button1.Text = "Dump";
+ this.button1.UseVisualStyleBackColor = true;
+ //
+ // EggMove
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(306, 412);
+ this.Controls.Add(this.button1);
+ this.Controls.Add(this.B_RandAll);
+ this.Controls.Add(this.L_Species);
+ this.Controls.Add(this.CB_Species);
+ this.Controls.Add(this.dgv);
+ this.MinimumSize = new System.Drawing.Size(322, 450);
+ this.Name = "EggMove";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Egg Move Editor";
+ ((System.ComponentModel.ISupportInitialize)(this.dgv)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.DataGridView dgv;
+ private System.Windows.Forms.ComboBox CB_Species;
+ private System.Windows.Forms.Label L_Species;
+ private System.Windows.Forms.Button B_RandAll;
+ private System.Windows.Forms.Button button1;
+ }
+}
\ No newline at end of file
diff --git a/pk3DS/Subforms/EggMove.cs b/pk3DS/Subforms/EggMove.cs
new file mode 100644
index 0000000..3f49953
--- /dev/null
+++ b/pk3DS/Subforms/EggMove.cs
@@ -0,0 +1,140 @@
+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 EggMove : Form
+ {
+ public EggMove(bool oras)
+ {
+ InitializeComponent();
+ files = Directory.GetFiles("eggmove");
+
+ movelist = Main.getText((oras) ? 14 : 13);
+ specieslist = Main.getText((oras) ? 98 : 80);
+ specieslist[0] = movelist[0] = "";
+ Array.Resize(ref specieslist, 722);
+
+ sortedmoves = (string[])movelist.Clone();
+ Array.Sort(sortedmoves);
+ sortedspecies = (string[])specieslist.Clone();
+ Array.Sort(sortedspecies);
+
+ foreach (string s in sortedspecies) CB_Species.Items.Add(s);
+ CB_Species.Items.RemoveAt(0);
+
+ setupDGV();
+ CB_Species.SelectedIndex = 0;
+ }
+ private string[] files;
+ private int entry = -1;
+ private string[] movelist;
+ private string[] sortedmoves;
+ private string[] sortedspecies;
+ private string[] specieslist;
+ bool dumping = false;
+ private void setupDGV()
+ {
+ DataGridViewComboBoxColumn dgvMove = new DataGridViewComboBoxColumn();
+ {
+ dgvMove.HeaderText = "Move";
+ dgvMove.DisplayIndex = 0;
+ for (int i = 0; i < movelist.Length; i++)
+ dgvMove.Items.Add(sortedmoves[i]); // add only the Names
+
+ dgvMove.Width = 135;
+ dgvMove.FlatStyle = FlatStyle.Flat;
+ }
+ dgv.Columns.Add(dgvMove);
+ }
+ private void getList()
+ {
+ entry = Array.IndexOf(specieslist, CB_Species.Text);
+ dgv.Rows.Clear();
+ byte[] input = File.ReadAllBytes(files[entry]);
+ if (input.Length == 0) return;
+ int count = BitConverter.ToUInt16(input, 0);
+ if (count < 1) { File.WriteAllBytes(files[entry], new byte[0]); return; }
+ dgv.Rows.Add(count);
+
+ // Fill Entries
+ for (int i = 0; i < count; i++)
+ dgv.Rows[i].Cells[0].Value = movelist[BitConverter.ToUInt16(input, 2 + i * 2)];
+
+ dgv.CancelEdit();
+ }
+ private void setList()
+ {
+ if (entry < 1 || dumping) return;
+ List moves = new List();
+ for (int i = 0; i < dgv.Rows.Count - 1; i++)
+ {
+ int move = Array.IndexOf(movelist, dgv.Rows[i].Cells[0].Value);
+ if (move > 0) moves.Add((ushort)move);
+ }
+ ushort[] movevals = moves.ToArray(); if (movevals.Length == 0) { File.WriteAllBytes(files[entry], new byte[0]); return; }
+ byte[] movedata = new byte[2 + movevals.Length * 2];
+ Array.Copy(BitConverter.GetBytes((ushort)movevals.Length), movedata, 2);
+ for (int i = 0; i < movevals.Length; i++)
+ Array.Copy(BitConverter.GetBytes((ushort)movevals[i]), 0, movedata, 2 + 2 * i, 2);
+
+ File.WriteAllBytes(files[entry], movedata);
+ }
+
+ private void changeEntry(object sender, EventArgs e)
+ {
+ setList();
+ getList();
+ }
+
+ private void B_RandAll_Click(object sender, EventArgs e)
+ {
+ Random rnd = new Random();
+ for (int i = 0; i < CB_Species.Items.Count; i++)
+ {
+ CB_Species.SelectedIndex = i; // Get new Species
+ getList();
+ int count = dgv.Rows.Count - 1;
+ for (int j = 0; j < count; j++)
+ dgv.Rows[j].Cells[0].Value = movelist[rnd.Next(1, movelist.Length)];
+ }
+ setList();
+ Util.Alert("All Pokemon's Egg Moves have been randomized!");
+ }
+ private void B_Dump_Click(object sender, EventArgs e)
+ {
+ if (DialogResult.Yes != Util.Prompt(MessageBoxButtons.YesNo, "Dump all Egg Moves to Text File?"))
+ return;
+
+ dumping = true;
+ string result = "";
+ for (int i = 0; i < CB_Species.Items.Count; i++)
+ {
+ CB_Species.SelectedIndex = i; // Get new Species
+ result += "======" + Environment.NewLine + CB_Species.Text + Environment.NewLine + "======" + Environment.NewLine;
+ for (int j = 0; j < dgv.Rows.Count - 1; j++)
+ result += dgv.Rows[j].Cells[0].Value + Environment.NewLine;
+
+ result += Environment.NewLine;
+ }
+ SaveFileDialog sfd = new SaveFileDialog();
+ sfd.FileName = "Egg Moves.txt";
+ sfd.Filter = "Text File|*.txt";
+
+ System.Media.SystemSounds.Asterisk.Play();
+ if (sfd.ShowDialog() == DialogResult.OK)
+ {
+ string path = sfd.FileName;
+ File.WriteAllText(path, result, System.Text.Encoding.Unicode);
+ }
+ dumping = false;
+ }
+ }
+}
diff --git a/pk3DS/Personal.resx b/pk3DS/Subforms/EggMove.resx
similarity index 100%
rename from pk3DS/Personal.resx
rename to pk3DS/Subforms/EggMove.resx
diff --git a/pk3DS/Personal.Designer.cs b/pk3DS/Subforms/Personal.Designer.cs
similarity index 100%
rename from pk3DS/Personal.Designer.cs
rename to pk3DS/Subforms/Personal.Designer.cs
diff --git a/pk3DS/Personal.cs b/pk3DS/Subforms/Personal.cs
similarity index 100%
rename from pk3DS/Personal.cs
rename to pk3DS/Subforms/Personal.cs
diff --git a/pk3DS/RSTE.resx b/pk3DS/Subforms/Personal.resx
similarity index 100%
rename from pk3DS/RSTE.resx
rename to pk3DS/Subforms/Personal.resx
diff --git a/pk3DS/RSTE.Designer.cs b/pk3DS/Subforms/RSTE.Designer.cs
similarity index 100%
rename from pk3DS/RSTE.Designer.cs
rename to pk3DS/Subforms/RSTE.Designer.cs
diff --git a/pk3DS/RSTE.cs b/pk3DS/Subforms/RSTE.cs
similarity index 100%
rename from pk3DS/RSTE.cs
rename to pk3DS/Subforms/RSTE.cs
diff --git a/pk3DS/RSWE.resx b/pk3DS/Subforms/RSTE.resx
similarity index 100%
rename from pk3DS/RSWE.resx
rename to pk3DS/Subforms/RSTE.resx
diff --git a/pk3DS/RSWE.cs b/pk3DS/Subforms/RSWE.cs
similarity index 100%
rename from pk3DS/RSWE.cs
rename to pk3DS/Subforms/RSWE.cs
diff --git a/pk3DS/RSWE.designer.cs b/pk3DS/Subforms/RSWE.designer.cs
similarity index 100%
rename from pk3DS/RSWE.designer.cs
rename to pk3DS/Subforms/RSWE.designer.cs
diff --git a/pk3DS/xytext.resx b/pk3DS/Subforms/RSWE.resx
similarity index 100%
rename from pk3DS/xytext.resx
rename to pk3DS/Subforms/RSWE.resx
diff --git a/pk3DS/TrainerRand.Designer.cs b/pk3DS/Subforms/TrainerRand.Designer.cs
similarity index 100%
rename from pk3DS/TrainerRand.Designer.cs
rename to pk3DS/Subforms/TrainerRand.Designer.cs
diff --git a/pk3DS/TrainerRand.cs b/pk3DS/Subforms/TrainerRand.cs
similarity index 100%
rename from pk3DS/TrainerRand.cs
rename to pk3DS/Subforms/TrainerRand.cs
diff --git a/pk3DS/xytext.Designer.cs b/pk3DS/Subforms/xytext.Designer.cs
similarity index 100%
rename from pk3DS/xytext.Designer.cs
rename to pk3DS/Subforms/xytext.Designer.cs
diff --git a/pk3DS/xytext.cs b/pk3DS/Subforms/xytext.cs
similarity index 100%
rename from pk3DS/xytext.cs
rename to pk3DS/Subforms/xytext.cs
diff --git a/pk3DS/Subforms/xytext.resx b/pk3DS/Subforms/xytext.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/pk3DS/Subforms/xytext.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/pk3DS.csproj b/pk3DS/pk3DS.csproj
index 4263ac5..8899c06 100644
--- a/pk3DS/pk3DS.csproj
+++ b/pk3DS/pk3DS.csproj
@@ -48,6 +48,12 @@
+
+ Form
+
+
+ EggMove.cs
+
@@ -56,43 +62,46 @@
Main.cs
-
+
Form
-
+
Personal.cs
-
+
Form
-
+
RSWE.cs
-
+
Form
-
+
TrainerRand.cs
-
+
Form
-
+
RSTE.cs
-
+
Form
-
+
xytext.cs
Main.cs
-
+
+ EggMove.cs
+
+
Personal.cs
@@ -105,13 +114,13 @@
Resources.resx
True
-
+
RSTE.cs
-
+
RSWE.cs
-
+
xytext.cs