From b91324fb2eecdf4c9baf66999b05fbd2fb749abb Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Mon, 29 Aug 2016 17:48:05 -0700 Subject: [PATCH] Trainer Info/Pokedex editing for Gen I --- PKHeX/MainWindow/Main.cs | 2 + PKHeX/PKHeX.csproj | 10 + PKHeX/Saves/SAV1.cs | 121 +++++++++- PKHeX/Saves/SaveFile.cs | 11 +- .../SAV_SimplePokedex.Designer.cs | 179 +++++++++++++++ .../Save Editors/SAV_SimplePokedex.cs | 93 ++++++++ .../Save Editors/SAV_SimplePokedex.resx | 216 ++++++++++++++++++ .../SAV_SimpleTrainer.Designer.cs | 145 +++++++++++- .../Save Editors/SAV_SimpleTrainer.cs | 41 +++- .../Save Editors/SAV_SimpleTrainer.resx | 96 ++++++++ 10 files changed, 902 insertions(+), 12 deletions(-) create mode 100644 PKHeX/Subforms/Save Editors/SAV_SimplePokedex.Designer.cs create mode 100644 PKHeX/Subforms/Save Editors/SAV_SimplePokedex.cs create mode 100644 PKHeX/Subforms/Save Editors/SAV_SimplePokedex.resx diff --git a/PKHeX/MainWindow/Main.cs b/PKHeX/MainWindow/Main.cs index 33c389038..a2739c7b0 100644 --- a/PKHeX/MainWindow/Main.cs +++ b/PKHeX/MainWindow/Main.cs @@ -3366,6 +3366,8 @@ namespace PKHeX new SAV_PokedexORAS().ShowDialog(); else if (SAV.XY) new SAV_PokedexXY().ShowDialog(); + else if (SAV.RBY) + new SAV_SimplePokedex().ShowDialog(); } private void B_OUTPasserby_Click(object sender, EventArgs e) { diff --git a/PKHeX/PKHeX.csproj b/PKHeX/PKHeX.csproj index 21ee6cfea..00903517d 100644 --- a/PKHeX/PKHeX.csproj +++ b/PKHeX/PKHeX.csproj @@ -201,6 +201,12 @@ SAV_BoxViewer.cs + + Form + + + SAV_SimplePokedex.cs + Form @@ -354,6 +360,9 @@ SAV_BoxViewer.cs + + SAV_SimplePokedex.cs + SAV_Database.cs @@ -412,6 +421,7 @@ Designer + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/PKHeX/Saves/SAV1.cs b/PKHeX/Saves/SAV1.cs index 76c13180d..e94815e49 100644 --- a/PKHeX/Saves/SAV1.cs +++ b/PKHeX/Saves/SAV1.cs @@ -98,6 +98,9 @@ namespace PKHeX daycareList.GetBytes().CopyTo(Data, getPartyOffset(7)); Daycare = getPartyOffset(7); + // Enable Pokedex editing + PokeDex = 0; + if (!Exportable) resetBoxes(); } @@ -134,7 +137,7 @@ namespace PKHeX partyPL.GetBytes().CopyTo(Data, Japanese ? 0x2ED5 : 0x2F2C); // Daycare is read-only, but in case it ever becomes editable, copy it back in. - byte[] rawDC = getData(getDaycareSlotOffset(0, 0), SIZE_STORED); + byte[] rawDC = getData(getDaycareSlotOffset(), SIZE_STORED); byte[] dc = new byte[1 + 2*StringLength + PKX.SIZE_1STORED]; dc[0] = rawDC[0]; Array.Copy(rawDC, 2 + 1 + PKX.SIZE_1PARTY + StringLength, dc, 1, StringLength); @@ -268,6 +271,58 @@ namespace PKHeX set { Data[Japanese ? 0x2CA3 : 0x2CF0] = (byte)value; } } + public int Badges + { + get { return Data[Japanese ? 0x25F8 : 0x2602]; } + set { if (value < 0) return; Data[Japanese ? 0x25F8 : 0x2602] = (byte)value; } + } + + private byte Options + { + get { return Data[Japanese ? 0x25F7 : 0x2601]; } + set { Data[Japanese ? 0x25F7 : 0x2601] = value; } + } + + public bool BattleEffects + { + get { return (Options & 0x80) == 0; } + set { Options = (byte)((Options & 0x7F) | (value ? 0 : 0x80)); } + } + + public bool BattleStyleSwitch + { + get { return (Options & 0x40) == 0; } + set { Options = (byte)((Options & 0xBF) | (value ? 0 : 0x40)); } + } + + public int Sound + { + get { return (Options & 0x30) >> 4; } + set + { + var new_sound = value; + if (new_sound > 3) + new_sound = 3; + if (new_sound < 0) + new_sound = 0; + Options = (byte)((Options & 0xCF) | (new_sound << 4)); + } + } + + public int TextSpeed + { + get { return Options & 0x7; } + set + { + var new_speed = value; + if (new_speed > 7) + new_speed = 7; + if (new_speed < 0) + new_speed = 0; + Options = (byte)((Options & 0xF8) | new_speed); + } + } + public override uint Money { get { return uint.Parse((Util.SwapEndianness(BitConverter.ToUInt32(Data, Japanese ? 0x25EE : 0x25F3)) >> 8).ToString("X6")); } @@ -396,7 +451,39 @@ namespace PKHeX return data; } - protected override void setDex(PKM pkm) + public override bool getSeen(PKM pkm) + { + if (pkm.Species == 0) + return false; + if (pkm.Species > MaxSpeciesID) + return false; + if (Version == GameVersion.Unknown) + return false; + + int bit = pkm.Species - 1; + int ofs = bit >> 3; + byte bitval = (byte)(1 << (bit & 7)); + // Get the Seen Flag + return (Data[(Japanese ? 0x25B1 : 0x25B6) + ofs] & bitval) != 0; + } + + public override bool getCaught(PKM pkm) + { + if (pkm.Species == 0) + return false; + if (pkm.Species > MaxSpeciesID) + return false; + if (Version == GameVersion.Unknown) + return false; + + int bit = pkm.Species - 1; + int ofs = bit >> 3; + byte bitval = (byte)(1 << (bit & 7)); + // Get the Caught Flag + return (Data[(Japanese ? 0x259E : 0x25A3) + ofs] & bitval) != 0; + } + + protected internal override void setSeen(PKM pkm, bool seen) { if (pkm.Species == 0) return; @@ -404,16 +491,32 @@ namespace PKHeX return; if (Version == GameVersion.Unknown) return; - + int bit = pkm.Species - 1; int ofs = bit >> 3; - byte bitval = (byte)(1 << (bit % 7)); - - // Set the Captured Flag - Data[(Japanese ? 0x259E : 0x25A3) + ofs] |= bitval; - + byte bitval = (byte)(1 << (bit & 7)); // Set the Seen Flag - Data[(Japanese ? 0x25B1 : 0x25B6) + ofs] |= bitval; + Data[(Japanese ? 0x25B1 : 0x25B6) + ofs] &= (byte)(~bitval); + if (seen) + Data[(Japanese ? 0x25B1 : 0x25B6) + ofs] |= bitval; + } + + protected internal override void setCaught(PKM pkm, bool caught) + { + if (pkm.Species == 0) + return; + if (pkm.Species > MaxSpeciesID) + return; + if (Version == GameVersion.Unknown) + return; + + int bit = pkm.Species - 1; + int ofs = bit >> 3; + byte bitval = (byte)(1 << (bit & 7)); + // Set the Captured Flag + Data[(Japanese ? 0x259E : 0x25A3) + ofs] &= (byte)(~bitval); + if (caught) + Data[(Japanese ? 0x259E : 0x25A3) + ofs] |= bitval; } } } diff --git a/PKHeX/Saves/SaveFile.cs b/PKHeX/Saves/SaveFile.cs index 5ff237205..1d672eb03 100644 --- a/PKHeX/Saves/SaveFile.cs +++ b/PKHeX/Saves/SaveFile.cs @@ -487,7 +487,16 @@ namespace PKHeX } protected virtual void setPKM(PKM pkm) { } - protected virtual void setDex(PKM pkm) { } + protected virtual void setDex(PKM pkm) + { + setSeen(pkm); + setCaught(pkm); + } + + public virtual bool getSeen(PKM pkm) { throw new NotImplementedException(); } + public virtual bool getCaught(PKM pkm) { throw new NotImplementedException(); } + protected internal virtual void setSeen(PKM pkm, bool seen = true) { } + protected internal virtual void setCaught(PKM pkm, bool caught = true) { } public byte[] getData(int Offset, int Length) { diff --git a/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.Designer.cs b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.Designer.cs new file mode 100644 index 000000000..cf25e0653 --- /dev/null +++ b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.Designer.cs @@ -0,0 +1,179 @@ +namespace PKHeX +{ + partial class SAV_SimplePokedex + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_SimplePokedex)); + this.B_Save = new System.Windows.Forms.Button(); + this.B_Cancel = new System.Windows.Forms.Button(); + this.B_CaughtNone = new System.Windows.Forms.Button(); + this.B_CaughtAll = new System.Windows.Forms.Button(); + this.B_SeenNone = new System.Windows.Forms.Button(); + this.B_SeenAll = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.CLB_Caught = new System.Windows.Forms.CheckedListBox(); + this.Label_Seen = new System.Windows.Forms.Label(); + this.CLB_Seen = new System.Windows.Forms.CheckedListBox(); + this.SuspendLayout(); + // + // B_Save + // + this.B_Save.Location = new System.Drawing.Point(146, 301); + this.B_Save.Name = "B_Save"; + this.B_Save.Size = new System.Drawing.Size(85, 23); + this.B_Save.TabIndex = 19; + this.B_Save.Text = "Save"; + this.B_Save.UseVisualStyleBackColor = true; + this.B_Save.Click += new System.EventHandler(this.B_Save_Click); + // + // B_Cancel + // + this.B_Cancel.Location = new System.Drawing.Point(53, 301); + this.B_Cancel.Name = "B_Cancel"; + this.B_Cancel.Size = new System.Drawing.Size(85, 23); + this.B_Cancel.TabIndex = 18; + this.B_Cancel.Text = "Cancel"; + this.B_Cancel.UseVisualStyleBackColor = true; + this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click); + // + // B_CaughtNone + // + this.B_CaughtNone.Location = new System.Drawing.Point(151, 267); + this.B_CaughtNone.Name = "B_CaughtNone"; + this.B_CaughtNone.Size = new System.Drawing.Size(120, 23); + this.B_CaughtNone.TabIndex = 17; + this.B_CaughtNone.Text = "Caught None"; + this.B_CaughtNone.UseVisualStyleBackColor = true; + this.B_CaughtNone.Click += new System.EventHandler(this.B_CaughtNone_Click); + // + // B_CaughtAll + // + this.B_CaughtAll.Location = new System.Drawing.Point(151, 238); + this.B_CaughtAll.Name = "B_CaughtAll"; + this.B_CaughtAll.Size = new System.Drawing.Size(120, 23); + this.B_CaughtAll.TabIndex = 16; + this.B_CaughtAll.Text = "Caught All"; + this.B_CaughtAll.UseVisualStyleBackColor = true; + this.B_CaughtAll.Click += new System.EventHandler(this.B_CaughtAll_Click); + // + // B_SeenNone + // + this.B_SeenNone.Location = new System.Drawing.Point(14, 267); + this.B_SeenNone.Name = "B_SeenNone"; + this.B_SeenNone.Size = new System.Drawing.Size(120, 23); + this.B_SeenNone.TabIndex = 15; + this.B_SeenNone.Text = "Seen None"; + this.B_SeenNone.UseVisualStyleBackColor = true; + this.B_SeenNone.Click += new System.EventHandler(this.B_SeenNone_Click); + // + // B_SeenAll + // + this.B_SeenAll.Location = new System.Drawing.Point(14, 238); + this.B_SeenAll.Name = "B_SeenAll"; + this.B_SeenAll.Size = new System.Drawing.Size(120, 23); + this.B_SeenAll.TabIndex = 14; + this.B_SeenAll.Text = "Seen All"; + this.B_SeenAll.UseVisualStyleBackColor = true; + this.B_SeenAll.Click += new System.EventHandler(this.B_SeenAll_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(151, 13); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(44, 13); + this.label2.TabIndex = 13; + this.label2.Text = "Caught:"; + // + // CLB_Caught + // + this.CLB_Caught.FormattingEnabled = true; + this.CLB_Caught.Location = new System.Drawing.Point(151, 33); + this.CLB_Caught.Name = "CLB_Caught"; + this.CLB_Caught.Size = new System.Drawing.Size(120, 199); + this.CLB_Caught.TabIndex = 12; + this.CLB_Caught.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.CLB_Caught_ItemCheck); + // + // Label_Seen + // + this.Label_Seen.AutoSize = true; + this.Label_Seen.Location = new System.Drawing.Point(14, 13); + this.Label_Seen.Name = "Label_Seen"; + this.Label_Seen.Size = new System.Drawing.Size(35, 13); + this.Label_Seen.TabIndex = 11; + this.Label_Seen.Text = "Seen:"; + // + // CLB_Seen + // + this.CLB_Seen.FormattingEnabled = true; + this.CLB_Seen.Location = new System.Drawing.Point(14, 33); + this.CLB_Seen.Name = "CLB_Seen"; + this.CLB_Seen.Size = new System.Drawing.Size(120, 199); + this.CLB_Seen.TabIndex = 10; + this.CLB_Seen.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.CLB_Seen_ItemCheck); + // + // SAV_SimplePokedex + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(284, 336); + this.Controls.Add(this.B_Save); + this.Controls.Add(this.B_Cancel); + this.Controls.Add(this.B_CaughtNone); + this.Controls.Add(this.B_CaughtAll); + this.Controls.Add(this.B_SeenNone); + this.Controls.Add(this.B_SeenAll); + this.Controls.Add(this.label2); + this.Controls.Add(this.CLB_Caught); + this.Controls.Add(this.Label_Seen); + this.Controls.Add(this.CLB_Seen); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximumSize = new System.Drawing.Size(300, 375); + this.MinimumSize = new System.Drawing.Size(300, 375); + this.Name = "SAV_SimplePokedex"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Pokedex Editor"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button B_Save; + private System.Windows.Forms.Button B_Cancel; + private System.Windows.Forms.Button B_CaughtNone; + private System.Windows.Forms.Button B_CaughtAll; + private System.Windows.Forms.Button B_SeenNone; + private System.Windows.Forms.Button B_SeenAll; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.CheckedListBox CLB_Caught; + private System.Windows.Forms.Label Label_Seen; + private System.Windows.Forms.CheckedListBox CLB_Seen; + } +} \ No newline at end of file diff --git a/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.cs b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.cs new file mode 100644 index 000000000..7821be892 --- /dev/null +++ b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.cs @@ -0,0 +1,93 @@ +using System; +using System.Linq; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; + +namespace PKHeX +{ + public partial class SAV_SimplePokedex : Form + { + public SAV_SimplePokedex() + { + InitializeComponent(); + Util.TranslateInterface(this, Main.curlanguage); + seen = new bool[SAV.MaxSpeciesID]; + caught = new bool[SAV.MaxSpeciesID]; + + string[] spec = Util.getSpeciesList(Main.curlanguage); + for (int i = 0; i < seen.Length; i++) + { + PKM tempPkm = new PK6(); + tempPkm.Species = i + 1; + seen[i] = SAV.getSeen(tempPkm); + caught[i] = SAV.getCaught(tempPkm); + CLB_Seen.Items.Add(spec[i + 1]); + CLB_Caught.Items.Add(spec[i + 1]); + CLB_Seen.SetItemChecked(i, seen[i]); + CLB_Caught.SetItemChecked(i, caught[i]); + } + initialized = true; + } + private readonly CheckBox[] cba; + private readonly SaveFile SAV = Main.SAV.Clone(); + + private bool[] seen; + private bool[] caught; + private bool initialized; + + private void B_Save_Click(object sender, EventArgs e) + { + for (int i = 0; i < seen.Length; i++) + { + PKM tempPkm = new PK6(); + tempPkm.Species = i + 1; + SAV.setSeen(tempPkm, seen[i]); + SAV.setCaught(tempPkm, caught[i]); + } + SAV.Data.CopyTo(Main.SAV.Data, 0); + Main.SAV.Edited = true; + Close(); + } + + private void B_Cancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void B_SeenAll_Click(object sender, EventArgs e) + { + for (int i = 0; i < SAV.MaxSpeciesID; i++) + CLB_Seen.SetItemChecked(i, true); + } + + private void B_SeenNone_Click(object sender, EventArgs e) + { + for (int i = 0; i < SAV.MaxSpeciesID; i++) + CLB_Seen.SetItemChecked(i, false); + } + + private void B_CaughtAll_Click(object sender, EventArgs e) + { + for (int i = 0; i < SAV.MaxSpeciesID; i++) + CLB_Caught.SetItemChecked(i, true); + } + + private void B_CaughtNone_Click(object sender, EventArgs e) + { + for (int i = 0; i < SAV.MaxSpeciesID; i++) + CLB_Caught.SetItemChecked(i, false); + } + + private void CLB_Seen_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (!initialized) return; + seen[e.Index] = e.NewValue == CheckState.Checked; + } + + private void CLB_Caught_ItemCheck(object sender, ItemCheckEventArgs e) + { + if (!initialized) return; + caught[e.Index] = e.NewValue == CheckState.Checked; + } + } +} diff --git a/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.resx b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.resx new file mode 100644 index 000000000..603f660be --- /dev/null +++ b/PKHeX/Subforms/Save Editors/SAV_SimplePokedex.resx @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAE + AAAAAAAAAAAAAAAAAAAAAAAAIyMjAQAAAAALCwsPJiYmJysrKycqKionKSkpJykpKScpKSknKioqJyoq + KicrKysnJycnJw0ODQ8AAAAAJiYmAQAAAABpaWlHq6ur17+/v+6+vr7svr6+7b6+vu2+vr7tvr6+7b6+ + vu2+vr7tvr6+7L+/v+6rq6vXampqSAAAAAAoKSgXvr++3eLi4v/g4OD94eHh/+Hh4f/i4uL/4uLi/+Li + 4v/i4uL/4eHh/+Dh4P/g4OD94uLi/7+/v90sLCwXfn5+PNna2frg4OD/39/f/uHh4f7h4eH+39/f/uDg + 4P7g4OD+39/f/uHh4f7h4OH+39/f/t/g3//a2tr6g4ODPoOCgz7X19f64+Pj/+Li4v7k5OT/4+Tj//Ly + 8v/19fX/9PT0//T09P/k5OT/5OTk/+Pj4/7j4+P/19jX+4qLikCDhIM+2tra++Xl5f/k5eT+5OTk//Lz + 8v+urq7/RUVF/z4+Pv+Zmpn/8fHx/+Xm5f/k5eT+5eXl/9ra2vyLi4tAhYWFPuXm5vvx8vP/7+/w/v// + //+sra3/AgIC/15eXv9tbG3/BQUF/4yMjP//////7+/w/vHy8//l5ub8jY2NQC4uLD5LS0f7UFBL/09P + Sv5YWVP/FBUS/29wcP///////////5SUlP8PDw//U1NO/1BQS/5PT0r/S0tH/DIyMEAAAAs+AAAM+wAA + Dv8AAA/+AwMS/wAAAP+UlJX///////////+3t7n/AAAA/wAAD/8BAQ/+AAAO/wAADPwCAg5ABARSPgoK + k/sNDab/DQ2o/hAQvP8CAmj/IiIW/7Kzrv/Cw8D/NDQm/wAATf8QELz/DQ2q/gwMp/8LC5T8Dg5bQAUF + Xj4KCpz7DQ2u/w0NsP4NDbX/Dw+//wUFYf8CAhL/AwMP/wMDTf8ODrj/Dg64/w0NsP4MDK7/Cwud/A8P + aEEGBmU9DAyl+w4Otf8ODrf+Dw+6/xAQvv8TE8v/EhK+/xAQvP8TE8v/EBDA/w8Puf8PD7f+Dg61/w0N + pvsREW9ACAhtQA8PsfsTE77/ExO//xQUwP8UFML/FBTD/xUVyP8WFsn/FRXE/xQUw/8UFMH/ExO//xMT + vv8QELL7ERF3QxkZdCgXF771ExPH/xUVyPwVFcn9FhbL/RcXzP0XF8z9FxfM/RcXy/0XF8v9FhbJ/RUV + yPwTE8f/Fxe+9RkZdykAAAAAIyOtghsbx/8ZGcj+GRnJ/xoayf8aGsn/GhrK/xoayv8aGsn/GhrJ/xkZ + yf8ZGcj+GxvH/yMjrYQAAAAAAADHAQAAAAAzM51FLCyscCoqrGwqKqxtKSmsbSoqrG0qKqxtKSmsbSoq + rG0qKqxsLCyscDMznUUAAAAAAAAAAP//AADAAwAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB + AACAAQAAgAEAAIABAACAAQAAgAEAAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCR0dHSMWFhY3GBgYORgYGDkYGBg5GBgYORgY + GDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5FxcXNx4e + HiQuLi4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIARYWFis7OzuVkJCQ2ampqeqqqqrsqqqq7Kqq + quyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqq + quypqanqkZGR2j09PZcXFxcsUFBQAQAAAAAAAAAAAAAAAAAAAAASEhIuhISEytvb2/7W1tb/19fX/9jY + 2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY + 2P/Y2Nj/2NjY/9fX1//W1tb/29vb/oeHh8sTExMvAAAAAAAAAAAAAAAAPDw8DGtra6zZ2dn/2dnZ/9ra + 2v/b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc + 3P/c3Nz/3Nzc/9vb2//b29v/29vb/9ra2v/Z2dn/2dnZ/21tba5DQ0MNAAAAAAAAAAAiIiIx1NXU9tna + 2f/c3Nz/3d3d/93e3f/e3t7/3t7e/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/39/f/9/f3//f39//3t/e/97e3v/d3t3/3d3d/9zc3P/Z2tn/1dXV9icnJzMAAAAAAAAAAFhZ + WFzf4N//3Nzc/97e3v/f39//39/f/9/g3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Hi4f/h4eH/4eHh/+Dg4P/g4OD/3+Df/9/f3//f39//3t7e/9zc3P/f39//XV1dXQAA + AAAAAAAAZmZmZdvc2//e3t7/3+Df/+Dg4P/g4eD/4eHh/+Hi4f/i4uL/4uPi/+Pj4//j4+P/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/f4N//3t7e/9vb + 2/9wcHBoAAAAAAAAAABoaGhl3d3d/9/f3//h4eH/4eLh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl + 5f/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh + 4f/f39//3N3c/3Nzc2kAAAAAAAAAAGhoaGXe3t7/4ODg/+Li4v/j4+P/4+Pj/+Tk5P/l5eX/5eXl/+bm + 5v/m5+b/5+fn/+fn5//n6Of/6Ojo/+jo6P/o6Oj/5+fn/+fn5//n5+f/5ubm/+Xl5f/l5eX/5OTk/+Pk + 4//j4+P/4uLi/+Dg4P/e3t7/c3NzaQAAAAAAAAAAaGhoZd/g3//i4uL/5OTk/+Tl5P/l5eX/5ebl/+bn + 5v/n5+f/5+jn/+jp6P/p6en/7Ozs/8LCwv+Tk5P/ioqK/66urv/o6ej/6enp/+jp6P/o6Oj/5+jn/+bn + 5v/m5ub/5ebl/+Tl5P/k5OT/4uLi/9/g3/9zdHNpAAAAAAAAAABoaWhl4eLh/+Pk4//m5ub/5ubm/+fn + 5//n6Of/6Ojo/+np6f/p6un/6urq/8bGxv8yMjL/AAAA/wAAAP8AAAD/AAAA/xMTE/+ZmZn/7Ozs/+rq + 6v/p6en/6Ojo/+jo6P/n5+f/5ubm/+bm5v/k5OT/4eHh/3R0dGkAAAAAAAAAAGhpaGXj4+P/5eXl/+fn + 5//n6Of/6Ojo/+np6f/q6ur/6urq/+vr6//Dw8P/DAwM/wAAAP8AAAD/Gxsb/ygoKP8BAQH/AAAA/wAA + AP+FhYX/7O3s/+rr6v/q6ur/6enp/+jo6P/o6Oj/5+fn/+Xl5f/i4+L/dHR0aQAAAAAAAAAAYWFhZeTl + 5P/m5+b/6Ono/+np6f/p6un/6uvq/+vr6//s7Oz/7e7t/ycnJ/8AAAD/Ghoa/7S0tP/m5ub/5OTk/9HR + 0f9GRkb/AAAA/wICAv/IyMj/7Ozs/+vs6//q6+r/6urq/+nq6f/o6ej/5+fn/+Tk5P9sbGxpAAAAAAAA + AAA9Pj1lj4+P/5OTk/+VlZX/lpaW/5eXl/+YmJj/mZmZ/5qamv92dnb/AAAA/wEBAf+/wL//3Nzc/+Tk + 5P/l5eX/3d3d/+Li4v8mJib/AAAA/0ZGRv+ampr/mZmZ/5iYmP+Xl5f/lpaW/5WVlf+Tk5P/j4+P/0ZG + RmoAAAAAAAAAAAwMDGUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Nzc3/+fn + 5//q6ur/7O3s/+zt7P/v7+//39/f/4WFhf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/EBAQagAAAAAAAAAAAwMHZQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP9NTU3/5ufm//Lz8v/z9PP/8/Tz//X19f/l5eX/nZ2d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8GBgpqAAAAAAAAAAAAABZlAQEk/wEBJ/8CAin/AgIq/wICKv8CAiv/AgIs/wIC + LP8BAR3/AAAA/xwcHP/w8PD/6+zr//r6+v/6+vr/9PT0/+vr6/9lZWX/AAAA/wAAD/8CAi3/AgIs/wIC + K/8CAir/AgIq/wICKf8BASf/AQEl/wUFG2oAAAAAAAAAAAICQGUGBpL/Bwec/wgIo/8JCaf/CQmq/wkJ + rf8JCa//Cgqz/wkJqP8AAAL/AAAA/4CAgP/y8/L/6+zr/+3t7f/u7u7/xMTE/wcHB/8AAAD/BgZz/woK + s/8JCbD/CQmt/wkJqv8JCaj/CAik/wcHnf8HB5P/Dg5MagAAAAAAAAAAAwNHZQgIk/8JCZ3/Cgqj/wsL + p/8LC6n/Cwus/wsLr/8MDLL/DAy2/wYGW/8AAAD/AAAA/1JSUv+sraz/tra2/3h4eP8KCgr/AAAA/wIC + Iv8MDLb/DAyy/wsLsP8LC63/Cwuq/wsLp/8KCqT/CQmd/wgIk/8PD1VrAAAAAAAAAAAEBE1lCQmY/woK + ov8LC6j/DAyr/wwMrf8MDLD/DAyy/w0Ntf8NDbf/Dg67/wUFSv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAiH/DQ2q/w0NuP8NDbX/DQ2z/wwMsP8MDK7/DAyr/wsLqP8KCqL/CQmZ/xAQWmsAAAAAAAAAAAQE + UGUKCp7/Cwum/wwMrP8NDa//DQ2w/w0Ns/8ODrX/Dg63/w4Ouf8ODrv/Dw/A/wwMiv8FBTj/AAAG/wAA + AP8DAyb/CQls/w8Pu/8PD7z/Dg66/w4OuP8ODrX/DQ2z/w0Nsf8NDa//DAys/wsLp/8KCp7/ERFeawAA + AAAAAAAABQVTZQsLpP8MDKv/DQ2w/w4Os/8ODrT/Dg62/w8PuP8PD7r/Dw+8/w8Pvf8QEL//EBDA/xER + w/8SEsn/ERHJ/xERxf8QEMD/EBC//w8Pvv8PD7z/Dw+6/w8PuP8ODrf/Dg61/w4Os/8NDbH/DAyr/wsL + pP8SEmFrAAAAAAAAAAAGBlZlDAyq/w4OsP8PD7X/Dw+3/w8PuP8QELr/EBC7/xAQvf8REb7/ERHA/xER + wf8REcL/EhLC/xISw/8SEsP/EhLC/xERwv8REcH/ERHA/xERvv8QEL3/EBC7/xAQuv8QELj/Dw+3/w8P + tf8ODrD/DAyq/xMTZWsAAAAAAAAAAAcHWmUODrD/EBC2/xERuv8REbz/ERG9/xISvv8SEr//EhLA/xMT + wf8TE8P/ExPD/xMTxP8TE8X/FBTF/xQUxf8UFMX/ExPE/xMTxP8TE8P/ExPC/xISwf8SEr//EhK+/xER + vf8REbz/ERG6/xAQtv8ODrD/FBRpawAAAAAAAAAACAhcYxAQtf8SErv/ExO+/xQUwP8UFMD/FBTB/xUV + wv8VFcP/FRXE/xUVxf8WFsb/FhbG/xYWx/8WFsf/FhbH/xYWx/8WFsf/FhbG/xYWxf8VFcT/FRXD/xUV + wv8UFMH/FBTB/xQUwP8TE77/EhK7/xAQtf8TE2hoAAAAAAAAAAAQEFNUFRXC/xMTv/8UFMP/FRXE/xUV + xP8VFcX/FRXG/xYWx/8WFsf/FhbI/xYWyf8XF8n/FxfK/xcXyv8XF8r/FxfK/xcXyf8XF8n/FhbI/xYW + yP8WFsf/FhbG/xUVxf8VFcT/FRXE/xQUw/8TE7//FRXB/xAQV1UAAAAAAAAAAA0NPxkjI8byFBTD/xUV + x/8WFsj/FxfJ/xcXyf8XF8r/FxfK/xcXy/8YGMz/GBjM/xgYzP8YGM3/GBjN/xgYzf8YGM3/GBjM/xgY + zP8YGMz/GBjL/xcXy/8XF8r/FxfJ/xcXyf8WFsj/FRXH/xQUw/8jI8f0Dg5GGwAAAAAAAAAAFhZxAiUl + eIUZGcr/FBTI/xUVyv8WFsv/FhbM/xYWzP8WFsz/FhbN/xcXzf8XF83/FxfN/xcXzv8XF87/FxfO/xcX + zv8XF87/FxfN/xcXzf8WFs3/FhbM/xYWzP8WFsz/FhbL/xUVyv8UFMj/GBjJ/yYmeogWFnYCAAAAAAAA + AAAAAAAAGBh1BzMzk50kJNP+FxfK/xgYzP8YGMz/GBjN/xgYzf8YGM3/GBjN/xgYzf8ZGc7/GRnO/xkZ + zv8ZGc7/GRnO/xkZzv8YGM3/GBjN/xgYzf8YGM3/GBjN/xgYzP8YGMz/FxfK/yMj0v4zM5WfFBRkBwAA + AAAAAAAAAAAAAAAAAAAAAAAAHBx7Ay0tdkg3N5emMTGpxSwsp8gsLKfILCynyCwsp8gsLKfILCynyCws + p8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyDExqcU2NpenLi54Shsb + ewMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAD+AAAAfAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAAD4AAAB/gAAB////// + + + \ No newline at end of file diff --git a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.Designer.cs b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.Designer.cs index 111a04802..9cdf8aca3 100644 --- a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.Designer.cs +++ b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_SimpleTrainer)); this.GB_Adventure = new System.Windows.Forms.GroupBox(); this.L_Started = new System.Windows.Forms.Label(); this.CAL_AdventureStartDate = new System.Windows.Forms.DateTimePicker(); @@ -63,6 +64,9 @@ this.B_Save = new System.Windows.Forms.Button(); this.B_Cancel = new System.Windows.Forms.Button(); this.GB_Trainer = new System.Windows.Forms.GroupBox(); + this.B_MaxCoins = new System.Windows.Forms.Button(); + this.L_Coins = new System.Windows.Forms.Label(); + this.MT_Coins = new System.Windows.Forms.MaskedTextBox(); this.GB_Badges = new System.Windows.Forms.GroupBox(); this.CHK_H8 = new System.Windows.Forms.CheckBox(); this.CHK_H7 = new System.Windows.Forms.CheckBox(); @@ -80,6 +84,14 @@ this.CHK_3 = new System.Windows.Forms.CheckBox(); this.CHK_2 = new System.Windows.Forms.CheckBox(); this.CHK_1 = new System.Windows.Forms.CheckBox(); + this.GB_Options = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.CB_SoundType = new System.Windows.Forms.ComboBox(); + this.LBL_TextSpeed = new System.Windows.Forms.Label(); + this.CB_TextSpeed = new System.Windows.Forms.ComboBox(); + this.LBL_BattleStyle = new System.Windows.Forms.Label(); + this.CB_BattleStyle = new System.Windows.Forms.ComboBox(); + this.CHK_BattleEffects = new System.Windows.Forms.CheckBox(); this.GB_Adventure.SuspendLayout(); this.GB_Map.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.NUD_Z)).BeginInit(); @@ -88,6 +100,7 @@ ((System.ComponentModel.ISupportInitialize)(this.NUD_X)).BeginInit(); this.GB_Trainer.SuspendLayout(); this.GB_Badges.SuspendLayout(); + this.GB_Options.SuspendLayout(); this.SuspendLayout(); // // GB_Adventure @@ -248,7 +261,7 @@ this.CB_Gender.Items.AddRange(new object[] { "♂", "♀"}); - this.CB_Gender.Location = new System.Drawing.Point(99, 55); + this.CB_Gender.Location = new System.Drawing.Point(119, 55); this.CB_Gender.Name = "CB_Gender"; this.CB_Gender.Size = new System.Drawing.Size(40, 21); this.CB_Gender.TabIndex = 68; @@ -458,6 +471,9 @@ // // GB_Trainer // + this.GB_Trainer.Controls.Add(this.B_MaxCoins); + this.GB_Trainer.Controls.Add(this.L_Coins); + this.GB_Trainer.Controls.Add(this.MT_Coins); this.GB_Trainer.Controls.Add(this.TB_OTName); this.GB_Trainer.Controls.Add(this.B_MaxCash); this.GB_Trainer.Controls.Add(this.MT_SID); @@ -475,6 +491,37 @@ this.GB_Trainer.TabStop = false; this.GB_Trainer.Text = "Trainer"; // + // B_MaxCoins + // + this.B_MaxCoins.Location = new System.Drawing.Point(95, 56); + this.B_MaxCoins.Name = "B_MaxCoins"; + this.B_MaxCoins.Size = new System.Drawing.Size(20, 20); + this.B_MaxCoins.TabIndex = 71; + this.B_MaxCoins.Text = "+"; + this.B_MaxCoins.UseVisualStyleBackColor = true; + this.B_MaxCoins.Visible = false; + // + // L_Coins + // + this.L_Coins.AutoSize = true; + this.L_Coins.Location = new System.Drawing.Point(11, 59); + this.L_Coins.Name = "L_Coins"; + this.L_Coins.Size = new System.Drawing.Size(36, 13); + this.L_Coins.TabIndex = 70; + this.L_Coins.Text = "Coins:"; + this.L_Coins.Visible = false; + // + // MT_Coins + // + this.MT_Coins.Location = new System.Drawing.Point(53, 55); + this.MT_Coins.Mask = "00000"; + this.MT_Coins.Name = "MT_Coins"; + this.MT_Coins.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.MT_Coins.Size = new System.Drawing.Size(39, 20); + this.MT_Coins.TabIndex = 69; + this.MT_Coins.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.MT_Coins.Visible = false; + // // GB_Badges // this.GB_Badges.Controls.Add(this.CHK_H8); @@ -660,17 +707,100 @@ this.CHK_1.UseVisualStyleBackColor = true; this.CHK_1.Visible = false; // + // GB_Options + // + this.GB_Options.Controls.Add(this.label1); + this.GB_Options.Controls.Add(this.CB_SoundType); + this.GB_Options.Controls.Add(this.LBL_TextSpeed); + this.GB_Options.Controls.Add(this.CB_TextSpeed); + this.GB_Options.Controls.Add(this.LBL_BattleStyle); + this.GB_Options.Controls.Add(this.CB_BattleStyle); + this.GB_Options.Controls.Add(this.CHK_BattleEffects); + this.GB_Options.Location = new System.Drawing.Point(217, 99); + this.GB_Options.Name = "GB_Options"; + this.GB_Options.Size = new System.Drawing.Size(157, 125); + this.GB_Options.TabIndex = 72; + this.GB_Options.TabStop = false; + this.GB_Options.Text = "Options"; + this.GB_Options.Visible = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(3, 71); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(68, 13); + this.label1.TabIndex = 25; + this.label1.Text = "Sound Type:"; + // + // CB_SoundType + // + this.CB_SoundType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_SoundType.FormattingEnabled = true; + this.CB_SoundType.Location = new System.Drawing.Point(71, 68); + this.CB_SoundType.Name = "CB_SoundType"; + this.CB_SoundType.Size = new System.Drawing.Size(80, 21); + this.CB_SoundType.TabIndex = 24; + // + // LBL_TextSpeed + // + this.LBL_TextSpeed.AutoSize = true; + this.LBL_TextSpeed.Location = new System.Drawing.Point(6, 98); + this.LBL_TextSpeed.Name = "LBL_TextSpeed"; + this.LBL_TextSpeed.Size = new System.Drawing.Size(65, 13); + this.LBL_TextSpeed.TabIndex = 23; + this.LBL_TextSpeed.Text = "Text Speed:"; + // + // CB_TextSpeed + // + this.CB_TextSpeed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_TextSpeed.FormattingEnabled = true; + this.CB_TextSpeed.Location = new System.Drawing.Point(71, 95); + this.CB_TextSpeed.Name = "CB_TextSpeed"; + this.CB_TextSpeed.Size = new System.Drawing.Size(80, 21); + this.CB_TextSpeed.TabIndex = 22; + // + // LBL_BattleStyle + // + this.LBL_BattleStyle.AutoSize = true; + this.LBL_BattleStyle.Location = new System.Drawing.Point(8, 44); + this.LBL_BattleStyle.Name = "LBL_BattleStyle"; + this.LBL_BattleStyle.Size = new System.Drawing.Size(63, 13); + this.LBL_BattleStyle.TabIndex = 21; + this.LBL_BattleStyle.Text = "Battle Style:"; + // + // CB_BattleStyle + // + this.CB_BattleStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_BattleStyle.FormattingEnabled = true; + this.CB_BattleStyle.Location = new System.Drawing.Point(71, 41); + this.CB_BattleStyle.Name = "CB_BattleStyle"; + this.CB_BattleStyle.Size = new System.Drawing.Size(80, 21); + this.CB_BattleStyle.TabIndex = 20; + // + // CHK_BattleEffects + // + this.CHK_BattleEffects.AutoSize = true; + this.CHK_BattleEffects.Location = new System.Drawing.Point(26, 18); + this.CHK_BattleEffects.Name = "CHK_BattleEffects"; + this.CHK_BattleEffects.Size = new System.Drawing.Size(111, 17); + this.CHK_BattleEffects.TabIndex = 19; + this.CHK_BattleEffects.Text = "Use Battle Effects"; + this.CHK_BattleEffects.UseVisualStyleBackColor = true; + // // SAV_SimpleTrainer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(384, 261); + this.Controls.Add(this.GB_Options); this.Controls.Add(this.GB_Badges); this.Controls.Add(this.GB_Trainer); this.Controls.Add(this.B_Save); this.Controls.Add(this.B_Cancel); this.Controls.Add(this.GB_Map); this.Controls.Add(this.GB_Adventure); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MinimumSize = new System.Drawing.Size(400, 300); this.Name = "SAV_SimpleTrainer"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; @@ -686,6 +816,8 @@ this.GB_Trainer.PerformLayout(); this.GB_Badges.ResumeLayout(false); this.GB_Badges.PerformLayout(); + this.GB_Options.ResumeLayout(false); + this.GB_Options.PerformLayout(); this.ResumeLayout(false); } @@ -744,5 +876,16 @@ private System.Windows.Forms.CheckBox CHK_H3; private System.Windows.Forms.CheckBox CHK_H2; private System.Windows.Forms.CheckBox CHK_H1; + private System.Windows.Forms.Button B_MaxCoins; + private System.Windows.Forms.Label L_Coins; + private System.Windows.Forms.MaskedTextBox MT_Coins; + private System.Windows.Forms.GroupBox GB_Options; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox CB_SoundType; + private System.Windows.Forms.Label LBL_TextSpeed; + private System.Windows.Forms.ComboBox CB_TextSpeed; + private System.Windows.Forms.Label LBL_BattleStyle; + private System.Windows.Forms.ComboBox CB_BattleStyle; + private System.Windows.Forms.CheckBox CHK_BattleEffects; } } \ No newline at end of file diff --git a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.cs b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.cs index cd77cf21f..ea487cb4c 100644 --- a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.cs +++ b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.cs @@ -14,10 +14,15 @@ namespace PKHeX cba = new[] {CHK_1, CHK_2, CHK_3, CHK_4, CHK_5, CHK_6, CHK_7, CHK_8}; TB_OTName.MaxLength = SAV.OTLength; B_MaxCash.Click += (sender, e) => MT_Money.Text = "9,999,999"; + B_MaxCoins.Click += (sender, e) => MT_Coins.Text = "9999"; CB_Gender.Items.Clear(); CB_Gender.Items.AddRange(Main.gendersymbols.Take(2).ToArray()); // m/f depending on unicode selection + L_SID.Visible = MT_SID.Visible = SAV.Generation > 2; + L_Coins.Visible = B_MaxCoins.Visible = MT_Coins.Visible = SAV.Generation < 3; + CB_Gender.Visible = SAV.Generation > 1; + TB_OTName.Text = SAV.OT; CB_Gender.SelectedIndex = SAV.Gender; MT_TID.Text = SAV.TID.ToString("00000"); @@ -27,6 +32,29 @@ namespace PKHeX MT_Minutes.Text = SAV.PlayedMinutes.ToString(); MT_Seconds.Text = SAV.PlayedSeconds.ToString(); + + int badgeval = 0; + if (SAV is SAV1) + { + SAV1 sav1 = (SAV1)SAV; + MT_Coins.Text = sav1.Coin.ToString(); + badgeval = sav1.Badges; + + L_Started.Visible = L_Fame.Visible = false; + CAL_AdventureStartDate.Visible = CAL_HoFDate.Visible = false; + CAL_AdventureStartTime.Visible = CAL_HoFTime.Visible = false; + GB_Map.Visible = false; + GB_Options.Visible = true; + CB_BattleStyle.Items.AddRange(new[] { "Switch", "Set" }); + CB_SoundType.Items.AddRange(new[] { "Mono", "Stereo", "Earphone2", "Earphone3" }); + CB_TextSpeed.Items.AddRange(new[] { "0 (Instant)", "1 (Fast)", "2", "3 (Normal)", "4", "5 (Slow)", "6", "7" }); + + CHK_BattleEffects.Checked = sav1.BattleEffects; + CB_BattleStyle.SelectedIndex = sav1.BattleStyleSwitch ? 0 : 1; + CB_SoundType.SelectedIndex = sav1.Sound; + CB_TextSpeed.SelectedIndex = sav1.TextSpeed; + } + if (SAV is SAV3) { GB_Map.Visible = false; @@ -38,7 +66,6 @@ namespace PKHeX return; } - int badgeval = 0; if (SAV is SAV4) { SAV4 s = (SAV4)SAV; @@ -104,6 +131,18 @@ namespace PKHeX for (int i = 0; i < cba.Length; i++) badgeval |= (cba[i].Checked ? 1 : 0) << i; + if (SAV is SAV1) + { + SAV1 sav1 = (SAV1) SAV; + sav1.Coin = (ushort) Util.ToUInt32(MT_Coins.Text); + sav1.Badges = badgeval & 0xFF; + + sav1.BattleEffects = CHK_BattleEffects.Checked; + sav1.BattleStyleSwitch = CB_BattleStyle.SelectedIndex == 0; + sav1.Sound = CB_SoundType.SelectedIndex; + sav1.TextSpeed = CB_TextSpeed.SelectedIndex; + } + if (SAV is SAV4) { SAV4 s = (SAV4)SAV; diff --git a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.resx b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.resx index 1af7de150..603f660be 100644 --- a/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.resx +++ b/PKHeX/Subforms/Save Editors/SAV_SimpleTrainer.resx @@ -117,4 +117,100 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAE + AAAAAAAAAAAAAAAAAAAAAAAAIyMjAQAAAAALCwsPJiYmJysrKycqKionKSkpJykpKScpKSknKioqJyoq + KicrKysnJycnJw0ODQ8AAAAAJiYmAQAAAABpaWlHq6ur17+/v+6+vr7svr6+7b6+vu2+vr7tvr6+7b6+ + vu2+vr7tvr6+7L+/v+6rq6vXampqSAAAAAAoKSgXvr++3eLi4v/g4OD94eHh/+Hh4f/i4uL/4uLi/+Li + 4v/i4uL/4eHh/+Dh4P/g4OD94uLi/7+/v90sLCwXfn5+PNna2frg4OD/39/f/uHh4f7h4eH+39/f/uDg + 4P7g4OD+39/f/uHh4f7h4OH+39/f/t/g3//a2tr6g4ODPoOCgz7X19f64+Pj/+Li4v7k5OT/4+Tj//Ly + 8v/19fX/9PT0//T09P/k5OT/5OTk/+Pj4/7j4+P/19jX+4qLikCDhIM+2tra++Xl5f/k5eT+5OTk//Lz + 8v+urq7/RUVF/z4+Pv+Zmpn/8fHx/+Xm5f/k5eT+5eXl/9ra2vyLi4tAhYWFPuXm5vvx8vP/7+/w/v// + //+sra3/AgIC/15eXv9tbG3/BQUF/4yMjP//////7+/w/vHy8//l5ub8jY2NQC4uLD5LS0f7UFBL/09P + Sv5YWVP/FBUS/29wcP///////////5SUlP8PDw//U1NO/1BQS/5PT0r/S0tH/DIyMEAAAAs+AAAM+wAA + Dv8AAA/+AwMS/wAAAP+UlJX///////////+3t7n/AAAA/wAAD/8BAQ/+AAAO/wAADPwCAg5ABARSPgoK + k/sNDab/DQ2o/hAQvP8CAmj/IiIW/7Kzrv/Cw8D/NDQm/wAATf8QELz/DQ2q/gwMp/8LC5T8Dg5bQAUF + Xj4KCpz7DQ2u/w0NsP4NDbX/Dw+//wUFYf8CAhL/AwMP/wMDTf8ODrj/Dg64/w0NsP4MDK7/Cwud/A8P + aEEGBmU9DAyl+w4Otf8ODrf+Dw+6/xAQvv8TE8v/EhK+/xAQvP8TE8v/EBDA/w8Puf8PD7f+Dg61/w0N + pvsREW9ACAhtQA8PsfsTE77/ExO//xQUwP8UFML/FBTD/xUVyP8WFsn/FRXE/xQUw/8UFMH/ExO//xMT + vv8QELL7ERF3QxkZdCgXF771ExPH/xUVyPwVFcn9FhbL/RcXzP0XF8z9FxfM/RcXy/0XF8v9FhbJ/RUV + yPwTE8f/Fxe+9RkZdykAAAAAIyOtghsbx/8ZGcj+GRnJ/xoayf8aGsn/GhrK/xoayv8aGsn/GhrJ/xkZ + yf8ZGcj+GxvH/yMjrYQAAAAAAADHAQAAAAAzM51FLCyscCoqrGwqKqxtKSmsbSoqrG0qKqxtKSmsbSoq + rG0qKqxsLCyscDMznUUAAAAAAAAAAP//AADAAwAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB + AACAAQAAgAEAAIABAACAAQAAgAEAAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCR0dHSMWFhY3GBgYORgYGDkYGBg5GBgYORgY + GDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5FxcXNx4e + HiQuLi4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIARYWFis7OzuVkJCQ2ampqeqqqqrsqqqq7Kqq + quyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqq + quypqanqkZGR2j09PZcXFxcsUFBQAQAAAAAAAAAAAAAAAAAAAAASEhIuhISEytvb2/7W1tb/19fX/9jY + 2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY + 2P/Y2Nj/2NjY/9fX1//W1tb/29vb/oeHh8sTExMvAAAAAAAAAAAAAAAAPDw8DGtra6zZ2dn/2dnZ/9ra + 2v/b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc + 3P/c3Nz/3Nzc/9vb2//b29v/29vb/9ra2v/Z2dn/2dnZ/21tba5DQ0MNAAAAAAAAAAAiIiIx1NXU9tna + 2f/c3Nz/3d3d/93e3f/e3t7/3t7e/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg + 4P/g4OD/39/f/9/f3//f39//3t/e/97e3v/d3t3/3d3d/9zc3P/Z2tn/1dXV9icnJzMAAAAAAAAAAFhZ + WFzf4N//3Nzc/97e3v/f39//39/f/9/g3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Hi4f/h4eH/4eHh/+Dg4P/g4OD/3+Df/9/f3//f39//3t7e/9zc3P/f39//XV1dXQAA + AAAAAAAAZmZmZdvc2//e3t7/3+Df/+Dg4P/g4eD/4eHh/+Hi4f/i4uL/4uPi/+Pj4//j4+P/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/f4N//3t7e/9vb + 2/9wcHBoAAAAAAAAAABoaGhl3d3d/9/f3//h4eH/4eLh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl + 5f/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh + 4f/f39//3N3c/3Nzc2kAAAAAAAAAAGhoaGXe3t7/4ODg/+Li4v/j4+P/4+Pj/+Tk5P/l5eX/5eXl/+bm + 5v/m5+b/5+fn/+fn5//n6Of/6Ojo/+jo6P/o6Oj/5+fn/+fn5//n5+f/5ubm/+Xl5f/l5eX/5OTk/+Pk + 4//j4+P/4uLi/+Dg4P/e3t7/c3NzaQAAAAAAAAAAaGhoZd/g3//i4uL/5OTk/+Tl5P/l5eX/5ebl/+bn + 5v/n5+f/5+jn/+jp6P/p6en/7Ozs/8LCwv+Tk5P/ioqK/66urv/o6ej/6enp/+jp6P/o6Oj/5+jn/+bn + 5v/m5ub/5ebl/+Tl5P/k5OT/4uLi/9/g3/9zdHNpAAAAAAAAAABoaWhl4eLh/+Pk4//m5ub/5ubm/+fn + 5//n6Of/6Ojo/+np6f/p6un/6urq/8bGxv8yMjL/AAAA/wAAAP8AAAD/AAAA/xMTE/+ZmZn/7Ozs/+rq + 6v/p6en/6Ojo/+jo6P/n5+f/5ubm/+bm5v/k5OT/4eHh/3R0dGkAAAAAAAAAAGhpaGXj4+P/5eXl/+fn + 5//n6Of/6Ojo/+np6f/q6ur/6urq/+vr6//Dw8P/DAwM/wAAAP8AAAD/Gxsb/ygoKP8BAQH/AAAA/wAA + AP+FhYX/7O3s/+rr6v/q6ur/6enp/+jo6P/o6Oj/5+fn/+Xl5f/i4+L/dHR0aQAAAAAAAAAAYWFhZeTl + 5P/m5+b/6Ono/+np6f/p6un/6uvq/+vr6//s7Oz/7e7t/ycnJ/8AAAD/Ghoa/7S0tP/m5ub/5OTk/9HR + 0f9GRkb/AAAA/wICAv/IyMj/7Ozs/+vs6//q6+r/6urq/+nq6f/o6ej/5+fn/+Tk5P9sbGxpAAAAAAAA + AAA9Pj1lj4+P/5OTk/+VlZX/lpaW/5eXl/+YmJj/mZmZ/5qamv92dnb/AAAA/wEBAf+/wL//3Nzc/+Tk + 5P/l5eX/3d3d/+Li4v8mJib/AAAA/0ZGRv+ampr/mZmZ/5iYmP+Xl5f/lpaW/5WVlf+Tk5P/j4+P/0ZG + RmoAAAAAAAAAAAwMDGUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Nzc3/+fn + 5//q6ur/7O3s/+zt7P/v7+//39/f/4WFhf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/EBAQagAAAAAAAAAAAwMHZQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP9NTU3/5ufm//Lz8v/z9PP/8/Tz//X19f/l5eX/nZ2d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8GBgpqAAAAAAAAAAAAABZlAQEk/wEBJ/8CAin/AgIq/wICKv8CAiv/AgIs/wIC + LP8BAR3/AAAA/xwcHP/w8PD/6+zr//r6+v/6+vr/9PT0/+vr6/9lZWX/AAAA/wAAD/8CAi3/AgIs/wIC + K/8CAir/AgIq/wICKf8BASf/AQEl/wUFG2oAAAAAAAAAAAICQGUGBpL/Bwec/wgIo/8JCaf/CQmq/wkJ + rf8JCa//Cgqz/wkJqP8AAAL/AAAA/4CAgP/y8/L/6+zr/+3t7f/u7u7/xMTE/wcHB/8AAAD/BgZz/woK + s/8JCbD/CQmt/wkJqv8JCaj/CAik/wcHnf8HB5P/Dg5MagAAAAAAAAAAAwNHZQgIk/8JCZ3/Cgqj/wsL + p/8LC6n/Cwus/wsLr/8MDLL/DAy2/wYGW/8AAAD/AAAA/1JSUv+sraz/tra2/3h4eP8KCgr/AAAA/wIC + Iv8MDLb/DAyy/wsLsP8LC63/Cwuq/wsLp/8KCqT/CQmd/wgIk/8PD1VrAAAAAAAAAAAEBE1lCQmY/woK + ov8LC6j/DAyr/wwMrf8MDLD/DAyy/w0Ntf8NDbf/Dg67/wUFSv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAiH/DQ2q/w0NuP8NDbX/DQ2z/wwMsP8MDK7/DAyr/wsLqP8KCqL/CQmZ/xAQWmsAAAAAAAAAAAQE + UGUKCp7/Cwum/wwMrP8NDa//DQ2w/w0Ns/8ODrX/Dg63/w4Ouf8ODrv/Dw/A/wwMiv8FBTj/AAAG/wAA + AP8DAyb/CQls/w8Pu/8PD7z/Dg66/w4OuP8ODrX/DQ2z/w0Nsf8NDa//DAys/wsLp/8KCp7/ERFeawAA + AAAAAAAABQVTZQsLpP8MDKv/DQ2w/w4Os/8ODrT/Dg62/w8PuP8PD7r/Dw+8/w8Pvf8QEL//EBDA/xER + w/8SEsn/ERHJ/xERxf8QEMD/EBC//w8Pvv8PD7z/Dw+6/w8PuP8ODrf/Dg61/w4Os/8NDbH/DAyr/wsL + pP8SEmFrAAAAAAAAAAAGBlZlDAyq/w4OsP8PD7X/Dw+3/w8PuP8QELr/EBC7/xAQvf8REb7/ERHA/xER + wf8REcL/EhLC/xISw/8SEsP/EhLC/xERwv8REcH/ERHA/xERvv8QEL3/EBC7/xAQuv8QELj/Dw+3/w8P + tf8ODrD/DAyq/xMTZWsAAAAAAAAAAAcHWmUODrD/EBC2/xERuv8REbz/ERG9/xISvv8SEr//EhLA/xMT + wf8TE8P/ExPD/xMTxP8TE8X/FBTF/xQUxf8UFMX/ExPE/xMTxP8TE8P/ExPC/xISwf8SEr//EhK+/xER + vf8REbz/ERG6/xAQtv8ODrD/FBRpawAAAAAAAAAACAhcYxAQtf8SErv/ExO+/xQUwP8UFMD/FBTB/xUV + wv8VFcP/FRXE/xUVxf8WFsb/FhbG/xYWx/8WFsf/FhbH/xYWx/8WFsf/FhbG/xYWxf8VFcT/FRXD/xUV + wv8UFMH/FBTB/xQUwP8TE77/EhK7/xAQtf8TE2hoAAAAAAAAAAAQEFNUFRXC/xMTv/8UFMP/FRXE/xUV + xP8VFcX/FRXG/xYWx/8WFsf/FhbI/xYWyf8XF8n/FxfK/xcXyv8XF8r/FxfK/xcXyf8XF8n/FhbI/xYW + yP8WFsf/FhbG/xUVxf8VFcT/FRXE/xQUw/8TE7//FRXB/xAQV1UAAAAAAAAAAA0NPxkjI8byFBTD/xUV + x/8WFsj/FxfJ/xcXyf8XF8r/FxfK/xcXy/8YGMz/GBjM/xgYzP8YGM3/GBjN/xgYzf8YGM3/GBjM/xgY + zP8YGMz/GBjL/xcXy/8XF8r/FxfJ/xcXyf8WFsj/FRXH/xQUw/8jI8f0Dg5GGwAAAAAAAAAAFhZxAiUl + eIUZGcr/FBTI/xUVyv8WFsv/FhbM/xYWzP8WFsz/FhbN/xcXzf8XF83/FxfN/xcXzv8XF87/FxfO/xcX + zv8XF87/FxfN/xcXzf8WFs3/FhbM/xYWzP8WFsz/FhbL/xUVyv8UFMj/GBjJ/yYmeogWFnYCAAAAAAAA + AAAAAAAAGBh1BzMzk50kJNP+FxfK/xgYzP8YGMz/GBjN/xgYzf8YGM3/GBjN/xgYzf8ZGc7/GRnO/xkZ + zv8ZGc7/GRnO/xkZzv8YGM3/GBjN/xgYzf8YGM3/GBjN/xgYzP8YGMz/FxfK/yMj0v4zM5WfFBRkBwAA + AAAAAAAAAAAAAAAAAAAAAAAAHBx7Ay0tdkg3N5emMTGpxSwsp8gsLKfILCynyCwsp8gsLKfILCynyCws + p8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyDExqcU2NpenLi54Shsb + ewMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAD+AAAAfAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAAD4AAAB/gAAB////// + + \ No newline at end of file