diff --git a/pk3DS/ExeFS.cs b/pk3DS/ExeFS.cs index 7da45f3..080e22c 100644 --- a/pk3DS/ExeFS.cs +++ b/pk3DS/ExeFS.cs @@ -1,7 +1,7 @@ using System; +using System.IO; using System.Linq; using System.Text; -using System.IO; namespace pk3DS { diff --git a/pk3DS/GARCTool.cs b/pk3DS/GARCTool.cs index 895417a..93ba224 100644 --- a/pk3DS/GARCTool.cs +++ b/pk3DS/GARCTool.cs @@ -1,8 +1,6 @@ using System; using System.IO; using System.Windows.Forms; -using System.Threading; -using System.Collections.Generic; namespace pk3DS { diff --git a/pk3DS/Legal.cs b/pk3DS/Legal.cs index c4618bd..853d413 100644 --- a/pk3DS/Legal.cs +++ b/pk3DS/Legal.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace pk3DS +namespace pk3DS { class Legal { diff --git a/pk3DS/Main.Designer.cs b/pk3DS/Main.Designer.cs index b81b3ec..cd5189b 100644 --- a/pk3DS/Main.Designer.cs +++ b/pk3DS/Main.Designer.cs @@ -53,6 +53,7 @@ private void InitializeComponent() this.B_Mart = new System.Windows.Forms.Button(); this.B_MoveTutor = new System.Windows.Forms.Button(); this.B_TMHM = new System.Windows.Forms.Button(); + this.RTB_Status = new System.Windows.Forms.RichTextBox(); this.GB_RomFS.SuspendLayout(); this.GB_ExeFS.SuspendLayout(); this.SuspendLayout(); @@ -97,7 +98,7 @@ private void InitializeComponent() this.GB_RomFS.Location = new System.Drawing.Point(12, 67); this.GB_RomFS.Name = "GB_RomFS"; this.GB_RomFS.Size = new System.Drawing.Size(430, 110); - this.GB_RomFS.TabIndex = 2; + this.GB_RomFS.TabIndex = 5; this.GB_RomFS.TabStop = false; this.GB_RomFS.Text = "RomFS Editing Tools"; // @@ -106,7 +107,7 @@ private void InitializeComponent() this.B_Maison.Location = new System.Drawing.Point(112, 77); this.B_Maison.Name = "B_Maison"; this.B_Maison.Size = new System.Drawing.Size(100, 23); - this.B_Maison.TabIndex = 11; + this.B_Maison.TabIndex = 5; this.B_Maison.Text = "Maison Editor"; this.B_Maison.UseVisualStyleBackColor = true; this.B_Maison.Click += new System.EventHandler(this.B_Maison_Click); @@ -136,7 +137,7 @@ private void InitializeComponent() this.B_StoryText.Location = new System.Drawing.Point(6, 48); this.B_StoryText.Name = "B_StoryText"; this.B_StoryText.Size = new System.Drawing.Size(100, 23); - this.B_StoryText.TabIndex = 8; + this.B_StoryText.TabIndex = 1; this.B_StoryText.Text = "Story Text Editor"; this.B_StoryText.UseVisualStyleBackColor = true; this.B_StoryText.Click += new System.EventHandler(this.B_StoryText_Click); @@ -146,7 +147,7 @@ private void InitializeComponent() 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; + this.B_Item.TabIndex = 8; this.B_Item.Text = "Item Editor"; this.B_Item.UseVisualStyleBackColor = true; this.B_Item.Click += new System.EventHandler(this.B_Item_Click); @@ -156,7 +157,7 @@ private void InitializeComponent() this.B_Move.Location = new System.Drawing.Point(324, 77); this.B_Move.Name = "B_Move"; this.B_Move.Size = new System.Drawing.Size(100, 23); - this.B_Move.TabIndex = 6; + this.B_Move.TabIndex = 11; this.B_Move.Text = "Move Editor"; this.B_Move.UseVisualStyleBackColor = true; this.B_Move.Click += new System.EventHandler(this.B_Move_Click); @@ -166,7 +167,7 @@ private void InitializeComponent() 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; + this.B_Evolution.TabIndex = 6; this.B_Evolution.Text = "Evolution Editor"; this.B_Evolution.UseVisualStyleBackColor = true; this.B_Evolution.Click += new System.EventHandler(this.B_Evolution_Click); @@ -176,7 +177,7 @@ private void InitializeComponent() this.B_Personal.Location = new System.Drawing.Point(112, 19); this.B_Personal.Name = "B_Personal"; this.B_Personal.Size = new System.Drawing.Size(100, 23); - this.B_Personal.TabIndex = 4; + this.B_Personal.TabIndex = 3; this.B_Personal.Text = "Personal Editor"; this.B_Personal.UseVisualStyleBackColor = true; this.B_Personal.Click += new System.EventHandler(this.B_Personal_Click); @@ -186,7 +187,7 @@ private void InitializeComponent() 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; + this.B_MegaEvo.TabIndex = 7; this.B_MegaEvo.Text = "Mega Evo Editor"; this.B_MegaEvo.UseVisualStyleBackColor = true; this.B_MegaEvo.Click += new System.EventHandler(this.B_MegaEvo_Click); @@ -196,7 +197,7 @@ private void InitializeComponent() this.B_Wild.Location = new System.Drawing.Point(112, 48); this.B_Wild.Name = "B_Wild"; this.B_Wild.Size = new System.Drawing.Size(100, 23); - this.B_Wild.TabIndex = 2; + this.B_Wild.TabIndex = 4; this.B_Wild.Text = "Wild Editor"; this.B_Wild.UseVisualStyleBackColor = true; this.B_Wild.Click += new System.EventHandler(this.B_Wild_Click); @@ -206,7 +207,7 @@ private void InitializeComponent() this.B_Trainer.Location = new System.Drawing.Point(6, 77); this.B_Trainer.Name = "B_Trainer"; this.B_Trainer.Size = new System.Drawing.Size(100, 23); - this.B_Trainer.TabIndex = 1; + this.B_Trainer.TabIndex = 2; this.B_Trainer.Text = "Trainer Editor"; this.B_Trainer.UseVisualStyleBackColor = true; this.B_Trainer.Click += new System.EventHandler(this.B_Trainer_Click); @@ -238,7 +239,7 @@ private void InitializeComponent() 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; + this.CB_Lang.TabIndex = 4; this.CB_Lang.SelectedIndexChanged += new System.EventHandler(this.changeLanguage); // // L_Lang @@ -248,7 +249,7 @@ private void InitializeComponent() 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; + this.L_Lang.TabIndex = 3; this.L_Lang.Text = "Language:"; // // L_Game @@ -258,13 +259,13 @@ private void InitializeComponent() this.L_Game.Location = new System.Drawing.Point(15, 43); this.L_Game.Name = "L_Game"; this.L_Game.Size = new System.Drawing.Size(91, 13); - this.L_Game.TabIndex = 5; + this.L_Game.TabIndex = 2; this.L_Game.Text = "No Game Loaded"; this.L_Game.Click += new System.EventHandler(this.L_Game_Click); // // pBar1 // - this.pBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + this.pBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pBar1.Location = new System.Drawing.Point(12, 241); this.pBar1.Name = "pBar1"; @@ -283,6 +284,8 @@ private void InitializeComponent() // // GB_ExeFS // + this.GB_ExeFS.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.GB_ExeFS.Controls.Add(this.B_Pickup); this.GB_ExeFS.Controls.Add(this.B_Mart); this.GB_ExeFS.Controls.Add(this.B_MoveTutor); @@ -291,7 +294,7 @@ private void InitializeComponent() this.GB_ExeFS.Location = new System.Drawing.Point(12, 184); this.GB_ExeFS.Name = "GB_ExeFS"; this.GB_ExeFS.Size = new System.Drawing.Size(430, 50); - this.GB_ExeFS.TabIndex = 8; + this.GB_ExeFS.TabIndex = 6; this.GB_ExeFS.TabStop = false; this.GB_ExeFS.Text = "ExeFS Editing Tools"; // @@ -300,7 +303,7 @@ private void InitializeComponent() this.B_Pickup.Location = new System.Drawing.Point(6, 19); this.B_Pickup.Name = "B_Pickup"; this.B_Pickup.Size = new System.Drawing.Size(100, 23); - this.B_Pickup.TabIndex = 3; + this.B_Pickup.TabIndex = 0; this.B_Pickup.Text = "Pickup Editor"; this.B_Pickup.UseVisualStyleBackColor = true; this.B_Pickup.Click += new System.EventHandler(this.B_Pickup_Click); @@ -320,7 +323,7 @@ private void InitializeComponent() this.B_MoveTutor.Location = new System.Drawing.Point(324, 19); this.B_MoveTutor.Name = "B_MoveTutor"; this.B_MoveTutor.Size = new System.Drawing.Size(100, 23); - this.B_MoveTutor.TabIndex = 1; + this.B_MoveTutor.TabIndex = 3; this.B_MoveTutor.Text = "Move Tutor Editor"; this.B_MoveTutor.UseVisualStyleBackColor = true; this.B_MoveTutor.Click += new System.EventHandler(this.B_MoveTutor_Click); @@ -330,16 +333,29 @@ private void InitializeComponent() this.B_TMHM.Location = new System.Drawing.Point(112, 19); this.B_TMHM.Name = "B_TMHM"; this.B_TMHM.Size = new System.Drawing.Size(100, 23); - this.B_TMHM.TabIndex = 0; + this.B_TMHM.TabIndex = 1; this.B_TMHM.Text = "TM/HM Editor"; this.B_TMHM.UseVisualStyleBackColor = true; this.B_TMHM.Click += new System.EventHandler(this.B_TMHM_Click); // + // RTB_Status + // + this.RTB_Status.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.RTB_Status.Location = new System.Drawing.Point(12, 263); + this.RTB_Status.Name = "RTB_Status"; + this.RTB_Status.ReadOnly = true; + this.RTB_Status.Size = new System.Drawing.Size(430, 150); + this.RTB_Status.TabIndex = 7; + this.RTB_Status.Text = ""; + // // Main // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(454, 262); + this.ClientSize = new System.Drawing.Size(454, 422); + this.Controls.Add(this.RTB_Status); this.Controls.Add(this.GB_ExeFS); this.Controls.Add(this.L_About); this.Controls.Add(this.pBar1); @@ -349,7 +365,8 @@ private void InitializeComponent() this.Controls.Add(this.GB_RomFS); this.Controls.Add(this.TB_Path); this.Controls.Add(this.B_Open); - this.MaximumSize = new System.Drawing.Size(470, 300); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(470, 700); this.MinimumSize = new System.Drawing.Size(470, 300); this.Name = "Main"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; @@ -389,6 +406,7 @@ private void InitializeComponent() private System.Windows.Forms.Button B_Mart; private System.Windows.Forms.Button B_MoveTutor; private System.Windows.Forms.Button B_TMHM; + public System.Windows.Forms.RichTextBox RTB_Status; } } diff --git a/pk3DS/Main.cs b/pk3DS/Main.cs index 1ecacb6..59b2894 100644 --- a/pk3DS/Main.cs +++ b/pk3DS/Main.cs @@ -1,13 +1,7 @@ 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; using System.Threading; +using System.Windows.Forms; namespace pk3DS { @@ -15,9 +9,13 @@ public partial class Main : Form { public Main() { + // Initialize the Main Form InitializeComponent(); + + // Set the Current Language to English CB_Lang.SelectedIndex = 2; - // restoreGARCs(true, "gametext", "storytext", "personal", "trpoke", "trdata", "evolution", "megaevo", "levelup", "eggmove", "item", "move", "maisonpkS", "maisontrS", "maisonpkN", "maisontrN"); + + // Prepare DragDrop Functionality this.AllowDrop = GB_RomFS.AllowDrop = TB_Path.AllowDrop = true; this.DragEnter += tabMain_DragEnter; this.DragDrop += tabMain_DragDrop; @@ -25,7 +23,12 @@ public Main() GB_RomFS.DragDrop += tabMain_DragDrop; TB_Path.DragEnter += tabMain_DragEnter; TB_Path.DragDrop += tabMain_DragDrop; + + // Rebuilding Functionality + // GB_RomFS.Click += rebuildRomFS; // Not tested, need some verification first. GB_ExeFS.Click += rebuildExeFS; + + // Reload Previous Editing Files if the file exists if (File.Exists("config.ini")) { string path = File.ReadAllText("config.ini"); @@ -38,12 +41,86 @@ public Main() public volatile int threads = 0; private static string[] allGARCs = { "gametext", "storytext", "personal", "trpoke", "trdata", "evolution", "megaevo", "levelup", "eggmove", "item", "move", "maisonpkS", "maisontrS", "maisonpkN", "maisontrN" }; + // Main Form Methods + private void L_About_Click(object sender, EventArgs e) + { + if (ModifierKeys == Keys.Control && RomFS != null) + { + string s = "Game Type: " + ((oras) ? "ORAS" : "XY") + Environment.NewLine; + for (int i = 0; i < allGARCs.Length; i++) + s += String.Format(Environment.NewLine + "{0} - {1}", allGARCs[i], getGARCFileName(allGARCs[i])); + if (DialogResult.Yes == Util.Prompt(MessageBoxButtons.YesNo, s, "Copy to Clipboard?")) + try { Clipboard.SetText(s); } + catch { Util.Alert("Unable to copy to Clipboard."); } + } + else + Util.Alert + ( + "pk3DS: A package of Pokémon X/Y/OR/AS tools by various contributors.", + + "GARCTool (Backbone): Kaphotics" + Environment.NewLine + + "Text Editing (xytext): Kaphotics" + Environment.NewLine + + "Wild Editor (**WE): SciresM & Kaphotics" + Environment.NewLine + + "Trainer Editor (**TE): SciresM, Kaphotics, and KazoWAR" + Environment.NewLine + + "Personal Editor: SciresM" + Environment.NewLine + + "Mega Evolution Editor (MEE): Huntereb & SciresM", + + "After integrating standalone tools, the following editors were implemented:" + Environment.NewLine + + "Evolutions, Moves, Items, Maison, and ExeFS Editors: Kaphotics", + + "Big thanks to the ProjectPokemon community!" + ); + } + private void L_Game_Click(object sender, EventArgs e) + { + if (GB_RomFS.Enabled && RomFS != null && ModifierKeys == Keys.Control) + if (DialogResult.Yes == Util.Prompt(MessageBoxButtons.YesNo, "Restore Original Files?")) + restoreGARCs(oras, allGARCs); + } private void B_Open_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) openQuick(fbd.SelectedPath); } + private void changeLanguage(object sender, EventArgs e) + { + if (!GB_RomFS.Enabled) return; + new Thread(() => + { + // Gather the Text Language Strings + updateStatus(String.Format("GARC Get: {0} @ {1}... ", "gametext", getGARCFileName("gametext"))); + threadGet(RomFS + getGARCFileName("gametext"), "gametext", true, true); + while (threads > 0) Thread.Sleep(50); + if (!Directory.Exists("personal")) + { + updateStatus(String.Format("GARC Get: {0} @ {1}... ", "personal", getGARCFileName("personal"))); + threadGet(RomFS + getGARCFileName("personal"), "personal", true, true); + } + }).Start(); + } + private void formClosing(object sender, FormClosingEventArgs e) + { + updateStatus("Saving data and closing the program..."); + if (TB_Path.Text.Length > 0) File.WriteAllText("config.ini", TB_Path.Text); + if (!GB_RomFS.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. + try + { + updateStatus(String.Format("GARC Get: {0} @ {1}... ", "gametext", getGARCFileName("gametext"))); + threadSet(RomFS + getGARCFileName("gametext"), "gametext", false); + while (threads > 0) Thread.Sleep(100); + + Thread.Sleep(200); // Small gap between beeps for faster computers. + + updateStatus(String.Format("GARC Get: {0} @ {1}... ", "personal", getGARCFileName("personal"))); + threadSet(RomFS + getGARCFileName("personal"), "personal", false); + while (threads > 0) Thread.Sleep(100); + } + catch { } + if (Directory.Exists("gametext")) Directory.Delete("gametext", true); + if (Directory.Exists("personal")) Directory.Delete("personal", true); + } private void openQuick(string path) { FileInfo fi = new FileInfo(path); @@ -65,7 +142,7 @@ private void openQuick(string path) int count = folders.Length; if (count != 2 && count != 1) return; // Only want exefs & romfs (can have exheader there too, it's not a folder) { - // first file should be 'exe' + // First file should be 'exe' if (new FileInfo(folders[0]).Name.ToLower().Contains("exe") && Directory.Exists(folders[0])) checkIfExeFS(folders[0]); if (new FileInfo(folders[count - 1]).Name.ToLower().Contains("rom") && Directory.Exists(folders[count - 1])) @@ -73,7 +150,7 @@ private void openQuick(string path) GB_RomFS.Enabled = (RomFS != null); GB_ExeFS.Enabled = (RomFS != null && ExeFS != null); - B_MoveTutor.Enabled = oras; // default false unless loaded + B_MoveTutor.Enabled = oras; // Default false unless loaded if (RomFS != null) { L_Game.Text = (oras) ? "Game Loaded: ORAS" : "Game Loaded: XY"; TB_Path.Text = path; } else if (ExeFS != null) @@ -81,7 +158,14 @@ private void openQuick(string path) else { L_Game.Text = "No Game Loaded"; TB_Path.Text = ""; } - changeLanguage(null, null); // Trigger Text Loading + if (RomFS != null) + { + // Trigger Data Loading + updateStatus("Data found! Loading persistent data for subforms...", false); + changeLanguage(null, null); + } + + // Method finished. System.Media.SystemSounds.Asterisk.Play(); } } @@ -141,16 +225,30 @@ private void tabMain_DragDrop(object sender, DragEventArgs e) } // RomFS Subform Items + private void rebuildRomFS(object sender, EventArgs e) + { + if (RomFS != null) + { + if (Util.Prompt(MessageBoxButtons.YesNo, "Rebuild RomFS?") == DialogResult.Yes) + { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.FileName = "romfs.bin"; + sfd.Filter = "Binary File|*.*"; + if (sfd.ShowDialog() == DialogResult.OK) + { new Thread(() => { threads++; RomFSTool.BuildRomFS(RomFS, null, pBar1); threads--; }).Start(); } + } + } + } private void B_GameText_Click(object sender, EventArgs e) { new Thread(() => { string toEdit = "gametext"; string GARC = getGARCFileName(toEdit); - // threadGet(RomFS + getGARCFileName(toEdit), toEdit); // We don't need this because loading and changing language does it for us. - + // Persistent data; file already fetched. Invoke((Action)(() => { new xytext(Directory.GetFiles(toEdit)).ShowDialog(); })); - // When closed, create a new thread to set the GARC back. + // Persistent data; folder not deleted. + updateStatus(String.Format("GARC Set: {0} @ {1}... ", toEdit, GARC)); threadSet(RomFS + GARC, toEdit); }).Start(); } @@ -159,18 +257,9 @@ private void B_StoryText_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string toEdit = "storytext"; - string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - - Invoke((Action)(() => { new xytext(Directory.GetFiles(toEdit)).ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileGet("storytext"); + Invoke((Action)(() => { new xytext(Directory.GetFiles("storytext")).ShowDialog(); })); + fileSet("storytext"); }).Start(); } private void B_Maison_Click(object sender, EventArgs e) @@ -180,33 +269,12 @@ private void B_Maison_Click(object sender, EventArgs e) if (dr == DialogResult.Cancel) return; new Thread(() => - { - bool super = (dr == DialogResult.Yes); - string mtr = (super) ? "maisontrS" : "maisontrN"; - string mtrGARC = getGARCFileName(mtr); - threadGet(RomFS + mtrGARC, mtr, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - string mpk = (super) ? "maisonpkS" : "maisonpkN"; - string mpkGARC = getGARCFileName(mpk); - threadGet(RomFS + mpkGARC, mpk, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - Invoke((Action)(() => { new Maison(super).ShowDialog(); })); - - threadSet(RomFS + mtrGARC, mtr); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(mtr)) Directory.Delete(mtr, true); - - threadSet(RomFS + mpkGARC, mpk); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(mpk)) Directory.Delete(mpk, true); - - }).Start(); + { + bool super = (dr == DialogResult.Yes); + fileGet((super) ? "maisontrS" : "maisontrN", (super) ? "maisonpkS" : "maisonpkN"); + Invoke((Action)(() => { new Maison(super).ShowDialog(); })); + fileGet((super) ? "maisontrS" : "maisontrN", (super) ? "maisonpkS" : "maisonpkN"); + }).Start(); } private void B_Personal_Click(object sender, EventArgs e) { @@ -215,16 +283,11 @@ private void B_Personal_Click(object sender, EventArgs e) { string toEdit = "personal"; string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + // Persistent data; file already fetched. Invoke((Action)(() => { new Personal().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. + // Persistent data; folder not deleted. + updateStatus(String.Format("GARC Set: {0} @ {1}... ", toEdit, GARC)); threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); }).Start(); } private void B_Trainer_Click(object sender, EventArgs e) @@ -232,36 +295,9 @@ private void B_Trainer_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string trdata = "trdata"; - string trdataGARC = getGARCFileName(trdata); - threadGet(RomFS + trdataGARC, trdata, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - string trpoke = "trpoke"; - string trpokeGARC = getGARCFileName(trpoke); - threadGet(RomFS + trpokeGARC, trpoke, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - string personal = "personal"; - string personalGARC = getGARCFileName(personal); - threadGet(RomFS + personalGARC, personal, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("trdata", "trpoke"); Invoke((Action)(() => { new RSTE().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - - threadSet(RomFS + trdataGARC, trdata); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(trdata)) Directory.Delete(trdata, true); - - threadSet(RomFS + trpokeGARC, trpoke); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(trpoke)) Directory.Delete(trpoke, true); + fileSet("trdata", "trpoke"); }).Start(); } private void B_Wild_Click(object sender, EventArgs e) @@ -269,28 +305,10 @@ private void B_Wild_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string personal = "personal"; - string personalGARC = getGARCFileName(personal); - threadGet(RomFS + personalGARC, personal, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - string encdata = "encdata"; - string encdataGARC = getGARCFileName(encdata); - threadGet(RomFS + encdataGARC, encdata, true, false); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - if (oras) - { Invoke((Action)(() => { new RSWE().ShowDialog(); })); } - else - { Invoke((Action)(() => { new XYWE().ShowDialog(); })); } - // When closed, create a new thread to set the GARC back. - - threadSet(RomFS + encdataGARC, encdata); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(encdata)) Directory.Delete(encdata, true); + fileGet("encdata"); + if (oras) { Invoke((Action)(() => { new RSWE().ShowDialog(); })); } + else { Invoke((Action)(() => { new XYWE().ShowDialog(); })); } + fileSet("encdata"); }).Start(); } private void B_Evolution_Click(object sender, EventArgs e) @@ -298,18 +316,9 @@ private void B_Evolution_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string toEdit = "evolution"; - string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("evolution"); Invoke((Action)(() => { new Evolution().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileSet("evolution"); }).Start(); } private void B_MegaEvo_Click(object sender, EventArgs e) @@ -317,25 +326,9 @@ private void B_MegaEvo_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string megaevo = "megaevo"; - string GARC = getGARCFileName(megaevo); - threadGet(RomFS + GARC, megaevo, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - - string personal = "personal"; - string personalGARC = getGARCFileName(personal); - threadGet(RomFS + personalGARC, personal, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - + fileGet("megaevo"); Invoke((Action)(() => { new MEE().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - - threadSet(RomFS + GARC, megaevo); - while (threads > 0) // Let threads complete - Thread.Sleep(50); - if (Directory.Exists(megaevo)) Directory.Delete(megaevo, true); + fileSet("megaevo"); }).Start(); } private void B_Item_Click(object sender, EventArgs e) @@ -343,19 +336,9 @@ private void B_Item_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string toEdit = "item"; - string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("item"); Invoke((Action)(() => { new Item().ShowDialog(); })); - - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileSet("item"); }).Start(); } private void B_Move_Click(object sender, EventArgs e) @@ -363,19 +346,9 @@ private void B_Move_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string toEdit = "move"; - string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("move"); Invoke((Action)(() => { new Moves().ShowDialog(); })); - - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileSet("move"); }).Start(); } private void B_LevelUp_Click(object sender, EventArgs e) @@ -383,18 +356,9 @@ private void B_LevelUp_Click(object sender, EventArgs e) if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } new Thread(() => { - string toEdit = "levelup"; - string GARC = getGARCFileName(toEdit); - threadGet(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("levelup"); Invoke((Action)(() => { new LevelUp().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileSet("levelup"); }).Start(); } private void B_EggMove_Click(object sender, EventArgs e) @@ -402,22 +366,58 @@ 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(RomFS + GARC, toEdit, true, true); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - + fileGet("eggmove"); Invoke((Action)(() => { new EggMove().ShowDialog(); })); - // When closed, create a new thread to set the GARC back. - threadSet(RomFS + GARC, toEdit); - while (threads > 0) // Let threads complete - Thread.Sleep(100); - if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + fileSet("eggmove"); }).Start(); } + // RomFS File Requesting Method Wrapper + private void fileGet(params string[] files) + { + foreach (string toEdit in files) + { + string GARC = getGARCFileName(toEdit); + updateStatus(String.Format("GARC Get: {0} @ {1}... ", toEdit, GARC)); + threadGet(RomFS + GARC, toEdit, true, true); + while (threads > 0) Thread.Sleep(50); + } + } + private void fileSet(params string[] files) + { + foreach (string toEdit in files) + { + string GARC = getGARCFileName(toEdit); + updateStatus(String.Format("GARC Set: {0} @ {1}... ", toEdit, GARC)); + threadSet(RomFS + GARC, toEdit); + while (threads > 0) Thread.Sleep(50); + if (Directory.Exists(toEdit)) Directory.Delete(toEdit, true); + } + } // ExeFS Subform Items + private void rebuildExeFS(object sender, EventArgs e) + { + if (ExeFS != null) + if (Util.Prompt(MessageBoxButtons.YesNo, "Rebuild ExeFS?") == DialogResult.Yes) + { + string[] files = Directory.GetFiles(ExeFS); + int file = 0; if (files[1].Contains("code")) file = 1; + SaveFileDialog sfd = new SaveFileDialog(); + sfd.FileName = "exefs.bin"; + sfd.Filter = "Binary File|*.*"; + if (sfd.ShowDialog() == DialogResult.OK) + { + new Thread(() => + { + threads++; + new blz.BLZCoder(new string[] { "-en", files[file] }, pBar1); + Util.Alert("Compressed!"); + ExeFSTool.set(Directory.GetFiles(ExeFS), sfd.FileName); + threads--; + }).Start(); + } + } + } private void B_Pickup_Click(object sender, EventArgs e) { if (threads > 0) { Util.Alert("Please wait for all operations to finish first."); return; } @@ -441,40 +441,6 @@ private void B_MoveTutor_Click(object sender, EventArgs e) } // GARC Requests - public bool getGARC(string infile, string outfolder, bool PB, bool bypassExt = false) - { - try - { - bool success = GARCTool.garcUnpack(infile, outfolder, bypassExt, (PB) ? pBar1 : null, null, true, bypassExt); - Console.WriteLine("Get Status: " + success.ToString()); - threads--; - return success; - } - catch (Exception e) { Util.Error("Could not get the GARC:", e.ToString()); threads--; return false; } - } - public bool setGARC(string outfile, string infolder, bool PB) - { - try - { - bool success = GARCTool.garcPackMS(infolder, outfile, (PB) ? pBar1 : null, null, true); - Console.WriteLine("Set Status: " + success.ToString()); - threads--; - return success; - } - catch (Exception e) { Util.Error("Could not set the GARC back:", e.ToString()); threads--; return false; } - } - public void threadGet(string infile, string outfolder, bool PB = true, bool bypassExt = false) - { - if (Directory.Exists(outfolder)) try { Directory.Delete(outfolder, true); } - catch { } - Thread thread = new Thread(() => getGARC(infile, outfolder, PB, bypassExt)); - thread.Start(); threads++; - } - public void threadSet(string outfile, string infolder, bool PB = true) - { - Thread thread = new Thread(() => setGARC(outfile, infolder, PB)); - thread.Start(); threads++; - } public string getGARCFileName(string requestedGARC) { int lang = 0; @@ -485,25 +451,65 @@ public string getGARCFileName(string requestedGARC) string ans = ""; switch (requestedGARC) { - 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 "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 "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; - case "maisonpkN": ans = (oras) ? getFileName(1, 8, 2) : getFileName(2, 0, 3); break; - case "maisontrN": ans = (oras) ? getFileName(1, 8, 3) : getFileName(2, 0, 4); break; - case "maisonpkS": ans = (oras) ? getFileName(1, 8, 4) : getFileName(2, 0, 5); break; - case "maisontrS": ans = (oras) ? getFileName(1, 8, 5) : getFileName(2, 0, 6); break; + case "encdata": ans = (oras) ? getGARCPath(0, 1, 3) : getGARCPath(0, 1, 2); break; + case "trdata": ans = (oras) ? getGARCPath(0, 3, 6) : getGARCPath(0, 3, 8); break; + case "trpoke": ans = (oras) ? getGARCPath(0, 3, 8) : getGARCPath(0, 4, 0); break; + case "gametext": ans = (oras) ? getGARCPath(0, 7, 1 + lang) : getGARCPath(0, 7, 2 + lang); break; + case "storytext": ans = (oras) ? getGARCPath(0, 7 + ((lang + 9) / 10), (10 + (lang + 9)) % 10) : getGARCPath(0, 8, lang); break; + case "maisonpkN": ans = (oras) ? getGARCPath(1, 8, 2) : getGARCPath(2, 0, 3); break; + case "maisontrN": ans = (oras) ? getGARCPath(1, 8, 3) : getGARCPath(2, 0, 4); break; + case "maisonpkS": ans = (oras) ? getGARCPath(1, 8, 4) : getGARCPath(2, 0, 5); break; + case "maisontrS": ans = (oras) ? getGARCPath(1, 8, 5) : getGARCPath(2, 0, 6); break; + case "move": ans = (oras) ? getGARCPath(1, 8, 9) : getGARCPath(2, 1, 2); break; + case "eggmove": ans = (oras) ? getGARCPath(1, 9, 0) : getGARCPath(2, 1, 3); break; + case "levelup": ans = (oras) ? getGARCPath(1, 9, 1) : getGARCPath(2, 1, 4); break; + case "evolution": ans = (oras) ? getGARCPath(1, 9, 2) : getGARCPath(2, 1, 5); break; + case "megaevo": ans = (oras) ? getGARCPath(1, 9, 3) : getGARCPath(2, 1, 6); break; + case "personal": ans = (oras) ? getGARCPath(1, 9, 5) : getGARCPath(2, 1, 8); break; + case "item": ans = (oras) ? getGARCPath(1, 9, 7) : getGARCPath(2, 2, 0); break; } return ans; } + public string getGARCPath(int A, int B, int C) + { + return Path.DirectorySeparatorChar + "a" + Path.DirectorySeparatorChar + A.ToString() + Path.DirectorySeparatorChar + B.ToString() + Path.DirectorySeparatorChar + C.ToString(); + } + public bool getGARC(string infile, string outfolder, bool PB, bool bypassExt = false) + { + try + { + bool success = GARCTool.garcUnpack(infile, outfolder, bypassExt, (PB) ? pBar1 : null, null, true, bypassExt); + updateStatus(String.Format(success ? "Success!" : "Failed!"), false); + threads--; + return success; + } + catch (Exception e) { Util.Error("Could not get the GARC:", e.ToString()); threads--; return false; } + } + public bool setGARC(string outfile, string infolder, bool PB) + { + try + { + bool success = GARCTool.garcPackMS(infolder, outfile, (PB) ? pBar1 : null, null, true); + threads--; + updateStatus(String.Format(success ? "Success!" : "Failed!"), false); + return success; + } + catch (Exception e) { Util.Error("Could not set the GARC back:", e.ToString()); threads--; return false; } + } + public void threadGet(string infile, string outfolder, bool PB = true, bool bypassExt = false) + { + threads++; + if (Directory.Exists(outfolder)) try { Directory.Delete(outfolder, true); } + catch { } + Thread thread = new Thread(() => getGARC(infile, outfolder, PB, bypassExt)); + thread.Start(); + } + public void threadSet(string outfile, string infolder, bool PB = true) + { + threads++; + Thread thread = new Thread(() => setGARC(outfile, infolder, PB)); + thread.Start(); + } public void backupGARCs(bool overwrite, params string[] g) { if (!Directory.Exists("backup")) Directory.CreateDirectory("backup"); @@ -532,7 +538,7 @@ internal static string[] getText(int file) { return xytext.getStringsFromFile("gametext" + Path.DirectorySeparatorChar + file.ToString("000") + ".bin"); } - public bool setText(int file, string[] strings) + internal static bool setText(int file, string[] strings) { byte[] data = xytext.getBytesForFile(strings); string path = "text" + Path.DirectorySeparatorChar + file.ToString("000") + ".bin"; @@ -540,102 +546,16 @@ public bool setText(int file, string[] strings) return true; } - private void changeLanguage(object sender, EventArgs e) + // Update RichTextBox + public void updateStatus(string status, bool preBreak = true) { - if (!GB_RomFS.Enabled) return; - // Gather the Text Language Strings - threadGet(RomFS + getGARCFileName("gametext"), "gametext", true, true); - } - private string getFileName(int A, int B, int C) - { - return Path.DirectorySeparatorChar + "a" + Path.DirectorySeparatorChar + A.ToString() + Path.DirectorySeparatorChar + B.ToString() + Path.DirectorySeparatorChar + C.ToString(); - } - - private void formClosing(object sender, FormClosingEventArgs e) - { - this.Hide(); - if (TB_Path.Text.Length > 0) File.WriteAllText("config.ini", TB_Path.Text); - if (!GB_RomFS.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. try { - threadSet(RomFS + getGARCFileName("gametext"), "gametext", false); - if (Directory.Exists("personal")) threadSet(RomFS + getGARCFileName("personal"), "personal", false); - int timeout = 0; // Time out after 7 seconds. - while (threads > 0 && timeout++ < 70) - Thread.Sleep(100); + if (RTB_Status.InvokeRequired) + RTB_Status.Invoke((MethodInvoker)delegate { RTB_Status.AppendText(((preBreak) ? Environment.NewLine : "") + status); }); + else RTB_Status.AppendText(status + Environment.NewLine); } catch { } - if (Directory.Exists("gametext")) Directory.Delete("gametext", true); - if (Directory.Exists("personal")) Directory.Delete("personal", true); - if (Directory.Exists("temp")) Directory.Delete("temp", true); - } - private void L_About_Click(object sender, EventArgs e) - { - if (ModifierKeys == Keys.Control && RomFS != null) - { - string s = "Game Type: " + ((oras) ? "ORAS" : "XY") + Environment.NewLine ; - for (int i = 0; i < allGARCs.Length; i++) - s += String.Format(Environment.NewLine + "{0} - {1}", allGARCs[i], getGARCFileName(allGARCs[i])); - if (DialogResult.Yes == Util.Prompt(MessageBoxButtons.YesNo, s, "Copy to Clipboard?")) - try { Clipboard.SetText(s); } catch { Util.Alert("Unable to copy to Clipboard."); } - } - else - Util.Alert( - "pk3DS: A package of Pokémon X/Y/OR/AS tools by various contributors.", - "GARCTool (Backbone): Kaphotics" + Environment.NewLine + - "Text Editing (xytext): Kaphotics" + Environment.NewLine + - "Wild Editor (**WE): SciresM & Kaphotics" + Environment.NewLine + - "Trainer Editor (**TE): SciresM, Kaphotics, and KazoWAR" + Environment.NewLine + - "Personal Editor: SciresM" + Environment.NewLine + - "Mega Evolution Editor (MEE): Huntereb & SciresM" + Environment.NewLine + - "Evolutions, Moves, Items, ExeFS, and Maison Editor: Kaphotics" + Environment.NewLine + - "Big thanks to the ProjectPokemon community!"); - } - - private void rebuildExeFS(object sender, EventArgs e) - { - if (ExeFS != null) - if (Util.Prompt(MessageBoxButtons.YesNo, "Rebuild ExeFS?") == DialogResult.Yes) - { - string[] files = Directory.GetFiles(ExeFS); - int file = 0; if (files[1].Contains("code")) file = 1; - SaveFileDialog sfd = new SaveFileDialog(); - sfd.FileName = "exefs.bin"; - sfd.Filter = "Binary File|*.*"; - if (sfd.ShowDialog() == DialogResult.OK) - { - new Thread(() => - { - threads++; - new blz.BLZCoder(new string[] { "-en", files[file] }, pBar1); - Util.Alert("Compressed!"); - ExeFSTool.set(Directory.GetFiles(ExeFS), sfd.FileName); - threads--; - }).Start(); - } - } - } - private void rebuildRomFS(object sender, EventArgs e) - { - if (RomFS != null) - { - if (Util.Prompt(MessageBoxButtons.YesNo, "Rebuild RomFS?") == DialogResult.Yes) - { - SaveFileDialog sfd = new SaveFileDialog(); - sfd.FileName = "romfs.bin"; - sfd.Filter = "Binary File|*.*"; - if (sfd.ShowDialog() == DialogResult.OK) - { new Thread(() => { threads++; RomFSTool.BuildRomFS(RomFS, null, pBar1); threads--; }).Start(); } - } - } - } - - private void L_Game_Click(object sender, EventArgs e) - { - if (GB_RomFS.Enabled && RomFS != null && ModifierKeys == Keys.Control) - if (DialogResult.Yes == Util.Prompt(MessageBoxButtons.YesNo, "Restore Original Files?")) - restoreGARCs(oras, allGARCs); } } } \ No newline at end of file diff --git a/pk3DS/Main.resx b/pk3DS/Main.resx index 7ab6a22..2709f75 100644 --- a/pk3DS/Main.resx +++ b/pk3DS/Main.resx @@ -192,6 +192,9 @@ True + + True + True diff --git a/pk3DS/Program.cs b/pk3DS/Program.cs index 66ba958..b916c18 100644 --- a/pk3DS/Program.cs +++ b/pk3DS/Program.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Windows.Forms; namespace pk3DS diff --git a/pk3DS/Randomizer.cs b/pk3DS/Randomizer.cs index 6e3f0f0..211106b 100644 --- a/pk3DS/Randomizer.cs +++ b/pk3DS/Randomizer.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Linq; namespace pk3DS { diff --git a/pk3DS/RomFS.cs b/pk3DS/RomFS.cs index 4579845..18fe736 100644 --- a/pk3DS/RomFS.cs +++ b/pk3DS/RomFS.cs @@ -1,13 +1,10 @@ using System; using System.Collections.Generic; -using System.Data; -using System.Drawing; using System.IO; -using System.Linq; -using System.Text; using System.Security.Cryptography; -using System.Windows.Forms; +using System.Text; using System.Threading; +using System.Windows.Forms; namespace pk3DS { diff --git a/pk3DS/Subforms/EggMove.Designer.cs b/pk3DS/Subforms/EggMove.Designer.cs index d0892a3..7b4a60d 100644 --- a/pk3DS/Subforms/EggMove.Designer.cs +++ b/pk3DS/Subforms/EggMove.Designer.cs @@ -98,6 +98,7 @@ private void InitializeComponent() this.Controls.Add(this.L_Species); this.Controls.Add(this.CB_Species); this.Controls.Add(this.dgv); + this.MaximizeBox = false; this.MinimumSize = new System.Drawing.Size(322, 450); this.Name = "EggMove"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; diff --git a/pk3DS/Subforms/EggMove.cs b/pk3DS/Subforms/EggMove.cs index b9d69d5..c4d8cd6 100644 --- a/pk3DS/Subforms/EggMove.cs +++ b/pk3DS/Subforms/EggMove.cs @@ -1,12 +1,7 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -15,7 +10,7 @@ public partial class EggMove : Form public EggMove() { InitializeComponent(); - + specieslist[0] = movelist[0] = ""; Array.Resize(ref specieslist, 722); @@ -131,7 +126,7 @@ private void B_Dump_Click(object sender, EventArgs e) string path = sfd.FileName; File.WriteAllText(path, result, System.Text.Encoding.Unicode); } - dumping = false; + dumping = false; } private void formClosing(object sender, FormClosingEventArgs e) @@ -139,4 +134,4 @@ private void formClosing(object sender, FormClosingEventArgs e) setList(); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/Evolution.cs b/pk3DS/Subforms/Evolution.cs index 299eff5..b4acaa8 100644 --- a/pk3DS/Subforms/Evolution.cs +++ b/pk3DS/Subforms/Evolution.cs @@ -1,12 +1,8 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -184,7 +180,7 @@ private void B_Dump_Click(object sender, EventArgs e) string path = sfd.FileName; File.WriteAllText(path, result, System.Text.Encoding.Unicode); } - dumping = false; + dumping = false; } private void formClosing(object sender, FormClosingEventArgs e) @@ -235,5 +231,4 @@ private void changeInto(object sender, EventArgs e) pic[Array.IndexOf(rb, sender as ComboBox)].Image = (Bitmap)Properties.Resources.ResourceManager.GetObject("_" + Array.IndexOf(specieslist, (sender as ComboBox).Text)); } } -} - \ No newline at end of file +} \ No newline at end of file diff --git a/pk3DS/Subforms/Item.cs b/pk3DS/Subforms/Item.cs index 30200e9..11bd336 100644 --- a/pk3DS/Subforms/Item.cs +++ b/pk3DS/Subforms/Item.cs @@ -1,12 +1,6 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -22,7 +16,7 @@ public Item() string[] files = Directory.GetFiles("item"); string[] itemlist = Main.getText((Main.oras) ? 114 : 96); string[] itemflavor = Main.getText((Main.oras) ? 117 : 99); - + private void Setup() { foreach (string s in itemlist) CB_Item.Items.Add(s); @@ -65,4 +59,4 @@ private void changePrice(object sender, EventArgs e) MT_Sell.Text = ((Math.Min(Util.ToUInt32(MT_Price) / 10, 0x7FFF)) * 10 / 2).ToString(); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/LevelUp.Designer.cs b/pk3DS/Subforms/LevelUp.Designer.cs index be6164c..ef72610 100644 --- a/pk3DS/Subforms/LevelUp.Designer.cs +++ b/pk3DS/Subforms/LevelUp.Designer.cs @@ -99,6 +99,7 @@ private void InitializeComponent() this.Controls.Add(this.L_Species); this.Controls.Add(this.CB_Species); this.Controls.Add(this.dgv); + this.MaximizeBox = false; this.MinimumSize = new System.Drawing.Size(322, 450); this.Name = "LevelUp"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; diff --git a/pk3DS/Subforms/LevelUp.cs b/pk3DS/Subforms/LevelUp.cs index 5b2c1c2..0e3f36c 100644 --- a/pk3DS/Subforms/LevelUp.cs +++ b/pk3DS/Subforms/LevelUp.cs @@ -1,12 +1,7 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -135,7 +130,7 @@ private void B_RandAll_Click(object sender, EventArgs e) int[] firstMoves = new int[] { 1, 40, 52, 55, 64, 71, 84, 98, 122, 141 }; // Pound, Poison Sting, Ember, Water Gun, Peck, Absorb, Thunder Shock, Quick Attack, Lick, Leech Life - + for (int i = 0; i < CB_Species.Items.Count; i++) { CB_Species.SelectedIndex = i; // Get new Species diff --git a/pk3DS/Subforms/MEE.Designer.cs b/pk3DS/Subforms/MEE.Designer.cs index 47f3f61..f86755b 100644 --- a/pk3DS/Subforms/MEE.Designer.cs +++ b/pk3DS/Subforms/MEE.Designer.cs @@ -406,6 +406,7 @@ private void InitializeComponent() this.Controls.Add(this.CHK_MEvo1); this.Controls.Add(this.GB_MEvo2); this.Controls.Add(this.GB_MEvo1); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(430, 250); this.MinimumSize = new System.Drawing.Size(430, 250); this.Name = "MEE"; diff --git a/pk3DS/Subforms/MEE.cs b/pk3DS/Subforms/MEE.cs index 055dfe7..6a2e883 100644 --- a/pk3DS/Subforms/MEE.cs +++ b/pk3DS/Subforms/MEE.cs @@ -1,13 +1,9 @@ using System; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; using System.IO; +using System.Linq; +using System.Windows.Forms; namespace pk3DS { @@ -23,7 +19,7 @@ public partial class MEE : Form private ComboBox[] forme_spec, item_spec; private CheckBox[] checkbox_spec; private PictureBox[][] picturebox_spec; - private List monNames; + private List monNames; private bool loaded = false; private string[][] AltForms; int entry = -1; @@ -39,7 +35,7 @@ public partial class MEE : Form specieslist[32] += "♂"; specieslist[29] += "♀"; AltForms = Personal.getFormList(personalData, Main.oras, specieslist, forms, types, itemlist); - groupbox_spec = new GroupBox[] {GB_MEvo1,GB_MEvo2,GB_MEvo3}; + groupbox_spec = new GroupBox[] { GB_MEvo1, GB_MEvo2, GB_MEvo3 }; item_spec = new ComboBox[] { CB_Item1, CB_Item2, CB_Item3 }; forme_spec = new ComboBox[] { CB_Forme1, CB_Forme2, CB_Forme3 }; checkbox_spec = new CheckBox[] { CHK_MEvo1, CHK_MEvo2, CHK_MEvo3 }; @@ -50,12 +46,12 @@ public partial class MEE : Form } private void Setup() { - monNames = new List(); + monNames = new List(); List temp_list = new List(specieslist); temp_list.Sort(); foreach (string mon in temp_list) { - cbItem ncbi = new cbItem(); + Util.cbItem ncbi = new Util.cbItem(); ncbi.Text = mon; ncbi.Value = Array.IndexOf(specieslist, mon); monNames.Add(ncbi); @@ -65,29 +61,29 @@ private void Setup() List items = new List(itemlist); List sorted_items = new List(itemlist); - List[] item_lists = new List[item_spec.Length]; + List[] item_lists = new List[item_spec.Length]; for (int i = 0; i < item_lists.Length; i++) - item_lists[i] = new List(); + item_lists[i] = new List(); sorted_items.Sort(); for (int i = 0; i < items.Count; i++) { int index = items.IndexOf(sorted_items[i]); { - cbItem ncbi = new cbItem(); + Util.cbItem ncbi = new Util.cbItem(); if (sorted_items[i] == "???") continue; // Don't allow stubbed items. ncbi.Text = sorted_items[i] + " - " + index.ToString("000"); ncbi.Value = index; - foreach (List l in item_lists) + foreach (List l in item_lists) l.Add(ncbi); } items[index] = ""; } for (int i = 0; i < item_spec.Length; i++) { - item_spec[i].DataSource = item_lists[i]; item_spec[i].ValueMember = "Value"; item_spec[i].DisplayMember = "Text"; + item_spec[i].DataSource = item_lists[i]; item_spec[i].SelectedValue = 0; } @@ -95,9 +91,9 @@ private void Setup() } private void CHK_Changed(object sender, EventArgs e) { - for (int i = 0; i < groupbox_spec.Length;i++ ) + for (int i = 0; i < groupbox_spec.Length; i++) { - groupbox_spec[i].Enabled = ((CheckBox)(checkbox_spec[i])).Checked; + groupbox_spec[i].Enabled = checkbox_spec[i].Checked; Update_PBs(i); } } @@ -115,7 +111,7 @@ private void getEntry() { if (Main.oras && entry == 384 && !dumping) // Current Mon is Rayquaza Util.Alert("Rayquaza is special and uses a different activator for its evolution. If it knows Dragon Ascent, it can Mega Evolve", "Don't edit its evolution table if you want to keep this functionality."); - + byte[] data = File.ReadAllBytes(files[entry]); foreach (ComboBox CB in forme_spec) @@ -139,12 +135,12 @@ private void setEntry() byte[] data = File.ReadAllBytes(path); for (int i = 0; i < 3; i++) { - bool isChecked = ((CheckBox)checkbox_spec[i]).Checked; + bool isChecked = checkbox_spec[i].Checked; Array.Copy(BitConverter.GetBytes(isChecked ? (ushort)1 : (ushort)0), 0, data, 2 + i * 8, 2); if (isChecked) { int item = (int)(item_spec[i].SelectedValue); - int form = (ushort)forme_spec[i].SelectedIndex; + int form = forme_spec[i].SelectedIndex; Array.Copy(BitConverter.GetBytes((ushort)item), 0, data, 4 + i * 8, 2); Array.Copy(BitConverter.GetBytes((ushort)form), 0, data, i * 8, 2); } @@ -166,13 +162,13 @@ private void Update_PBs(object sender, EventArgs e) CheckBox CB = (CheckBox)checkbox_spec[i]; if (CB.Checked) { - UpdateImage(picturebox_spec[0][i], entry, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - UpdateImage(picturebox_spec[1][i], entry, (int)((ComboBox)forme_spec[i]).SelectedIndex, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[0][i], entry, 0, (int)(item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[1][i], entry, (int)(forme_spec[i]).SelectedIndex, (int)(item_spec[i]).SelectedValue, 0, false); } else { - UpdateImage(picturebox_spec[0][i], 0, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - UpdateImage(picturebox_spec[1][i], 0, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[0][i], 0, 0, (int)(item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[1][i], 0, 0, (int)(item_spec[i]).SelectedValue, 0, false); } } } @@ -181,31 +177,20 @@ private void Update_PBs(int i) { if (loaded) { - CheckBox CB = (CheckBox)checkbox_spec[i]; - if (CB.Checked) - { - UpdateImage(picturebox_spec[0][i], entry, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - UpdateImage(picturebox_spec[1][i], entry, (int)((ComboBox)forme_spec[i]).SelectedIndex, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - } - else - { - UpdateImage(picturebox_spec[0][i], 0, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - UpdateImage(picturebox_spec[1][i], 0, 0, (int)((ComboBox)item_spec[i]).SelectedValue, 0, false); - } + CheckBox CB = (CheckBox)checkbox_spec[i]; + if (CB.Checked) + { + UpdateImage(picturebox_spec[0][i], entry, 0, (int)(item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[1][i], entry, (int)(forme_spec[i]).SelectedIndex, (int)(item_spec[i]).SelectedValue, 0, false); + } + else + { + UpdateImage(picturebox_spec[0][i], 0, 0, (int)(item_spec[i]).SelectedValue, 0, false); + UpdateImage(picturebox_spec[1][i], 0, 0, (int)(item_spec[i]).SelectedValue, 0, false); + } } } - - public class cbItem - { - public string Text { get; set; } - public int Value { get; set; } - - public override string ToString() - { - return Text; - } - } - + private void UpdateImage(PictureBox bpkx, int species, int form, int item, int gender, bool shiny) { string file = ""; @@ -271,11 +256,9 @@ private void B_Dump_Click(object sender, EventArgs e) System.Media.SystemSounds.Asterisk.Play(); if (sfd.ShowDialog() == DialogResult.OK) - { - string path = sfd.FileName; - File.WriteAllText(path, result, System.Text.Encoding.Unicode); - } - dumping = false; + File.WriteAllText(sfd.FileName, result, System.Text.Encoding.Unicode); + + dumping = false; } } } \ No newline at end of file diff --git a/pk3DS/Subforms/Maison.cs b/pk3DS/Subforms/Maison.cs index 626b3c5..79fc16d 100644 --- a/pk3DS/Subforms/Maison.cs +++ b/pk3DS/Subforms/Maison.cs @@ -1,12 +1,8 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -63,7 +59,7 @@ private void changeTrainer(object sender, EventArgs e) private void changePokemon(object sender, EventArgs e) { setPokemon(); - pkEntry = CB_Pokemon.SelectedIndex; + pkEntry = CB_Pokemon.SelectedIndex; getPokemon(); } private void getTrainer() @@ -103,7 +99,7 @@ private void getPokemon() { if (pkEntry < 0 || dumping) return; byte[] data = File.ReadAllBytes(pkFiles[pkEntry]); - + // Get CB_Species.SelectedIndex = BitConverter.ToUInt16(data, 0); CB_Move1.SelectedIndex = BitConverter.ToUInt16(data, 2); @@ -136,7 +132,7 @@ private void setPokemon() Array.Copy(BitConverter.GetBytes((ushort)((int)CB_Move3.SelectedIndex)), 0, data, 6, 2); Array.Copy(BitConverter.GetBytes((ushort)((int)CB_Move4.SelectedIndex)), 0, data, 8, 2); int EVs = 0; - EVs |= (CHK_HP.Checked) ? 1 << 0 : 0; + EVs |= (CHK_HP.Checked) ? 1 << 0 : 0; EVs |= (CHK_ATK.Checked) ? 1 << 1 : 0; EVs |= (CHK_DEF.Checked) ? 1 << 2 : 0; EVs |= (CHK_Spe.Checked) ? 1 << 3 : 0; @@ -257,7 +253,7 @@ private void B_DumpPKs_Click(object sender, EventArgs e) result += (CHK_Spe.Checked) ? "Spe, " : ""; result += Environment.NewLine; - result += Environment.NewLine; + result += Environment.NewLine; } } SaveFileDialog sfd = new SaveFileDialog(); @@ -274,4 +270,4 @@ private void B_DumpPKs_Click(object sender, EventArgs e) CB_Trainer.SelectedIndex = 0; } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/Mart.Designer.cs b/pk3DS/Subforms/Mart.Designer.cs index 96a81b4..797a8d5 100644 --- a/pk3DS/Subforms/Mart.Designer.cs +++ b/pk3DS/Subforms/Mart.Designer.cs @@ -78,6 +78,7 @@ private void InitializeComponent() this.Controls.Add(this.L_Mart); this.Controls.Add(this.dgv); this.Controls.Add(this.CB_Location); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(340, 400); this.MinimumSize = new System.Drawing.Size(340, 400); this.Name = "Mart"; diff --git a/pk3DS/Subforms/Mart.cs b/pk3DS/Subforms/Mart.cs index d0a78bc..c73b35e 100644 --- a/pk3DS/Subforms/Mart.cs +++ b/pk3DS/Subforms/Mart.cs @@ -1,12 +1,6 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -101,4 +95,4 @@ private void formClosing(object sender, FormClosingEventArgs e) File.WriteAllBytes(codebin, data); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/Moves.cs b/pk3DS/Subforms/Moves.cs index 93d90e5..176bec5 100644 --- a/pk3DS/Subforms/Moves.cs +++ b/pk3DS/Subforms/Moves.cs @@ -1,12 +1,6 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -98,7 +92,7 @@ private void getEntry() NUD_Effect.Value = BitConverter.ToUInt16(data, 0x10); NUD_Recoil.Value = (sbyte)data[0x12]; NUD_Heal.Value = data[0x13]; - + CB_Targeting.SelectedIndex = data[0x14]; CB_Stat1.SelectedIndex = data[0x15]; CB_Stat2.SelectedIndex = data[0x16]; @@ -106,9 +100,9 @@ private void getEntry() NUD_Stat1.Value = (sbyte)data[0x18]; NUD_Stat2.Value = (sbyte)data[0x19]; NUD_Stat3.Value = (sbyte)data[0x1A]; - NUD_StatP1.Value = data[0x1B]; - NUD_StatP2.Value = data[0x1C]; - NUD_StatP3.Value = data[0x1D]; + NUD_StatP1.Value = data[0x1B]; + NUD_StatP2.Value = data[0x1C]; + NUD_StatP3.Value = data[0x1D]; // Unknown (Bitflag Related for stuff like Contact and Extra Move Effects) NUD_0x20.Value = data[0x20]; // 0x20 @@ -179,7 +173,7 @@ private void B_RandAll_Click(object sender, EventArgs e) // Change Damage Category if Not Status if (CB_Category.SelectedIndex > 0) // Not Status - CB_Category.SelectedIndex = rnd.Next(1, 3); + CB_Category.SelectedIndex = rnd.Next(1, 3); // Change Move Type CB_Type.SelectedIndex = rnd.Next(0, 18); @@ -187,4 +181,4 @@ private void B_RandAll_Click(object sender, EventArgs e) Util.Alert("Moves have been randomized!"); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/Personal.cs b/pk3DS/Subforms/Personal.cs index eefa192..bd3c920 100644 --- a/pk3DS/Subforms/Personal.cs +++ b/pk3DS/Subforms/Personal.cs @@ -1,12 +1,7 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -19,7 +14,7 @@ public Personal() 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_BaseSPA, TB_BaseSPD, TB_BaseSPE, TB_Gender, TB_HatchCycles, TB_Friendship, TB_CatchRate }; + byte_boxes = new MaskedTextBox[] { TB_BaseHP, TB_BaseATK, TB_BaseDEF, TB_BaseSPA, TB_BaseSPD, TB_BaseSPE, TB_Gender, TB_HatchCycles, TB_Friendship, TB_CatchRate }; ev_boxes = new MaskedTextBox[] { TB_HPEVs, TB_ATKEVs, TB_DEFEVs, TB_SPEEVs, TB_SPAEVs, TB_SPDEVs }; data = File.ReadAllBytes(paths[paths.Length - 1]); // Load last to data. @@ -148,7 +143,7 @@ private void Setup() CB_Color.Items.Add(co); foreach (string eg in EXPGroups) - CB_EXPGroup.Items.Add(eg); + CB_EXPGroup.Items.Add(eg); } private void CB_Species_SelectedIndexChanged(object sender, EventArgs e) @@ -315,9 +310,9 @@ private void saveEntry() 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); + 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); @@ -350,22 +345,22 @@ private void saveEntry() 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< 0) ? itemlist[rnd.Next(1, itemlen)] : 0; // Type - if (rnd.Next(0,100) < 50) // 50% chance to have either Single or Dual Typing + if (rnd.Next(0, 100) < 50) // 50% chance to have either Single or Dual Typing CB_Type1.SelectedIndex = CB_Type2.SelectedIndex = rnd.Next(0, typelen); else { @@ -472,7 +467,7 @@ private void B_Randomize_Click(object sender, EventArgs e) bool dumping = false; private void B_Dump_Click(object sender, EventArgs e) { - + if (DialogResult.Yes != Util.Prompt(MessageBoxButtons.YesNo, "Dump all Personal Entries to Text File?")) return; @@ -486,7 +481,7 @@ private void B_Dump_Click(object sender, EventArgs e) result += String.Format("Base Stats: {0}.{1}.{2}.{3}.{4}.{5} (BST: {6})", TB_BaseHP.Text, TB_BaseATK.Text, TB_BaseDEF.Text, TB_BaseSPA.Text, TB_BaseSPD.Text, TB_BaseSPE.Text, bst) + Environment.NewLine; result += String.Format("EV Yield: {0}.{1}.{2}.{3}.{4}.{5}", TB_HPEVs.Text, TB_ATKEVs.Text, TB_DEFEVs.Text, TB_SPAEVs.Text, TB_SPDEVs.Text, TB_SPEEVs.Text) + Environment.NewLine; result += String.Format("Abilities: {0} (1) | {1} (2) | {2} (H)", CB_Ability1.Text, CB_Ability2.Text, CB_Ability3.Text) + Environment.NewLine; - + result += String.Format(((CB_Type1.SelectedIndex != CB_Type2.SelectedIndex) ? "Type: {0} / {1}" : "Type: {0}"), CB_Type1.Text, CB_Type2.Text); result += String.Format("Item 1 (50%): {0}", CB_HeldItem1.Text) + Environment.NewLine; @@ -506,7 +501,7 @@ private void B_Dump_Click(object sender, EventArgs e) string path = sfd.FileName; File.WriteAllText(path, result, System.Text.Encoding.Unicode); } - dumping = false; + dumping = false; } private void formClosing(object sender, FormClosingEventArgs e) diff --git a/pk3DS/Subforms/Pickup.Designer.cs b/pk3DS/Subforms/Pickup.Designer.cs index ea37a71..71be5cf 100644 --- a/pk3DS/Subforms/Pickup.Designer.cs +++ b/pk3DS/Subforms/Pickup.Designer.cs @@ -113,6 +113,7 @@ private void InitializeComponent() this.Controls.Add(this.dgvRare); this.Controls.Add(this.L_TM); this.Controls.Add(this.dgvCommon); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(520, 670); this.MinimumSize = new System.Drawing.Size(520, 370); this.Name = "Pickup"; diff --git a/pk3DS/Subforms/Pickup.cs b/pk3DS/Subforms/Pickup.cs index 3d26b1b..4a10d07 100644 --- a/pk3DS/Subforms/Pickup.cs +++ b/pk3DS/Subforms/Pickup.cs @@ -1,12 +1,7 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -36,7 +31,7 @@ private void getDataOffset() } private void setupDGV() { - dgvCommon.Columns.Clear(); dgvRare.Columns.Clear(); + dgvCommon.Columns.Clear(); dgvRare.Columns.Clear(); DataGridViewColumn dgvIndex = new DataGridViewTextBoxColumn(); { dgvIndex.HeaderText = "Index"; @@ -63,7 +58,7 @@ private void setupDGV() List common = new List(); List rare = new List(); - + private void getList() { common = new List(); @@ -75,14 +70,14 @@ private void getList() common.Add(BitConverter.ToUInt16(data, dataoffset + 2 * i)); for (int i = 0x12; i < 0x12 + 0xB; i++) // 0xB Rare rare.Add(BitConverter.ToUInt16(data, dataoffset + 2 * i)); - + ushort[] clist = common.ToArray(); ushort[] rlist = rare.ToArray(); for (int i = 0; i < clist.Length; i++) { dgvCommon.Rows.Add(); dgvCommon.Rows[i].Cells[0].Value = i.ToString(); dgvCommon.Rows[i].Cells[1].Value = itemlist[clist[i]]; } for (int i = 0; i < rlist.Length; i++) { dgvRare.Rows.Add(); dgvRare.Rows[i].Cells[0].Value = i.ToString(); dgvRare.Rows[i].Cells[1].Value = itemlist[rlist[i]]; } - + } private void setList() { @@ -100,7 +95,7 @@ private void setList() for (int i = 0; i < 0x12; i++) Array.Copy(BitConverter.GetBytes(clist[i]), 0, data, offset + 2 * i, 2); for (int i = 0x12; i < 0x12 + 0xB; i++) - Array.Copy(BitConverter.GetBytes(rlist[i - 0x12]), 0, data, offset + 2 * i, 2); + Array.Copy(BitConverter.GetBytes(rlist[i - 0x12]), 0, data, offset + 2 * i, 2); } private void formClosing(object sender, FormClosingEventArgs e) @@ -109,4 +104,4 @@ private void formClosing(object sender, FormClosingEventArgs e) File.WriteAllBytes(codebin, data); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/RSTE.Designer.cs b/pk3DS/Subforms/RSTE.Designer.cs index 3713309..207dbf3 100644 --- a/pk3DS/Subforms/RSTE.Designer.cs +++ b/pk3DS/Subforms/RSTE.Designer.cs @@ -2064,6 +2064,7 @@ private void InitializeComponent() this.Controls.Add(this.CB_TrainerID); this.Controls.Add(this.tabControl1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; this.Name = "RSTE"; this.Text = "Trainer Editor"; this.tabControl1.ResumeLayout(false); diff --git a/pk3DS/Subforms/RSTE.cs b/pk3DS/Subforms/RSTE.cs index ab7f671..2191d58 100644 --- a/pk3DS/Subforms/RSTE.cs +++ b/pk3DS/Subforms/RSTE.cs @@ -1,12 +1,7 @@ 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; +using System.Linq; +using System.Windows.Forms; namespace pk3DS { @@ -15,7 +10,7 @@ public partial class RSTE : Form public RSTE() { Array.Resize(ref specieslist, 722); - + InitializeComponent(); // String Fetching #region Combo Box Arrays @@ -273,7 +268,7 @@ private void B_Dump_Click(object sender, EventArgs e) SaveFileDialog sfd = new SaveFileDialog(); sfd.FileName = "Battles.txt"; sfd.Filter = "Text File|*.txt"; - + System.Media.SystemSounds.Asterisk.Play(); if (sfd.ShowDialog() == DialogResult.OK) { @@ -299,7 +294,7 @@ private void readFile() if (index == 0) return; // Load Trainer Data - using (BinaryReader br = new BinaryReader((Stream) File.OpenRead(trdatapaths[index]))) + using (BinaryReader br = new BinaryReader((Stream)File.OpenRead(trdatapaths[index]))) { // load trainer data tabControl1.Enabled = true; @@ -416,7 +411,7 @@ private void writeFile() bw.Write((ushort)trpk_m4[i].SelectedIndex); } } - File.WriteAllBytes(trpokepaths[index],ms.ToArray()); + File.WriteAllBytes(trpokepaths[index], ms.ToArray()); } } diff --git a/pk3DS/Subforms/RSWE.cs b/pk3DS/Subforms/RSWE.cs index baa476c..3762fde 100644 --- a/pk3DS/Subforms/RSWE.cs +++ b/pk3DS/Subforms/RSWE.cs @@ -1,14 +1,7 @@ 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.Threading; using System.IO; -using System.Globalization; +using System.Linq; +using System.Windows.Forms; namespace pk3DS { @@ -658,4 +651,4 @@ private void B_Randomize_Click(object sender, EventArgs e) } } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/TMHM.Designer.cs b/pk3DS/Subforms/TMHM.Designer.cs index d1c3792..4dc5431 100644 --- a/pk3DS/Subforms/TMHM.Designer.cs +++ b/pk3DS/Subforms/TMHM.Designer.cs @@ -91,6 +91,7 @@ private void InitializeComponent() this.Controls.Add(this.dgvHM); this.Controls.Add(this.L_TM); this.Controls.Add(this.dgvTM); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(520, 670); this.MinimumSize = new System.Drawing.Size(520, 370); this.Name = "TMHM"; diff --git a/pk3DS/Subforms/TMHM.cs b/pk3DS/Subforms/TMHM.cs index 4c5a729..352e33e 100644 --- a/pk3DS/Subforms/TMHM.cs +++ b/pk3DS/Subforms/TMHM.cs @@ -1,12 +1,7 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -36,7 +31,7 @@ private void getDataOffset() } private void setupDGV() { - dgvTM.Columns.Clear(); dgvHM.Columns.Clear(); + dgvTM.Columns.Clear(); dgvHM.Columns.Clear(); DataGridViewColumn dgvIndex = new DataGridViewTextBoxColumn(); { dgvIndex.HeaderText = "Index"; @@ -63,7 +58,7 @@ private void setupDGV() List tms = new List(); List hms = new List(); - + private void getList() { tms = new List(); @@ -91,9 +86,9 @@ private void getList() ushort[] tmlist = tms.ToArray(); ushort[] hmlist = hms.ToArray(); for (int i = 0; i < tmlist.Length; i++) - { dgvTM.Rows.Add(); dgvTM.Rows[i].Cells[0].Value = (i+1).ToString(); dgvTM.Rows[i].Cells[1].Value = movelist[tmlist[i]]; } + { dgvTM.Rows.Add(); dgvTM.Rows[i].Cells[0].Value = (i + 1).ToString(); dgvTM.Rows[i].Cells[1].Value = movelist[tmlist[i]]; } for (int i = 0; i < hmlist.Length; i++) - { dgvHM.Rows.Add(); dgvHM.Rows[i].Cells[0].Value = (i+1).ToString(); dgvHM.Rows[i].Cells[1].Value = movelist[hmlist[i]]; } + { dgvHM.Rows.Add(); dgvHM.Rows[i].Cells[0].Value = (i + 1).ToString(); dgvHM.Rows[i].Cells[1].Value = movelist[hmlist[i]]; } } private void setList() { @@ -123,7 +118,7 @@ private void setList() { for (int i = 97; i < 105; i++) Array.Copy(BitConverter.GetBytes(tmlist[i - 5]), 0, data, offset + 2 * i, 2); - } + } } private void formClosing(object sender, FormClosingEventArgs e) @@ -132,4 +127,4 @@ private void formClosing(object sender, FormClosingEventArgs e) File.WriteAllBytes(codebin, data); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/TrainerRand.cs b/pk3DS/Subforms/TrainerRand.cs index 3c7c722..fdf7c32 100644 --- a/pk3DS/Subforms/TrainerRand.cs +++ b/pk3DS/Subforms/TrainerRand.cs @@ -1,10 +1,4 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; using System.Windows.Forms; namespace pk3DS diff --git a/pk3DS/Subforms/Tutors.Designer.cs b/pk3DS/Subforms/Tutors.Designer.cs index 0f10d69..b836a48 100644 --- a/pk3DS/Subforms/Tutors.Designer.cs +++ b/pk3DS/Subforms/Tutors.Designer.cs @@ -78,6 +78,7 @@ private void InitializeComponent() this.Controls.Add(this.L_Mart); this.Controls.Add(this.dgv); this.Controls.Add(this.CB_Location); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(340, 600); this.MinimumSize = new System.Drawing.Size(340, 400); this.Name = "Tutors"; diff --git a/pk3DS/Subforms/Tutors.cs b/pk3DS/Subforms/Tutors.cs index bedfb68..d4d2a13 100644 --- a/pk3DS/Subforms/Tutors.cs +++ b/pk3DS/Subforms/Tutors.cs @@ -1,12 +1,6 @@ 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; +using System.Windows.Forms; namespace pk3DS { @@ -96,4 +90,4 @@ private void formClosing(object sender, FormClosingEventArgs e) File.WriteAllBytes(codebin, data); } } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/XYWE.cs b/pk3DS/Subforms/XYWE.cs index 2d1f8dc..e430edf 100644 --- a/pk3DS/Subforms/XYWE.cs +++ b/pk3DS/Subforms/XYWE.cs @@ -1,14 +1,7 @@ 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.Threading; using System.IO; -using System.Globalization; +using System.Linq; +using System.Windows.Forms; namespace pk3DS { @@ -339,7 +332,7 @@ private void openQuick(string[] encdata) CB_LocationID.Enabled = true; CB_LocationID_SelectedIndexChanged(null, null); } - + private bool hasData() { for (int i = 0; i < max.Length; i++) @@ -396,12 +389,10 @@ private string parseslot(byte[] slot) int min = slot[2]; int max = slot[3]; string species = specieslist[index]; - if (form > 0) species += "-"+form.ToString(); + if (form > 0) species += "-" + form.ToString(); return species + ',' + min + ',' + max + ','; } - - private void CB_LocationID_SelectedIndexChanged(object sender, EventArgs e) { int f = CB_LocationID.SelectedIndex; @@ -497,7 +488,7 @@ private void PreloadTabs(object sender, EventArgs e) for (int i = 0; i < this.TabControl_EncounterData.TabPages.Count; i++) { this.TabControl_EncounterData.TabPages[i].Show(); - Console.WriteLine("Loading Tab "+(i+1).ToString("0")+"."); + Console.WriteLine("Loading Tab " + (i + 1).ToString("0") + "."); } this.TabControl_EncounterData.TabPages[0].Show(); } @@ -517,7 +508,7 @@ private void B_Randomize_Click(object sender, EventArgs e) // Nonrepeating List Start int[] sL = Randomizer.RandomSpeciesList; int ctr = 0; - + for (int i = 0; i < CB_LocationID.Items.Count; i++) // for every location { CB_LocationID.SelectedIndex = i; @@ -615,7 +606,5 @@ private string GetEncDataString() toret += "No encounters found." + Environment.NewLine + Environment.NewLine; return toret; } - - } -} +} \ No newline at end of file diff --git a/pk3DS/Subforms/XYWE.designer.cs b/pk3DS/Subforms/XYWE.designer.cs index fcf910a..7e3bff6 100644 --- a/pk3DS/Subforms/XYWE.designer.cs +++ b/pk3DS/Subforms/XYWE.designer.cs @@ -27715,6 +27715,7 @@ private void InitializeComponent() this.Controls.Add(this.B_Save); this.Controls.Add(this.CB_LocationID); this.Controls.Add(this.TabControl_EncounterData); + this.MaximizeBox = false; this.MaximumSize = new System.Drawing.Size(964, 454); this.MinimumSize = new System.Drawing.Size(964, 454); this.Name = "XYWE"; diff --git a/pk3DS/Subforms/xytext.cs b/pk3DS/Subforms/xytext.cs index 7a9a667..1abe956 100644 --- a/pk3DS/Subforms/xytext.cs +++ b/pk3DS/Subforms/xytext.cs @@ -1,8 +1,7 @@ using System; using System.Collections.Generic; -using System.Text.RegularExpressions; -using System.Windows.Forms; using System.IO; +using System.Windows.Forms; namespace pk3DS { @@ -44,8 +43,8 @@ private void dumpTXT_Click(object sender, EventArgs e) if (data != null) foreach (string line in data) { - if (newline) - tw.WriteLine(line.Replace("\\n\\n"," ").Replace("\\n", " ").Replace("\\c", "").Replace("\\r", "")); // Strip out formatting + if (newline) + tw.WriteLine(line.Replace("\\n\\n", " ").Replace("\\n", " ").Replace("\\c", "").Replace("\\r", "")); // Strip out formatting else tw.WriteLine(line); } @@ -64,7 +63,7 @@ private void changeEntry(object sender, EventArgs e) if (bin != null) File.WriteAllBytes(files[entry], bin); } - + // Reset entry = CB_Entry.SelectedIndex; string file = files[entry]; @@ -148,7 +147,7 @@ private void B_RemoveLine_Click(object sender, EventArgs e) int currentRow = dgv.CurrentRow.Index; if (currentRow < dgv.Rows.Count - 1) { - if ((ModifierKeys != Keys.Control) && DialogResult.Yes != Util.Prompt(MessageBoxButtons.YesNo, "Deleting a row above other lines will shift all subsequent lines.", "Continue?")) + if ((ModifierKeys != Keys.Control) && DialogResult.Yes != Util.Prompt(MessageBoxButtons.YesNo, "Deleting a row above other lines will shift all subsequent lines.", "Continue?")) return; } @@ -373,9 +372,9 @@ internal static ushort getVariableBytes(string varType, ref List args, b default: varVal = Convert.ToUInt16(variable, 16); break; } if (!noArgs) - // Set arguments in. - for (int i = 0; i < arguments.Length; i++) - args.Add(Convert.ToUInt16(arguments[i], 16)); + // Set arguments in. + for (int i = 0; i < arguments.Length; i++) + args.Add(Convert.ToUInt16(arguments[i], 16)); // All done. return varVal; @@ -412,7 +411,7 @@ internal static void encryptVar(BinaryWriter bw, string line, ref int i, ref ush string varCMD = line.Substring(i + 1, bracket); i += bracket + 1; // Advance the index to the end of the bracket. - string[] split = varCMD.Split(' '); + string[] split = varCMD.Split(' '); string varMethod = split[0]; // Returns VAR or WAIT or ~ string varType = (split.Length > 1) ? varCMD.Substring(varMethod.Length + 1) : ""; // Returns the remainder of the var command data. ushort varValue = 0; diff --git a/pk3DS/Util.cs b/pk3DS/Util.cs index 4f79816..642a77e 100644 --- a/pk3DS/Util.cs +++ b/pk3DS/Util.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Globalization; using System.Drawing; -using System.IO; -using System.Windows.Forms; using System.Drawing.Imaging; +using System.Globalization; +using System.IO; +using System.Linq; using System.Text.RegularExpressions; +using System.Windows.Forms; namespace pk3DS {