diff --git a/BW_tool/BW_tool.csproj b/BW_tool/BW_tool.csproj index 148cd46..9a46408 100644 --- a/BW_tool/BW_tool.csproj +++ b/BW_tool/BW_tool.csproj @@ -62,6 +62,10 @@ KeySystem.cs + + + MemoryLink.cs + @@ -126,6 +130,9 @@ Medals.cs + + MemoryLink.cs + TrainerInfo.cs diff --git a/BW_tool/Editors/Entralink_DreamWorld.cs b/BW_tool/Editors/Entralink_DreamWorld.cs index 7169cce..96dd652 100644 --- a/BW_tool/Editors/Entralink_DreamWorld.cs +++ b/BW_tool/Editors/Entralink_DreamWorld.cs @@ -487,6 +487,7 @@ namespace BW_tool } } + pgl_region_box.SelectedIndex = speciesbox.SelectedIndex; } if (exclusive == false) @@ -495,7 +496,6 @@ namespace BW_tool ok_but.Enabled = true; } - pgl_region_box.SelectedIndex = speciesbox.SelectedIndex; } diff --git a/BW_tool/Editors/Join_avenue.resx b/BW_tool/Editors/Join_avenue.resx index 8eb6c6f..15a421f 100644 --- a/BW_tool/Editors/Join_avenue.resx +++ b/BW_tool/Editors/Join_avenue.resx @@ -120,7 +120,7 @@ - iVBORw0KGgoAAAANSUhEUgAABAAAAAEACAIAAACiR5NzAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + iVBORw0KGgoAAAANSUhEUgAABAAAAAFACAIAAACtH5kfAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs @@ -1212,7 +1212,7 @@ u7mAFEn/Iuvni+mqk2jzhSrjlOHqHocAtQFlpqkjmd5rxC/nk1DkvQ4BhNWEPqs6vc/2r18T+sxeb4KU LO7lIP2f3z4h9wDhkGJFhOl1gaHpdZFPCH0NRaxqHkixIsL0epB7ALR+2wNAnuxV/2APt2Bn0PQ8Ouj7 h+sJ8Fb753OArivQ/L+zAYDcAPQ2AxagLCsFpqcFDcDzTXm9SHzv7AcUY0VGyBWy+sfH5MeSjBQrIkyv - Bzr3H0J/hPHPAUyvC3ZGDV+65wQAAM0ESURBVMCI+hfHNQAEI+6l7zmGS3e2YAQokhQrIkzvilKfI3wS + Bzr3H0J/hPHPAUyvC3ZGDV+65wQAAP/0SURBVMCI+hfHNQAEI+6l7zmGS3e2YAQokhQrIkzvilKfI3wS +lL/HDkBx5Z0oLYiI9T6ezcAh9aPBuD9dS7HyoIFHNoAIOtD6MvP90+7SooVqWzrdZCg31L/neWT/XVK tukBWvUPpqf/w1gDEI5gVdcFjWBvNwJBjEpGIksfF7nc/YZmhklJZ3yCD9LQf3v9vwg7HAE6nif1zc0N 2/XLrww9AHSXKVRD/WuG4IMaAN61dRTSaxZnqAcgzNIzptdPjut19kbq3xqAcFq0pHjSa6GNmZ4A3S9s @@ -1852,242 +1852,682 @@ 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 - 6oz6SWyu/w8CUyqP+lDqeAAAAABJRU5ErkJggg== + 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 \ No newline at end of file diff --git a/BW_tool/Editors/MemoryLink.Designer.cs b/BW_tool/Editors/MemoryLink.Designer.cs new file mode 100644 index 0000000..042d6ef --- /dev/null +++ b/BW_tool/Editors/MemoryLink.Designer.cs @@ -0,0 +1,396 @@ +/* + * Created by SharpDevelop. + * User: LAURA + * Date: 19/06/2016 + * Time: 10:19 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +namespace BW_tool +{ + partial class MemoryLink + { + /// + /// Designer variable used to keep track of non-visual components. + /// + private System.ComponentModel.IContainer components = null; + private System.Windows.Forms.Button Exit_but; + private System.Windows.Forms.Button Saveexit_but; + private System.Windows.Forms.Button b1_export; + private System.Windows.Forms.Button b1m_export; + private System.Windows.Forms.Button b2_export; + private System.Windows.Forms.Button b2_import; + private System.Windows.Forms.Button b1m_import; + private System.Windows.Forms.Button b1_import; + private System.Windows.Forms.Button memory_export; + private System.Windows.Forms.Button memory_import; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TextBox name; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.NumericUpDown sid; + private System.Windows.Forms.NumericUpDown tid; + private System.Windows.Forms.CheckBox flag8; + private System.Windows.Forms.CheckBox flag7; + private System.Windows.Forms.CheckBox flag6; + private System.Windows.Forms.CheckBox flag5; + private System.Windows.Forms.CheckBox flag4; + private System.Windows.Forms.CheckBox flag3; + private System.Windows.Forms.CheckBox flag2; + private System.Windows.Forms.CheckBox flag1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button import_bw1; + + /// + /// Disposes resources used by the form. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing) { + if (components != null) { + components.Dispose(); + } + } + base.Dispose(disposing); + } + + /// + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// + private void InitializeComponent() + { + this.Exit_but = new System.Windows.Forms.Button(); + this.Saveexit_but = new System.Windows.Forms.Button(); + this.b1_export = new System.Windows.Forms.Button(); + this.b1m_export = new System.Windows.Forms.Button(); + this.b2_export = new System.Windows.Forms.Button(); + this.b2_import = new System.Windows.Forms.Button(); + this.b1m_import = new System.Windows.Forms.Button(); + this.b1_import = new System.Windows.Forms.Button(); + this.memory_export = new System.Windows.Forms.Button(); + this.memory_import = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.name = new System.Windows.Forms.TextBox(); + this.sid = new System.Windows.Forms.NumericUpDown(); + this.tid = new System.Windows.Forms.NumericUpDown(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.flag8 = new System.Windows.Forms.CheckBox(); + this.flag7 = new System.Windows.Forms.CheckBox(); + this.flag6 = new System.Windows.Forms.CheckBox(); + this.flag5 = new System.Windows.Forms.CheckBox(); + this.flag4 = new System.Windows.Forms.CheckBox(); + this.flag3 = new System.Windows.Forms.CheckBox(); + this.flag2 = new System.Windows.Forms.CheckBox(); + this.flag1 = new System.Windows.Forms.CheckBox(); + this.label4 = new System.Windows.Forms.Label(); + this.import_bw1 = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.sid)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tid)).BeginInit(); + this.SuspendLayout(); + // + // Exit_but + // + this.Exit_but.Location = new System.Drawing.Point(30, 282); + this.Exit_but.Name = "Exit_but"; + this.Exit_but.Size = new System.Drawing.Size(102, 23); + this.Exit_but.TabIndex = 21; + this.Exit_but.Text = "Exit"; + this.Exit_but.UseVisualStyleBackColor = true; + this.Exit_but.Click += new System.EventHandler(this.Exit_butClick); + // + // Saveexit_but + // + this.Saveexit_but.Location = new System.Drawing.Point(137, 282); + this.Saveexit_but.Name = "Saveexit_but"; + this.Saveexit_but.Size = new System.Drawing.Size(102, 23); + this.Saveexit_but.TabIndex = 20; + this.Saveexit_but.Text = "Save and Exit"; + this.Saveexit_but.UseVisualStyleBackColor = true; + this.Saveexit_but.Click += new System.EventHandler(this.Saveexit_butClick); + // + // b1_export + // + this.b1_export.Location = new System.Drawing.Point(16, 19); + this.b1_export.Name = "b1_export"; + this.b1_export.Size = new System.Drawing.Size(119, 37); + this.b1_export.TabIndex = 22; + this.b1_export.Text = "Export Block 1 (decrypted)"; + this.b1_export.UseVisualStyleBackColor = true; + this.b1_export.Click += new System.EventHandler(this.B1_exportClick); + // + // b1m_export + // + this.b1m_export.Location = new System.Drawing.Point(16, 62); + this.b1m_export.Name = "b1m_export"; + this.b1m_export.Size = new System.Drawing.Size(119, 37); + this.b1m_export.TabIndex = 23; + this.b1m_export.Text = "Export Block 1 Mirror (decrypted)"; + this.b1m_export.UseVisualStyleBackColor = true; + this.b1m_export.Click += new System.EventHandler(this.B1m_exportClick); + // + // b2_export + // + this.b2_export.Location = new System.Drawing.Point(16, 105); + this.b2_export.Name = "b2_export"; + this.b2_export.Size = new System.Drawing.Size(119, 37); + this.b2_export.TabIndex = 24; + this.b2_export.Text = "Export Block 2"; + this.b2_export.UseVisualStyleBackColor = true; + this.b2_export.Click += new System.EventHandler(this.B2_exportClick); + // + // b2_import + // + this.b2_import.Location = new System.Drawing.Point(141, 105); + this.b2_import.Name = "b2_import"; + this.b2_import.Size = new System.Drawing.Size(119, 37); + this.b2_import.TabIndex = 27; + this.b2_import.Text = "Import Block 2"; + this.b2_import.UseVisualStyleBackColor = true; + this.b2_import.Click += new System.EventHandler(this.B2_importClick); + // + // b1m_import + // + this.b1m_import.Location = new System.Drawing.Point(141, 62); + this.b1m_import.Name = "b1m_import"; + this.b1m_import.Size = new System.Drawing.Size(119, 37); + this.b1m_import.TabIndex = 26; + this.b1m_import.Text = "Import Block 1 Mirror (decrypted)"; + this.b1m_import.UseVisualStyleBackColor = true; + this.b1m_import.Click += new System.EventHandler(this.B1m_importClick); + // + // b1_import + // + this.b1_import.Location = new System.Drawing.Point(141, 19); + this.b1_import.Name = "b1_import"; + this.b1_import.Size = new System.Drawing.Size(119, 37); + this.b1_import.TabIndex = 25; + this.b1_import.Text = "Import Block 1 (decrypted)"; + this.b1_import.UseVisualStyleBackColor = true; + this.b1_import.Click += new System.EventHandler(this.B1_importClick); + // + // memory_export + // + this.memory_export.Location = new System.Drawing.Point(12, 12); + this.memory_export.Name = "memory_export"; + this.memory_export.Size = new System.Drawing.Size(119, 37); + this.memory_export.TabIndex = 29; + this.memory_export.Text = "Export Memories"; + this.memory_export.UseVisualStyleBackColor = true; + this.memory_export.Click += new System.EventHandler(this.Memory_exportClick); + // + // memory_import + // + this.memory_import.Location = new System.Drawing.Point(137, 12); + this.memory_import.Name = "memory_import"; + this.memory_import.Size = new System.Drawing.Size(119, 37); + this.memory_import.TabIndex = 28; + this.memory_import.Text = "Import Memories"; + this.memory_import.UseVisualStyleBackColor = true; + this.memory_import.Click += new System.EventHandler(this.Memory_importClick); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.b2_import); + this.groupBox1.Controls.Add(this.b1m_import); + this.groupBox1.Controls.Add(this.b1_import); + this.groupBox1.Controls.Add(this.b2_export); + this.groupBox1.Controls.Add(this.b1m_export); + this.groupBox1.Controls.Add(this.b1_export); + this.groupBox1.Location = new System.Drawing.Point(359, 149); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(288, 156); + this.groupBox1.TabIndex = 30; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Research Purposes"; + // + // name + // + this.name.Location = new System.Drawing.Point(116, 74); + this.name.MaxLength = 8; + this.name.Name = "name"; + this.name.Size = new System.Drawing.Size(120, 20); + this.name.TabIndex = 36; + // + // sid + // + this.sid.Location = new System.Drawing.Point(117, 126); + this.sid.Maximum = new decimal(new int[] { + 65535, + 0, + 0, + 0}); + this.sid.Name = "sid"; + this.sid.Size = new System.Drawing.Size(120, 20); + this.sid.TabIndex = 35; + // + // tid + // + this.tid.Location = new System.Drawing.Point(117, 100); + this.tid.Maximum = new decimal(new int[] { + 65535, + 0, + 0, + 0}); + this.tid.Name = "tid"; + this.tid.Size = new System.Drawing.Size(120, 20); + this.tid.TabIndex = 34; + // + // label3 + // + this.label3.Location = new System.Drawing.Point(34, 128); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(51, 23); + this.label3.TabIndex = 33; + this.label3.Text = "SID"; + // + // label2 + // + this.label2.Location = new System.Drawing.Point(34, 102); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(51, 23); + this.label2.TabIndex = 32; + this.label2.Text = "TID"; + // + // label1 + // + this.label1.Location = new System.Drawing.Point(34, 77); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(51, 23); + this.label1.TabIndex = 31; + this.label1.Text = "Name"; + // + // flag8 + // + this.flag8.Location = new System.Drawing.Point(205, 247); + this.flag8.Name = "flag8"; + this.flag8.Size = new System.Drawing.Size(125, 29); + this.flag8.TabIndex = 44; + this.flag8.Text = "flag 8"; + this.flag8.UseVisualStyleBackColor = true; + // + // flag7 + // + this.flag7.Location = new System.Drawing.Point(205, 221); + this.flag7.Name = "flag7"; + this.flag7.Size = new System.Drawing.Size(125, 29); + this.flag7.TabIndex = 43; + this.flag7.Text = "flag 7"; + this.flag7.UseVisualStyleBackColor = true; + // + // flag6 + // + this.flag6.Location = new System.Drawing.Point(205, 195); + this.flag6.Name = "flag6"; + this.flag6.Size = new System.Drawing.Size(125, 29); + this.flag6.TabIndex = 42; + this.flag6.Text = "flag 6"; + this.flag6.UseVisualStyleBackColor = true; + // + // flag5 + // + this.flag5.Location = new System.Drawing.Point(205, 169); + this.flag5.Name = "flag5"; + this.flag5.Size = new System.Drawing.Size(125, 29); + this.flag5.TabIndex = 41; + this.flag5.Text = "flag 5"; + this.flag5.UseVisualStyleBackColor = true; + // + // flag4 + // + this.flag4.Location = new System.Drawing.Point(53, 247); + this.flag4.Name = "flag4"; + this.flag4.Size = new System.Drawing.Size(125, 29); + this.flag4.TabIndex = 40; + this.flag4.Text = "flag 4"; + this.flag4.UseVisualStyleBackColor = true; + // + // flag3 + // + this.flag3.Location = new System.Drawing.Point(53, 221); + this.flag3.Name = "flag3"; + this.flag3.Size = new System.Drawing.Size(125, 29); + this.flag3.TabIndex = 39; + this.flag3.Text = "flag 3"; + this.flag3.UseVisualStyleBackColor = true; + // + // flag2 + // + this.flag2.Location = new System.Drawing.Point(53, 195); + this.flag2.Name = "flag2"; + this.flag2.Size = new System.Drawing.Size(125, 29); + this.flag2.TabIndex = 38; + this.flag2.Text = "flag 2"; + this.flag2.UseVisualStyleBackColor = true; + // + // flag1 + // + this.flag1.Location = new System.Drawing.Point(53, 169); + this.flag1.Name = "flag1"; + this.flag1.Size = new System.Drawing.Size(125, 29); + this.flag1.TabIndex = 37; + this.flag1.Text = "A Triple Team"; + this.flag1.UseVisualStyleBackColor = true; + // + // label4 + // + this.label4.Location = new System.Drawing.Point(12, 151); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(128, 19); + this.label4.TabIndex = 45; + this.label4.Text = "Unlocked Memories:"; + this.label4.TextAlign = System.Drawing.ContentAlignment.BottomLeft; + // + // import_bw1 + // + this.import_bw1.Location = new System.Drawing.Point(273, 12); + this.import_bw1.Name = "import_bw1"; + this.import_bw1.Size = new System.Drawing.Size(119, 37); + this.import_bw1.TabIndex = 46; + this.import_bw1.Text = "Import data from BW1"; + this.import_bw1.UseVisualStyleBackColor = true; + this.import_bw1.Click += new System.EventHandler(this.Import_bw1Click); + // + // MemoryLink + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(659, 317); + this.Controls.Add(this.import_bw1); + this.Controls.Add(this.label4); + this.Controls.Add(this.flag8); + this.Controls.Add(this.flag7); + this.Controls.Add(this.flag6); + this.Controls.Add(this.flag5); + this.Controls.Add(this.flag4); + this.Controls.Add(this.flag3); + this.Controls.Add(this.flag2); + this.Controls.Add(this.flag1); + this.Controls.Add(this.name); + this.Controls.Add(this.sid); + this.Controls.Add(this.tid); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.memory_export); + this.Controls.Add(this.memory_import); + this.Controls.Add(this.Exit_but); + this.Controls.Add(this.Saveexit_but); + this.Name = "MemoryLink"; + this.Text = "Memory Link Editor"; + this.groupBox1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.sid)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tid)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + } +} diff --git a/BW_tool/Editors/MemoryLink.cs b/BW_tool/Editors/MemoryLink.cs new file mode 100644 index 0000000..69a32ef --- /dev/null +++ b/BW_tool/Editors/MemoryLink.cs @@ -0,0 +1,660 @@ +/* + * Created by SharpDevelop. + * User: LAURA + * Date: 19/06/2016 + * Time: 10:19 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using System.Windows.Forms; +using System.Linq; +using System.Text; + +namespace BW_tool +{ + /// + /// Description of MemoryLink. + /// + public partial class MemoryLink : Form + { + MEMORIES ml; + public MemoryLink() + { + // + // The InitializeComponent() call is required for Windows Forms designer support. + // + InitializeComponent(); + + ml = new MEMORIES (MainForm.save.getData(MEMORIES.Offset, MEMORIES.Size)); + + if (ml.block2.name == "") + { + MessageBox.Show("The savegame does not contain memory link Data.\n\nA default memory link data will be loaded, it unlocks the following:" + + "\n\t- All 8 flashbacks" + + "\n\t- NPC Battles with Cheren and Bianca" + + "\n\t- NPC will use BW1 trainer name instead of just Trainer" + + "\n\t- Certificates for completed Pokedex and trophies from Battle Subway\n\t (they are placed in the players room)" + + "\n\t- My personal hall of fame from my BW1 playthrough\n\t (no known use in-game)" + + "\n\nNote: No data related to Loblolly's Studio (would unlock Dream World furniture from BW on BW2) is present, but Dream World has closed anyways."); + + ml = new MEMORIES(default_memories); + ml.block2.name = "PPorg"; + ml.block2.TID = 25560; + ml.block2.SID = 13453; + } + + load_data(); + + + // + // TODO: Add constructor code after the InitializeComponent() call. + // + } + + void load_data() + { + name.Text = ml.block2.name; + tid.Value = ml.block2.TID; + sid.Value = ml.block2.SID; + + flag1.Checked = ml.block2.checkflag(0); + flag2.Checked = ml.block2.checkflag(1); + flag3.Checked = ml.block2.checkflag(2); + flag4.Checked = ml.block2.checkflag(3); + flag5.Checked = ml.block2.checkflag(4); + flag6.Checked = ml.block2.checkflag(5); + flag7.Checked = ml.block2.checkflag(6); + flag8.Checked = ml.block2.checkflag(7); + } + + void set_data() + { + ml.block2.name = name.Text; + ml.block2.TID = (UInt16)tid.Value; + ml.block2.SID = (UInt16)sid.Value; + + ml.block2.setflag(0, flag1.Checked); + ml.block2.setflag(1, flag2.Checked); + ml.block2.setflag(2, flag3.Checked); + ml.block2.setflag(3, flag4.Checked); + ml.block2.setflag(4, flag5.Checked); + ml.block2.setflag(5, flag6.Checked); + ml.block2.setflag(6, flag7.Checked); + ml.block2.setflag(7, flag8.Checked); + + ml.set_blocks(); + } + + void Exit_butClick(object sender, EventArgs e) + { + this.Close(); + } + void Saveexit_butClick(object sender, EventArgs e) + { + set_data(); + + MainForm.save.setData(ml.Data, MEMORIES.Offset); + + this.Close(); + } + void B1_exportClick(object sender, EventArgs e) + { + FileIO.save_file(ml.block1.Data, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + } + void B1m_exportClick(object sender, EventArgs e) + { + FileIO.save_file(ml.block1_mirror.Data, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + } + void B2_exportClick(object sender, EventArgs e) + { + FileIO.save_file(ml.block2.Data, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + } + void B1_importClick(object sender, EventArgs e) + { + byte[] new_block1 = new byte[MEMORIES.ML_BLOCK1.Size]; + string path = null; + int filesize = FileIO.load_file(ref new_block1, ref path, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + + if( filesize == MEMORIES.ML_BLOCK1.Size ) + { + new_block1.CopyTo(ml.block1.Data, 0); + //Reload + load_data(); + }else + { + MessageBox.Show("Invalid file"); + } + } + void B1m_importClick(object sender, EventArgs e) + { + byte[] new_block1m = new byte[MEMORIES.ML_BLOCK1.Size]; + string path = null; + int filesize = FileIO.load_file(ref new_block1m, ref path, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + + if( filesize == MEMORIES.ML_BLOCK1.Size ) + { + new_block1m.CopyTo(ml.block1_mirror.Data, 0); + //Reload + load_data(); + }else + { + MessageBox.Show("Invalid file"); + } + } + void B2_importClick(object sender, EventArgs e) + { + byte[] new_block2 = new byte[MEMORIES.ML_BLOCK2.Size]; + string path = null; + int filesize = FileIO.load_file(ref new_block2, ref path, "Memory Link Data|*.bin|All Files (*.*)|*.*"); + + if( filesize == MEMORIES.ML_BLOCK2.Size ) + { + new_block2.CopyTo(ml.block2.Data, 0); + //Reload + load_data(); + }else + { + MessageBox.Show("Invalid file"); + } + } + void Memory_importClick(object sender, EventArgs e) + { + byte[] new_memory = new byte[MEMORIES.Size]; + string path = null; + int filesize = FileIO.load_file(ref new_memory, ref path, "Memory Link Data|*.mld|All Files (*.*)|*.*"); + if( filesize == MEMORIES.Size ) + { + ml = new MEMORIES(new_memory); + //Reload all data + load_data(); + }else + { + MessageBox.Show("Invalid file"); + } + } + void Memory_exportClick(object sender, EventArgs e) + { + FileIO.save_file(ml.Data, "Memory Link Data|*.mld|All Files (*.*)|*.*"); + } + void Import_bw1Click(object sender, EventArgs e) + { + byte[] bw1 = new byte[SAV5.SIZERAW+122]; + string path = null; + + int filesize = FileIO.load_file(ref bw1, ref path, "NDS save data|*.sav;*.dsv|All Files (*.*)|*.*"); + + if( filesize == SAV5.SIZERAW || filesize == SAV5.SIZERAW+122 ) + { + //Convert DSV to SAV + if (filesize == SAV5.SIZERAW+122) + Array.Resize(ref bw1, SAV5.SIZERAW); + + SAV5 bw1save = new SAV5(bw1); + + if (bw1save.B2W2 == false) + { + + ml.block2.name_fromarray(bw1.Skip(0x19404).Take(0xF).ToArray()); + ml.block2.TID = BitConverter.ToUInt16(bw1, 0x19414); + ml.block2.SID = BitConverter.ToUInt16(bw1, 0x19416); + + ml.block2.set_hof(bw1.Skip(0x23B00).Take(0x168).ToArray()); + + //Reload all data + load_data(); + + MessageBox.Show("Imported: Trainer Name, TID, SID, Hall of Fame"); + } + else{ + + MessageBox.Show("Not a valid savegame!"); + } + } + } + + public class MEMORIES + { + public static int Size = 0xA20; + public static int Offset = 0x7E000; + + public byte[] Data; + public MEMORIES(byte[] data = null) + { + Data = data ?? new byte[Size]; + + load_blocks(); + + } + public byte[] getData(int Offset, int Length) + { + return Data.Skip(Offset).Take(Length).ToArray(); + } + public void setData(byte[] input, int Offset) + { + input.CopyTo(Data, Offset); + } + public ML_BLOCK1 block1; + public ML_BLOCK1 block1_mirror; + public ML_BLOCK2 block2; + + private void load_blocks() + { + byte[] decrypt1 = new byte[ML_BLOCK1.Size]; + byte[] decrypt2 = new byte[ML_BLOCK2.Size]; + + decrypt1 = SAV5.cryptoArray(getData(0, ML_BLOCK1.Size), 0xC, 0x364, 0x374-4); + decrypt2 = SAV5.cryptoArray(getData(0x400, ML_BLOCK1.Size), 0xC, 0x364, 0x374-4); + block1 = new ML_BLOCK1(decrypt1); + block1_mirror = new ML_BLOCK1(decrypt2); + + block2 = new ML_BLOCK2(getData(0x800, ML_BLOCK2.Size));//Not encrypted, but has CRC + } + + public void set_blocks() + { + + //Recalculate CRCs + ushort crc = SAV5.ccitt16(block1.Data.Skip(0xC).Take(0x368).ToArray()); + block1.crc = crc; + ushort crc_mirror = SAV5.ccitt16(block1_mirror.Data.Skip(0xC).Take(0x368).ToArray()); + block1_mirror.crc = crc_mirror; + ushort crc2 = SAV5.ccitt16(block2.Data.Skip(0xC).Take(0x214).ToArray()); + block2.crc = crc2; + + + //Recrypt blocks + byte[] encrypt1 = new byte[ML_BLOCK1.Size]; + //byte[] encrypt2 = new byte[ML_BLOCK2.Size]; + encrypt1 = SAV5.cryptoArray(block1.Data, 0xC, 0x364, 0x374-4); + //encrypt2 = SAV5.cryptoArray(block2.Data, ML_BLOCK1.Size), 0, 0x374-4, 0x374-4); + + //Set new data + setData(encrypt1, 0); + setData(encrypt1, 0x400); //Block 1 mirror, we'll edit just the not mirrored one + //setData(encrypt2, 0x400); + setData(block2.Data, 0x800); + } + + public class ML_BLOCK1 + { + public static int Size = 0x374; + + public byte[] Data; + public ML_BLOCK1(byte[] data = null) + { + Data = data ?? new byte[Size]; + } + public byte[] getData(int Offset, int Length) + { + return Data.Skip(Offset).Take(Length).ToArray(); + } + public void setData(byte[] input, int Offset) + { + input.CopyTo(Data, Offset); + } + + public ushort crc + { + get + { + return BitConverter.ToUInt16(Data, 0x8); + } + set + { + setData(BitConverter.GetBytes((UInt16)value), 0x8); + } + } + public UInt32 crypt_seed + { + get + { + return BitConverter.ToUInt32(Data, 0x370); + } + set + { + setData(BitConverter.GetBytes((UInt32)value), 0x370); + } + } + } + public class ML_BLOCK2 + { + public static int Size = 0x21F; + + public byte[] Data; + public ML_BLOCK2(byte[] data = null) + { + Data = data ?? new byte[Size]; + + } + public byte[] getData(int Offset, int Length) + { + return Data.Skip(Offset).Take(Length).ToArray(); + } + public void setData(byte[] input, int Offset) + { + input.CopyTo(Data, Offset); + } + + public ushort crc + { + get + { + return BitConverter.ToUInt16(Data, 0x8); + } + set + { + setData(BitConverter.GetBytes((UInt16)value), 0x8); + } + } + + //Helper functions from pkhex + internal static string TrimFromFFFF(string input) + { + int index = input.IndexOf((char)0xFFFF); + return index < 0 ? input : input.Substring(0, index); + } + + public void name_fromarray(byte[] input) + { + name = TrimFromFFFF(Encoding.Unicode.GetString(input, 0x0, 0xE)) + .Replace("\uE08F", "\u2640") // nidoran + .Replace("\uE08E", "\u2642") // nidoran + .Replace("\u2019", "\u0027"); // farfetch'd + } + public string name + { + get + { + return TrimFromFFFF(Encoding.Unicode.GetString(Data, 0x48, 0xE)) + .Replace("\uE08F", "\u2640") // nidoran + .Replace("\uE08E", "\u2642") // nidoran + .Replace("\u2019", "\u0027"); // farfetch'd + } + set + { + if (value.Length > 0xE/2) + value = value.Substring(0, 0xE/2); // Hard cap + string TempNick = value // Replace Special Characters and add Terminator + .Replace("\u2640", "\uE08F") // nidoran + .Replace("\u2642", "\uE08E") // nidoran + .Replace("\u0027", "\u2019") // farfetch'd + .PadRight(value.Length + 1, (char)0xFFFF); // Null Terminator + Encoding.Unicode.GetBytes(TempNick).CopyTo(Data, 0x48); + Encoding.Unicode.GetBytes(TempNick).CopyTo(Data, 0x78); + } + } + public UInt16 TID + { + get + { + return BitConverter.ToUInt16(getData(0x44, 2), 0); + } + set + { + setData(BitConverter.GetBytes((UInt16)value), 0x44); + setData(BitConverter.GetBytes((UInt16)value), 0x74); + } + } + public UInt16 SID + { + get + { + return BitConverter.ToUInt16(getData(0x46, 2), 0); + } + set + { + setData(BitConverter.GetBytes((UInt16)value), 0x46); + setData(BitConverter.GetBytes((UInt16)value), 0x76); + } + } + + public bool checkflag(int index) + { + if (index > 7) + index = 7; + if ((Data[0x8D] & (0x1< 7) + index = 7; + + if (status == true) + Data[0x8D] |= (byte) (0x1< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/BW_tool/Editors/TrainerInfo.cs b/BW_tool/Editors/TrainerInfo.cs index ee9d242..1606bbd 100644 --- a/BW_tool/Editors/TrainerInfo.cs +++ b/BW_tool/Editors/TrainerInfo.cs @@ -192,14 +192,16 @@ namespace BW_tool } void Saveexit_butClick(object sender, EventArgs e) { + set_data(); + MainForm.save.setBlock(ash.Data, trainer_block); if (MainForm.save.B2W2 == true) { MainForm.save.setBlock(gary.Data, rival_block); } MainForm.save.setBlock(badge.Data, badges_block); - MainForm.save.setBlock(battle.Data, badges_block); - MainForm.save.setBlock(card.Data, badges_block); + MainForm.save.setBlock(battle.Data, battle_block); + MainForm.save.setBlock(card.Data, cardsig_block); this.Close(); } @@ -258,7 +260,7 @@ namespace BW_tool } set { - setData(BitConverter.GetBytes(value), 0x14); + setData(BitConverter.GetBytes((UInt16)value), 0x14); } } public UInt16 SID @@ -269,7 +271,7 @@ namespace BW_tool } set { - setData(BitConverter.GetBytes(value), 0x16); + setData(BitConverter.GetBytes((UInt16)value), 0x16); } } public UInt16 hours @@ -430,9 +432,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x1); + Data[0x4] |= (byte)(0x1); else - Data[0x4] =(byte)(Data[0x4]|~0x1); + Data[0x4] &= unchecked((byte)(~0x1)); } } public bool badge2 @@ -447,9 +449,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x2); + Data[0x4] |= (byte)(0x2); else - Data[0x4] =(byte)(Data[0x4]|~0x2); + Data[0x4] &= unchecked((byte)(~0x2)); } } public bool badge3 @@ -464,9 +466,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x4); + Data[0x4] |= (byte)(0x4); else - Data[0x4] =(byte)(Data[0x4]|~0x4); + Data[0x4] &= unchecked((byte)(~0x4)); } } public bool badge4 @@ -481,9 +483,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x8); + Data[0x4] |= (byte)(0x8); else - Data[0x4] =(byte)(Data[0x4]|~0x8); + Data[0x4] &= unchecked((byte)(~0x8)); } } public bool badge5 @@ -498,9 +500,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x10); + Data[0x4] |= (byte)(0x10); else - Data[0x4] =(byte)(Data[0x4]|~0x10); + Data[0x4] &= unchecked((byte)(~0x10)); } } public bool badge6 @@ -515,9 +517,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x20); + Data[0x4] |= (byte)(0x20); else - Data[0x4] =(byte)(Data[0x4]|~0x20); + Data[0x4] &= unchecked((byte)(~0x20)); } } public bool badge7 @@ -532,9 +534,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x40); + Data[0x4] |= (byte)(0x40); else - Data[0x4] =(byte)(Data[0x4]|~0x40); + Data[0x4] &= unchecked((byte)(~0x40)); } } public bool badge8 @@ -549,9 +551,9 @@ namespace BW_tool set { if (value == true) - Data[0x4] = (byte)(Data[0x4]|0x80); + Data[0x4] |= (byte)(0x80); else - Data[0x4] =(byte)(Data[0x4]|~0x80); + Data[0x4] &= unchecked((byte)(~0x80)); } } } diff --git a/BW_tool/MainForm.Designer.cs b/BW_tool/MainForm.Designer.cs index 687a6a7..01815fd 100644 --- a/BW_tool/MainForm.Designer.cs +++ b/BW_tool/MainForm.Designer.cs @@ -29,6 +29,7 @@ namespace BW_tool private System.Windows.Forms.Button join_but; private System.Windows.Forms.Button trainer_but; private System.Windows.Forms.Button about; + private System.Windows.Forms.Button memory_but; /// /// Disposes resources used by the form. @@ -66,6 +67,7 @@ namespace BW_tool this.join_but = new System.Windows.Forms.Button(); this.trainer_but = new System.Windows.Forms.Button(); this.about = new System.Windows.Forms.Button(); + this.memory_but = new System.Windows.Forms.Button(); this.SuspendLayout(); // // loadsave_but @@ -224,12 +226,24 @@ namespace BW_tool this.about.UseVisualStyleBackColor = true; this.about.Click += new System.EventHandler(this.AboutClick); // + // memory_but + // + this.memory_but.Enabled = false; + this.memory_but.Location = new System.Drawing.Point(158, 165); + this.memory_but.Name = "memory_but"; + this.memory_but.Size = new System.Drawing.Size(140, 23); + this.memory_but.TabIndex = 15; + this.memory_but.Text = "Memory Link"; + this.memory_but.UseVisualStyleBackColor = true; + this.memory_but.Click += new System.EventHandler(this.Memory_butClick); + // // MainForm // this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(503, 192); + this.Controls.Add(this.memory_but); this.Controls.Add(this.about); this.Controls.Add(this.trainer_but); this.Controls.Add(this.join_but); diff --git a/BW_tool/MainForm.cs b/BW_tool/MainForm.cs index e30b35a..babacd1 100644 --- a/BW_tool/MainForm.cs +++ b/BW_tool/MainForm.cs @@ -81,6 +81,7 @@ namespace BW_tool key_but.Enabled = true; join_but.Enabled = true; trainer_but.Enabled = true; + memory_but.Enabled = true; } else if (save.BW) { @@ -97,6 +98,7 @@ namespace BW_tool key_but.Enabled = false; join_but.Enabled = false; trainer_but.Enabled = true; + memory_but.Enabled = false; } else versiontext.Text = "Invalid file"; @@ -115,6 +117,7 @@ namespace BW_tool key_but.Enabled = false; join_but.Enabled = false; trainer_but.Enabled = false; + memory_but.Enabled = false; } } void Save_butClick(object sender, EventArgs e) @@ -179,5 +182,10 @@ namespace BW_tool { MessageBox.Show("Pokémon Generation 5 save tool by suloku '16\n\nThanks to many people that I'm probably missing out now, but those who shall not be missed are BlackShark for many research and information and kaphotics for reference on pkhex source code and research at project pokemon forums."); } + void Memory_butClick(object sender, EventArgs e) + { + Form memory = new MemoryLink(); + memory.ShowDialog(); + } } } diff --git a/BW_tool/SAV/FileIO.cs b/BW_tool/SAV/FileIO.cs index 0841ff8..3ae3ad6 100644 --- a/BW_tool/SAV/FileIO.cs +++ b/BW_tool/SAV/FileIO.cs @@ -88,18 +88,53 @@ namespace BW_tool } } + private static byte[] dsvfoot = new byte[] { + 0x7C, 0x3C, 0x2D, 0x2D, 0x53, 0x6E, 0x69, 0x70, 0x20, 0x61, 0x62, 0x6F, + 0x76, 0x65, 0x20, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x6F, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x61, 0x77, 0x20, + 0x73, 0x61, 0x76, 0x20, 0x62, 0x79, 0x20, 0x65, 0x78, 0x63, 0x6C, 0x75, + 0x64, 0x69, 0x6E, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x44, 0x65, + 0x53, 0x6D, 0x75, 0x4D, 0x45, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x66, 0x6F, 0x6F, 0x74, 0x65, 0x72, 0x3A, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x2D, + 0x44, 0x45, 0x53, 0x4D, 0x55, 0x4D, 0x45, 0x20, 0x53, 0x41, 0x56, 0x45, + 0x2D, 0x7C + }; + + public static void save_data(byte[] buffer) { //if (savegamename.Text.Length < 1) return; if (buffer == null) return; SaveFileDialog saveFD = new SaveFileDialog(); //saveFD.InitialDirectory = "c:\\"; - saveFD.Filter = "NDS RAW save data|*.sav|All Files (*.*)|*.*"; + saveFD.Filter = "NDS RAW save data|*.sav|NDS Desmune/Drastic save data|*.dsv|All Files (*.*)|*.*"; if (saveFD.ShowDialog() == DialogResult.OK) { System.IO.FileStream saveFile; - saveFile = new FileStream(saveFD.FileName, FileMode.Create); + saveFile = new FileStream(saveFD.FileName, FileMode.Create); + //Write file - saveFile.Write(buffer, 0, buffer.Length); + var extension = Path.GetExtension(saveFD.FileName); + switch(extension.ToLower()) + { + case ".sav": + //Write file + saveFile.Write(buffer, 0, buffer.Length); + break; + case ".dsv": + //Add dsv footer + byte[] dsv_save = new byte[SAV5.SIZERAW+122]; + buffer.CopyTo(dsv_save, 0); + dsvfoot.CopyTo(dsv_save, SAV5.SIZERAW); + //Write file + saveFile.Write( dsv_save, 0, dsv_save.Length); + break; + default: + //throw new ArgumentOutOfRangeException(extension); + break; + } + saveFile.Close(); MessageBox.Show("File Saved.", "Save file"); } diff --git a/BW_tool/SAV/SAV5.cs b/BW_tool/SAV/SAV5.cs index 9bba5fb..1b802ad 100644 --- a/BW_tool/SAV/SAV5.cs +++ b/BW_tool/SAV/SAV5.cs @@ -30,6 +30,12 @@ namespace BW_tool } public class SAV5 : PKX5 { + private int DEBUG_MSG = 0; + // + // 0: no checksum updated/not updated msg + // 1: only checksum updated msg + // 2: checksum updated and not updated msg + private static int[] BlockTableBW2 = {0x00000, 0x00400, 0x01400, 0x02400, 0x03400, 0x04400, 0x05400, //6 0x06400, 0x07400, 0x08400, 0x09400, 0x0A400, 0x0B400, 0x0C400, //13 @@ -308,7 +314,7 @@ namespace BW_tool { if (getBlockLength(index) != input.Length) { - MessageBox.Show("Block has invalid size!"); + MessageBox.Show("Block " + index.ToString() + " has invalid size!"); return; } @@ -344,9 +350,9 @@ namespace BW_tool ushort crctable = ccitt16(Data.Skip(blocks[blocksnum].Offset).Take(((blocksnum + 1) * 2)).ToArray()); Array.Copy(BitConverter.GetBytes(crctable), 0, Data, blocks[blocksnum].Checksum, 2); Array.Copy(BitConverter.GetBytes(crctable), 0, Data, blocks[blocksnum].Checksum + backupoffset, 2); - MessageBox.Show("Block's checksum updated"); + if (DEBUG_MSG > 0) MessageBox.Show("Block " + index.ToString() + " checksum updated"); } else { - MessageBox.Show("Checksum doesn't need update"); + if (DEBUG_MSG > 2) MessageBox.Show("Checksum " + index.ToString() + " doesn't need update"); } input.CopyTo(Data, blocks[index].Offset); @@ -355,7 +361,7 @@ namespace BW_tool } else { - MessageBox.Show("Invalid index"); + MessageBox.Show("Invalid index (" + index.ToString() + ")"); return; } } diff --git a/all_sprites.png b/all_sprites.png new file mode 100644 index 0000000..7d6d7f2 Binary files /dev/null and b/all_sprites.png differ