mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-15 08:47:14 +00:00
Remove Code Generator
Using the Cache for CyberGadget removes any need for a code generator, as the code generator had many holes (partial writes if data already was correct); future games would be odd to balance.
This commit is contained in:
parent
dc43dea409
commit
397fb30df5
15 changed files with 0 additions and 917 deletions
334
Misc/CodeGenerator.Designer.cs
generated
334
Misc/CodeGenerator.Designer.cs
generated
|
@ -1,334 +0,0 @@
|
||||||
namespace PKHeX
|
|
||||||
{
|
|
||||||
partial class CodeGenerator
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Required designer variable.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.IContainer components = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Clean up any resources being used.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
|
||||||
protected override void Dispose(bool disposing)
|
|
||||||
{
|
|
||||||
if (disposing && (components != null))
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
base.Dispose(disposing);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Windows Form Designer generated code
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Required method for Designer support - do not modify
|
|
||||||
/// the contents of this method with the code editor.
|
|
||||||
/// </summary>
|
|
||||||
private void InitializeComponent()
|
|
||||||
{
|
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CodeGenerator));
|
|
||||||
this.RTB_Code = new System.Windows.Forms.RichTextBox();
|
|
||||||
this.TB_Write = new System.Windows.Forms.TextBox();
|
|
||||||
this.L_Write = new System.Windows.Forms.Label();
|
|
||||||
this.L_Source = new System.Windows.Forms.Label();
|
|
||||||
this.CB_Source = new System.Windows.Forms.ComboBox();
|
|
||||||
this.B_Save = new System.Windows.Forms.Button();
|
|
||||||
this.L_Box = new System.Windows.Forms.Label();
|
|
||||||
this.L_Slot = new System.Windows.Forms.Label();
|
|
||||||
this.CB_Slot = new System.Windows.Forms.ComboBox();
|
|
||||||
this.CB_Box = new System.Windows.Forms.ComboBox();
|
|
||||||
this.B_Load = new System.Windows.Forms.Button();
|
|
||||||
this.B_Add = new System.Windows.Forms.Button();
|
|
||||||
this.B_Clear = new System.Windows.Forms.Button();
|
|
||||||
this.B_Copy = new System.Windows.Forms.Button();
|
|
||||||
this.B_Diff = new System.Windows.Forms.Button();
|
|
||||||
this.CHK_Break = new System.Windows.Forms.CheckBox();
|
|
||||||
this.B_Paste = new System.Windows.Forms.Button();
|
|
||||||
this.B_Import = new System.Windows.Forms.Button();
|
|
||||||
this.SuspendLayout();
|
|
||||||
//
|
|
||||||
// RTB_Code
|
|
||||||
//
|
|
||||||
this.RTB_Code.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.RTB_Code.Location = new System.Drawing.Point(8, 52);
|
|
||||||
this.RTB_Code.Name = "RTB_Code";
|
|
||||||
this.RTB_Code.ReadOnly = true;
|
|
||||||
this.RTB_Code.Size = new System.Drawing.Size(160, 190);
|
|
||||||
this.RTB_Code.TabIndex = 0;
|
|
||||||
this.RTB_Code.Text = "01234567 01234567 ";
|
|
||||||
//
|
|
||||||
// TB_Write
|
|
||||||
//
|
|
||||||
this.TB_Write.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.TB_Write.Location = new System.Drawing.Point(29, 105);
|
|
||||||
this.TB_Write.Name = "TB_Write";
|
|
||||||
this.TB_Write.Size = new System.Drawing.Size(65, 20);
|
|
||||||
this.TB_Write.TabIndex = 1;
|
|
||||||
this.TB_Write.Text = "01234567";
|
|
||||||
this.TB_Write.Visible = false;
|
|
||||||
//
|
|
||||||
// L_Write
|
|
||||||
//
|
|
||||||
this.L_Write.AutoSize = true;
|
|
||||||
this.L_Write.Location = new System.Drawing.Point(26, 89);
|
|
||||||
this.L_Write.Name = "L_Write";
|
|
||||||
this.L_Write.Size = new System.Drawing.Size(66, 13);
|
|
||||||
this.L_Write.TabIndex = 2;
|
|
||||||
this.L_Write.Text = "Write Offset:";
|
|
||||||
this.L_Write.Visible = false;
|
|
||||||
//
|
|
||||||
// L_Source
|
|
||||||
//
|
|
||||||
this.L_Source.AutoSize = true;
|
|
||||||
this.L_Source.Location = new System.Drawing.Point(26, 133);
|
|
||||||
this.L_Source.Name = "L_Source";
|
|
||||||
this.L_Source.Size = new System.Drawing.Size(70, 13);
|
|
||||||
this.L_Source.TabIndex = 5;
|
|
||||||
this.L_Source.Text = "Data Source:";
|
|
||||||
this.L_Source.Visible = false;
|
|
||||||
//
|
|
||||||
// CB_Source
|
|
||||||
//
|
|
||||||
this.CB_Source.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.CB_Source.FormattingEnabled = true;
|
|
||||||
this.CB_Source.Items.AddRange(new object[] {
|
|
||||||
"Loaded EKX (Tabs)",
|
|
||||||
"Box EKX",
|
|
||||||
"Wonder Card"});
|
|
||||||
this.CB_Source.Location = new System.Drawing.Point(29, 148);
|
|
||||||
this.CB_Source.Name = "CB_Source";
|
|
||||||
this.CB_Source.Size = new System.Drawing.Size(132, 21);
|
|
||||||
this.CB_Source.TabIndex = 6;
|
|
||||||
this.CB_Source.Visible = false;
|
|
||||||
//
|
|
||||||
// B_Save
|
|
||||||
//
|
|
||||||
this.B_Save.Location = new System.Drawing.Point(91, 189);
|
|
||||||
this.B_Save.Name = "B_Save";
|
|
||||||
this.B_Save.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Save.TabIndex = 9;
|
|
||||||
this.B_Save.Text = "Save Code";
|
|
||||||
this.B_Save.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Save.Visible = false;
|
|
||||||
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
|
|
||||||
//
|
|
||||||
// L_Box
|
|
||||||
//
|
|
||||||
this.L_Box.AutoSize = true;
|
|
||||||
this.L_Box.Location = new System.Drawing.Point(26, 173);
|
|
||||||
this.L_Box.Name = "L_Box";
|
|
||||||
this.L_Box.Size = new System.Drawing.Size(28, 13);
|
|
||||||
this.L_Box.TabIndex = 10;
|
|
||||||
this.L_Box.Text = "Box:";
|
|
||||||
this.L_Box.Visible = false;
|
|
||||||
//
|
|
||||||
// L_Slot
|
|
||||||
//
|
|
||||||
this.L_Slot.AutoSize = true;
|
|
||||||
this.L_Slot.Location = new System.Drawing.Point(95, 173);
|
|
||||||
this.L_Slot.Name = "L_Slot";
|
|
||||||
this.L_Slot.Size = new System.Drawing.Size(28, 13);
|
|
||||||
this.L_Slot.TabIndex = 11;
|
|
||||||
this.L_Slot.Text = "Slot:";
|
|
||||||
this.L_Slot.Visible = false;
|
|
||||||
//
|
|
||||||
// CB_Slot
|
|
||||||
//
|
|
||||||
this.CB_Slot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.CB_Slot.FormattingEnabled = true;
|
|
||||||
this.CB_Slot.Items.AddRange(new object[] {
|
|
||||||
"Loaded EKX (Tabs)",
|
|
||||||
"Box EKX ",
|
|
||||||
"Wonder Card"});
|
|
||||||
this.CB_Slot.Location = new System.Drawing.Point(126, 169);
|
|
||||||
this.CB_Slot.Name = "CB_Slot";
|
|
||||||
this.CB_Slot.Size = new System.Drawing.Size(35, 21);
|
|
||||||
this.CB_Slot.TabIndex = 12;
|
|
||||||
this.CB_Slot.Visible = false;
|
|
||||||
//
|
|
||||||
// CB_Box
|
|
||||||
//
|
|
||||||
this.CB_Box.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
||||||
this.CB_Box.FormattingEnabled = true;
|
|
||||||
this.CB_Box.Items.AddRange(new object[] {
|
|
||||||
"1",
|
|
||||||
"2",
|
|
||||||
"3",
|
|
||||||
"4",
|
|
||||||
"5",
|
|
||||||
"6",
|
|
||||||
"7",
|
|
||||||
"8",
|
|
||||||
"9",
|
|
||||||
"10",
|
|
||||||
"11",
|
|
||||||
"12",
|
|
||||||
"13",
|
|
||||||
"14",
|
|
||||||
"15",
|
|
||||||
"16",
|
|
||||||
"17",
|
|
||||||
"18",
|
|
||||||
"19",
|
|
||||||
"20",
|
|
||||||
"21",
|
|
||||||
"22",
|
|
||||||
"23",
|
|
||||||
"24",
|
|
||||||
"25",
|
|
||||||
"26",
|
|
||||||
"27",
|
|
||||||
"28",
|
|
||||||
"29",
|
|
||||||
"30",
|
|
||||||
"31"});
|
|
||||||
this.CB_Box.Location = new System.Drawing.Point(59, 169);
|
|
||||||
this.CB_Box.Name = "CB_Box";
|
|
||||||
this.CB_Box.Size = new System.Drawing.Size(35, 21);
|
|
||||||
this.CB_Box.TabIndex = 13;
|
|
||||||
this.CB_Box.Visible = false;
|
|
||||||
//
|
|
||||||
// B_Load
|
|
||||||
//
|
|
||||||
this.B_Load.Location = new System.Drawing.Point(12, 191);
|
|
||||||
this.B_Load.Name = "B_Load";
|
|
||||||
this.B_Load.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Load.TabIndex = 14;
|
|
||||||
this.B_Load.Text = "Load Code";
|
|
||||||
this.B_Load.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Load.Visible = false;
|
|
||||||
this.B_Load.Click += new System.EventHandler(this.B_Load_Click);
|
|
||||||
//
|
|
||||||
// B_Add
|
|
||||||
//
|
|
||||||
this.B_Add.Location = new System.Drawing.Point(100, 103);
|
|
||||||
this.B_Add.Name = "B_Add";
|
|
||||||
this.B_Add.Size = new System.Drawing.Size(60, 23);
|
|
||||||
this.B_Add.TabIndex = 15;
|
|
||||||
this.B_Add.Text = "Add ↓";
|
|
||||||
this.B_Add.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Add.Visible = false;
|
|
||||||
this.B_Add.Click += new System.EventHandler(this.B_Add_Click);
|
|
||||||
//
|
|
||||||
// B_Clear
|
|
||||||
//
|
|
||||||
this.B_Clear.Location = new System.Drawing.Point(92, 128);
|
|
||||||
this.B_Clear.Name = "B_Clear";
|
|
||||||
this.B_Clear.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Clear.TabIndex = 16;
|
|
||||||
this.B_Clear.Text = "Clear All";
|
|
||||||
this.B_Clear.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Clear.Visible = false;
|
|
||||||
this.B_Clear.Click += new System.EventHandler(this.B_Clear_Click);
|
|
||||||
//
|
|
||||||
// B_Copy
|
|
||||||
//
|
|
||||||
this.B_Copy.Location = new System.Drawing.Point(97, 11);
|
|
||||||
this.B_Copy.Name = "B_Copy";
|
|
||||||
this.B_Copy.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Copy.TabIndex = 17;
|
|
||||||
this.B_Copy.Text = "Copy";
|
|
||||||
this.B_Copy.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Copy.Click += new System.EventHandler(this.B_Copy_Click);
|
|
||||||
//
|
|
||||||
// B_Diff
|
|
||||||
//
|
|
||||||
this.B_Diff.Location = new System.Drawing.Point(11, 11);
|
|
||||||
this.B_Diff.Name = "B_Diff";
|
|
||||||
this.B_Diff.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Diff.TabIndex = 18;
|
|
||||||
this.B_Diff.Text = "Create Diff";
|
|
||||||
this.B_Diff.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Diff.Click += new System.EventHandler(this.B_Diff_Click);
|
|
||||||
//
|
|
||||||
// CHK_Break
|
|
||||||
//
|
|
||||||
this.CHK_Break.AutoSize = true;
|
|
||||||
this.CHK_Break.Checked = true;
|
|
||||||
this.CHK_Break.CheckState = System.Windows.Forms.CheckState.Checked;
|
|
||||||
this.CHK_Break.Location = new System.Drawing.Point(8, 35);
|
|
||||||
this.CHK_Break.Name = "CHK_Break";
|
|
||||||
this.CHK_Break.Size = new System.Drawing.Size(156, 17);
|
|
||||||
this.CHK_Break.TabIndex = 19;
|
|
||||||
this.CHK_Break.Text = "Line Break for Simple Mode";
|
|
||||||
this.CHK_Break.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// B_Paste
|
|
||||||
//
|
|
||||||
this.B_Paste.Location = new System.Drawing.Point(8, 249);
|
|
||||||
this.B_Paste.Name = "B_Paste";
|
|
||||||
this.B_Paste.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Paste.TabIndex = 20;
|
|
||||||
this.B_Paste.Text = "Paste";
|
|
||||||
this.B_Paste.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Paste.Click += new System.EventHandler(this.B_Paste_Click);
|
|
||||||
//
|
|
||||||
// B_Import
|
|
||||||
//
|
|
||||||
this.B_Import.Location = new System.Drawing.Point(99, 249);
|
|
||||||
this.B_Import.Name = "B_Import";
|
|
||||||
this.B_Import.Size = new System.Drawing.Size(69, 23);
|
|
||||||
this.B_Import.TabIndex = 21;
|
|
||||||
this.B_Import.Text = "Import";
|
|
||||||
this.B_Import.UseVisualStyleBackColor = true;
|
|
||||||
this.B_Import.Click += new System.EventHandler(this.B_Import_Click);
|
|
||||||
//
|
|
||||||
// CodeGenerator
|
|
||||||
//
|
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
||||||
this.ClientSize = new System.Drawing.Size(176, 282);
|
|
||||||
this.Controls.Add(this.B_Import);
|
|
||||||
this.Controls.Add(this.B_Paste);
|
|
||||||
this.Controls.Add(this.CHK_Break);
|
|
||||||
this.Controls.Add(this.B_Diff);
|
|
||||||
this.Controls.Add(this.B_Copy);
|
|
||||||
this.Controls.Add(this.B_Clear);
|
|
||||||
this.Controls.Add(this.B_Add);
|
|
||||||
this.Controls.Add(this.B_Load);
|
|
||||||
this.Controls.Add(this.CB_Box);
|
|
||||||
this.Controls.Add(this.CB_Slot);
|
|
||||||
this.Controls.Add(this.L_Slot);
|
|
||||||
this.Controls.Add(this.L_Box);
|
|
||||||
this.Controls.Add(this.B_Save);
|
|
||||||
this.Controls.Add(this.CB_Source);
|
|
||||||
this.Controls.Add(this.L_Source);
|
|
||||||
this.Controls.Add(this.L_Write);
|
|
||||||
this.Controls.Add(this.TB_Write);
|
|
||||||
this.Controls.Add(this.RTB_Code);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
||||||
this.MaximizeBox = false;
|
|
||||||
this.MinimizeBox = false;
|
|
||||||
this.Name = "CodeGenerator";
|
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
|
||||||
this.Text = "CodeGenerator";
|
|
||||||
this.ResumeLayout(false);
|
|
||||||
this.PerformLayout();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private System.Windows.Forms.RichTextBox RTB_Code;
|
|
||||||
private System.Windows.Forms.TextBox TB_Write;
|
|
||||||
private System.Windows.Forms.Label L_Write;
|
|
||||||
private System.Windows.Forms.Label L_Source;
|
|
||||||
private System.Windows.Forms.ComboBox CB_Source;
|
|
||||||
private System.Windows.Forms.Button B_Save;
|
|
||||||
private System.Windows.Forms.Label L_Box;
|
|
||||||
private System.Windows.Forms.Label L_Slot;
|
|
||||||
private System.Windows.Forms.ComboBox CB_Slot;
|
|
||||||
private System.Windows.Forms.ComboBox CB_Box;
|
|
||||||
private System.Windows.Forms.Button B_Load;
|
|
||||||
private System.Windows.Forms.Button B_Add;
|
|
||||||
private System.Windows.Forms.Button B_Clear;
|
|
||||||
private System.Windows.Forms.Button B_Copy;
|
|
||||||
private System.Windows.Forms.Button B_Diff;
|
|
||||||
private System.Windows.Forms.CheckBox CHK_Break;
|
|
||||||
private System.Windows.Forms.Button B_Paste;
|
|
||||||
private System.Windows.Forms.Button B_Import;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,320 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace PKHeX
|
|
||||||
{
|
|
||||||
public partial class CodeGenerator : Form
|
|
||||||
{
|
|
||||||
byte[] newdata = new byte[232];
|
|
||||||
|
|
||||||
readonly byte[] tabdata;
|
|
||||||
public CodeGenerator(byte[] formdata)
|
|
||||||
{
|
|
||||||
tabdata = formdata;
|
|
||||||
InitializeComponent();
|
|
||||||
CenterToParent();
|
|
||||||
RTB_Code.Clear();
|
|
||||||
TB_Write.Clear();
|
|
||||||
CB_Box.Items.Clear();
|
|
||||||
for (int i = 1; i <= 31; i++)
|
|
||||||
CB_Box.Items.Add(i.ToString());
|
|
||||||
|
|
||||||
CB_Source.SelectedIndex = 0;
|
|
||||||
CB_Slot.SelectedIndex = 0;
|
|
||||||
CB_Box.SelectedIndex = 0;
|
|
||||||
}
|
|
||||||
private bool loaddata()
|
|
||||||
{
|
|
||||||
if (CB_Source.SelectedIndex == 0)
|
|
||||||
{
|
|
||||||
if (tabdata != null)
|
|
||||||
{
|
|
||||||
byte[] pkx = tabdata;
|
|
||||||
newdata = new byte[232];
|
|
||||||
Array.Copy(PKX.encryptArray(pkx), newdata, 232);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (CB_Source.SelectedIndex == 1)
|
|
||||||
{
|
|
||||||
newdata = new byte[0xE8];
|
|
||||||
Array.Copy(Main.SAV.Data,
|
|
||||||
Main.SAV.Box // Box Offset
|
|
||||||
+ CB_Box.SelectedIndex*232*30 // Box Shift
|
|
||||||
+ CB_Slot.SelectedIndex * 232, // Slot Shift
|
|
||||||
newdata, 0, 0xE8);
|
|
||||||
|
|
||||||
if (!newdata.SequenceEqual(new byte[0xE8])) return true;
|
|
||||||
|
|
||||||
System.Media.SystemSounds.Exclamation.Play();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (CB_Source.SelectedIndex == 2)
|
|
||||||
{
|
|
||||||
// Wondercard
|
|
||||||
newdata = new byte[0x108];
|
|
||||||
// Wondercard #
|
|
||||||
int index = CB_Slot.SelectedIndex;
|
|
||||||
// copy from save, the chosen wondercard offset, to new data
|
|
||||||
Array.Copy(Main.SAV.Data, Main.SAV.WondercardData + index * 0x108, newdata, 0, 0x108);
|
|
||||||
byte[] zerodata = new byte[0x108];
|
|
||||||
if (!newdata.SequenceEqual(zerodata)) return true;
|
|
||||||
|
|
||||||
System.Media.SystemSounds.Exclamation.Play();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void B_Add_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Add the new code to the textbox.
|
|
||||||
if (!loaddata()) return;
|
|
||||||
uint writeoffset = Util.getHEXval(TB_Write.Text);
|
|
||||||
|
|
||||||
for (int i = 0; i < newdata.Length / 4; i++)
|
|
||||||
{
|
|
||||||
RTB_Code.AppendText((writeoffset + i * 4 + 0x20000000).ToString("X8") + " ");
|
|
||||||
RTB_Code.AppendText(BitConverter.ToUInt32(newdata,i*4).ToString("X8") + Environment.NewLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void B_Clear_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
RTB_Code.Clear();
|
|
||||||
}
|
|
||||||
private void B_Load_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
OpenFileDialog ofd = new OpenFileDialog {Filter = "Code File|*.bin"};
|
|
||||||
if (ofd.ShowDialog() != DialogResult.OK) return;
|
|
||||||
|
|
||||||
string path = ofd.FileName;
|
|
||||||
byte[] ncf = File.ReadAllBytes(path);
|
|
||||||
uint length = BitConverter.ToUInt32(ncf, 0);
|
|
||||||
|
|
||||||
if (ncf.Length != length + 4)
|
|
||||||
{
|
|
||||||
Util.Error("Not a valid code file.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (RTB_Code.Text.Length > 0)
|
|
||||||
{
|
|
||||||
DialogResult ld = Util.Prompt(MessageBoxButtons.YesNo, "Replace current code?");
|
|
||||||
if (ld == DialogResult.Yes)
|
|
||||||
RTB_Code.Clear();
|
|
||||||
else if (ld != DialogResult.No)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (int i = 4; i <= ncf.Length-12; i+=12)
|
|
||||||
{
|
|
||||||
RTB_Code.AppendText(BitConverter.ToUInt32(ncf, i + 0 * 4).ToString("X8") + " ");
|
|
||||||
RTB_Code.AppendText(BitConverter.ToUInt32(ncf, i + 1 * 4).ToString("X8") + " ");
|
|
||||||
RTB_Code.AppendText(BitConverter.ToUInt32(ncf, i + 2 * 4).ToString("X8") + Environment.NewLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void B_Save_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Gotta read in the textbox.
|
|
||||||
if (RTB_Code.Text.Length < 1) return;
|
|
||||||
|
|
||||||
byte[] ncf = new byte[4 + (RTB_Code.Lines.Length-1)*3*4];
|
|
||||||
BitConverter.GetBytes(ncf.Length - 4).CopyTo(ncf, 4);
|
|
||||||
|
|
||||||
for (int i = 0; i < RTB_Code.Lines.Length-1; i++)
|
|
||||||
{
|
|
||||||
string line = RTB_Code.Lines[i];
|
|
||||||
string[] rip = line.Split(new[] {" "}, StringSplitOptions.None);
|
|
||||||
|
|
||||||
// Write the 3 u32's to an array.
|
|
||||||
BitConverter.GetBytes(uint.Parse(rip[0], NumberStyles.HexNumber)).CopyTo(ncf,4+i*12+0);
|
|
||||||
BitConverter.GetBytes(uint.Parse(rip[1], NumberStyles.HexNumber)).CopyTo(ncf,4+i*12+4);
|
|
||||||
BitConverter.GetBytes(uint.Parse(rip[2], NumberStyles.HexNumber)).CopyTo(ncf,4+i*12+8);
|
|
||||||
}
|
|
||||||
|
|
||||||
SaveFileDialog sfd = new SaveFileDialog {FileName = "code.bin", Filter = "Code File|*.bin"};
|
|
||||||
if (sfd.ShowDialog() != DialogResult.OK) return;
|
|
||||||
|
|
||||||
string path = sfd.FileName;
|
|
||||||
if (File.Exists(path))
|
|
||||||
{
|
|
||||||
// File already exists, save a .bak
|
|
||||||
byte[] backupfile = File.ReadAllBytes(path);
|
|
||||||
File.WriteAllBytes(path + ".bak", backupfile);
|
|
||||||
}
|
|
||||||
File.WriteAllBytes(path, ncf);
|
|
||||||
}
|
|
||||||
private void B_Copy_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (RTB_Code.Text.Length > 0)
|
|
||||||
Clipboard.SetText(RTB_Code.Text);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
B_Diff.PerformClick();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Clipboard.SetText(RTB_Code.Text);
|
|
||||||
Util.Alert(
|
|
||||||
"Code generated and copied to clipboard!",
|
|
||||||
"Next time click [Create Diff] first.");
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Util.Alert(
|
|
||||||
"No code created!",
|
|
||||||
"Click [Create Diff], then make sure that data appears in the Text Box below. If no code appears, then you didn't save your changes.",
|
|
||||||
"Be sure to Set the Pokemon you edited back into a Box/Party slot!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void B_Diff_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
string result = "";
|
|
||||||
RTB_Code.Clear();
|
|
||||||
byte[] cybersav = Main.SAV.BAK;
|
|
||||||
byte[] newcyber = Main.SAV.Data;
|
|
||||||
|
|
||||||
int boxoffset = Main.SAV.Box;
|
|
||||||
|
|
||||||
int lines = 0; // 65400
|
|
||||||
for (int i = 0; i < newcyber.Length - 0x200; i += 4)
|
|
||||||
{
|
|
||||||
// Skip Party and Boxes
|
|
||||||
if (i == Main.SAV.Party) i += 260 * 6 + 4; // +4 to skip over party count
|
|
||||||
if (i == Main.SAV.Box) i += 232 * 30 * 31;
|
|
||||||
if (BitConverter.ToUInt32(cybersav, i) == BitConverter.ToUInt32(newcyber, i)) continue;
|
|
||||||
|
|
||||||
result += (0x20000000 + i).ToString("X8") + " ";
|
|
||||||
result += BitConverter.ToUInt32(newcyber, i).ToString("X8") + Environment.NewLine;
|
|
||||||
|
|
||||||
lines++;
|
|
||||||
if ((lines % 128 == 0) && CHK_Break.Checked)
|
|
||||||
{
|
|
||||||
result +=
|
|
||||||
Environment.NewLine +
|
|
||||||
"--- Segment " + (lines / 128 + 1) + " ---" +
|
|
||||||
Environment.NewLine + Environment.NewLine;
|
|
||||||
}
|
|
||||||
if (lines > 10000) goto toomany;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loop Through Party
|
|
||||||
for (int i = 0x14200; i < 0x14200 + 260 * 6; i+= 260)
|
|
||||||
{
|
|
||||||
byte[] bytes = new byte[260]; Array.Copy(newcyber, i, bytes, 0, 260);
|
|
||||||
byte[] olddata = new byte[260]; Array.Copy(cybersav, i, olddata, 0, 260);
|
|
||||||
if (bytes.SequenceEqual(olddata)) continue;
|
|
||||||
|
|
||||||
for (int z = 0; z < bytes.Length; z += 4)
|
|
||||||
{
|
|
||||||
result += (0x20000000 + i + z).ToString("X8") + " ";
|
|
||||||
result += BitConverter.ToUInt32(bytes, z).ToString("X8") + Environment.NewLine;
|
|
||||||
|
|
||||||
lines++;
|
|
||||||
if (lines % 128 == 0 && CHK_Break.Checked)
|
|
||||||
{
|
|
||||||
result +=
|
|
||||||
Environment.NewLine +
|
|
||||||
$"--- Segment {lines / 128 + 1} ---" +
|
|
||||||
Environment.NewLine + Environment.NewLine;
|
|
||||||
}
|
|
||||||
if (lines > 10000) goto toomany;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fix Party Count if Necessary
|
|
||||||
if (cybersav[0x14818] != newcyber[0x14818])
|
|
||||||
{
|
|
||||||
result += (0x00000000 + 0x14818).ToString("X8") + " ";
|
|
||||||
result += newcyber[0x14818].ToString("X8") + Environment.NewLine;
|
|
||||||
|
|
||||||
lines++;
|
|
||||||
if ((lines % 128 == 0) && CHK_Break.Checked)
|
|
||||||
{
|
|
||||||
result +=
|
|
||||||
Environment.NewLine +
|
|
||||||
$"--- Segment {lines / 128 + 1} ---" +
|
|
||||||
Environment.NewLine + Environment.NewLine;
|
|
||||||
}
|
|
||||||
if (lines > 10000) goto toomany;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loop Through Boxes
|
|
||||||
for (int i = boxoffset; i < boxoffset + 232 * 30 * 31; i += 232)
|
|
||||||
{
|
|
||||||
byte[] bytes = new byte[232]; Array.Copy(newcyber, i, bytes, 0, 232);
|
|
||||||
byte[] olddata = new byte[232]; Array.Copy(cybersav, i, olddata, 0, 232);
|
|
||||||
if (bytes.SequenceEqual(olddata)) continue;
|
|
||||||
|
|
||||||
for (int z = 0; z < bytes.Length; z += 4)
|
|
||||||
{
|
|
||||||
result += (0x20000000 + i + z).ToString("X8") + " ";
|
|
||||||
result += BitConverter.ToUInt32(bytes, z).ToString("X8") + Environment.NewLine;
|
|
||||||
|
|
||||||
lines++;
|
|
||||||
if ((lines % 128 == 0) && CHK_Break.Checked)
|
|
||||||
{
|
|
||||||
result +=
|
|
||||||
Environment.NewLine +
|
|
||||||
$"--- Segment {lines / 128 + 1} ---" +
|
|
||||||
Environment.NewLine + Environment.NewLine;
|
|
||||||
}
|
|
||||||
if (lines > 10000) goto toomany;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((lines / 128 > 0) && CHK_Break.Checked)
|
|
||||||
Util.Alert($"{1 + lines/128} Code Segments.", $"{lines} Lines.");
|
|
||||||
|
|
||||||
RTB_Code.Text = result;
|
|
||||||
return;
|
|
||||||
|
|
||||||
toomany:
|
|
||||||
Util.Alert("Too many differences detected.", "Export your save instead.");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Import
|
|
||||||
public byte[] returnArray { get; set; }
|
|
||||||
private void B_Paste_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
RTB_Code.Text = Clipboard.GetText();
|
|
||||||
}
|
|
||||||
private void B_Import_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Gotta read in the textbox.
|
|
||||||
if (RTB_Code.Text.Length < 1) return;
|
|
||||||
byte[] data = new byte[0];
|
|
||||||
// Get Actual Lines
|
|
||||||
foreach (string line in RTB_Code.Lines)
|
|
||||||
{
|
|
||||||
if (line.Length <= 0) continue;
|
|
||||||
|
|
||||||
if (line.Length <= 2 * 8 && line.Length > 2 * 8 + 2)
|
|
||||||
{ Util.Error("Invalid code pasted (Type)"); return; }
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// Grab Line Data
|
|
||||||
string[] rip = line.Split(new[] { " " }, StringSplitOptions.None);
|
|
||||||
Array.Resize(ref data, data.Length + 4);
|
|
||||||
BitConverter.GetBytes(uint.Parse(rip[1], NumberStyles.HexNumber)).CopyTo(data, data.Length - 4);
|
|
||||||
}
|
|
||||||
catch (Exception x)
|
|
||||||
{ Util.Error("Invalid code pasted (Content):", x.ToString()); return; }
|
|
||||||
}
|
|
||||||
// Go over the data
|
|
||||||
if ((data.Length == 232 - 4) || (data.Length == 260 - 4))
|
|
||||||
{
|
|
||||||
Array.Resize(ref data, data.Length + 4);
|
|
||||||
Array.Copy(data, 0, data, 4, data.Length);
|
|
||||||
data[0] = data[1] = data[2] = data[3] = 0;
|
|
||||||
}
|
|
||||||
if ((data.Length == 232) || (data.Length == 260))
|
|
||||||
{ returnArray = data; Close(); }
|
|
||||||
else { Util.Error("Invalid code pasted (Length)"); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,216 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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//////
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
|
@ -100,12 +100,6 @@
|
||||||
<Compile Include="Misc\About.Designer.cs">
|
<Compile Include="Misc\About.Designer.cs">
|
||||||
<DependentUpon>About.cs</DependentUpon>
|
<DependentUpon>About.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Misc\CodeGenerator.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Misc\CodeGenerator.Designer.cs">
|
|
||||||
<DependentUpon>CodeGenerator.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Misc\PKX.cs" />
|
<Compile Include="Misc\PKX.cs" />
|
||||||
<Compile Include="PKX\f1-Main.cs">
|
<Compile Include="PKX\f1-Main.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
|
@ -250,9 +244,6 @@
|
||||||
<EmbeddedResource Include="Misc\About.resx">
|
<EmbeddedResource Include="Misc\About.resx">
|
||||||
<DependentUpon>About.cs</DependentUpon>
|
<DependentUpon>About.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Misc\CodeGenerator.resx">
|
|
||||||
<DependentUpon>CodeGenerator.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<EmbeddedResource Include="PKX\f1-Main.resx">
|
<EmbeddedResource Include="PKX\f1-Main.resx">
|
||||||
<DependentUpon>f1-Main.cs</DependentUpon>
|
<DependentUpon>f1-Main.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|
10
PKX/f1-Main.Designer.cs
generated
10
PKX/f1-Main.Designer.cs
generated
|
@ -231,7 +231,6 @@
|
||||||
this.Menu_ShowdownExportParty = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_ShowdownExportParty = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.Menu_ShowdownExportBattleBox = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_ShowdownExportBattleBox = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.Menu_CyberGadget = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_CyberGadget = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.Menu_CodeGenerator = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.Menu_OpenTemp = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_OpenTemp = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.Menu_OpenCache = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_OpenCache = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.Menu_Data = new System.Windows.Forms.ToolStripMenuItem();
|
this.Menu_Data = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -2848,20 +2847,12 @@
|
||||||
// Menu_CyberGadget
|
// Menu_CyberGadget
|
||||||
//
|
//
|
||||||
this.Menu_CyberGadget.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.Menu_CyberGadget.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.Menu_CodeGenerator,
|
|
||||||
this.Menu_OpenTemp,
|
this.Menu_OpenTemp,
|
||||||
this.Menu_OpenCache});
|
this.Menu_OpenCache});
|
||||||
this.Menu_CyberGadget.Name = "Menu_CyberGadget";
|
this.Menu_CyberGadget.Name = "Menu_CyberGadget";
|
||||||
this.Menu_CyberGadget.Size = new System.Drawing.Size(143, 22);
|
this.Menu_CyberGadget.Size = new System.Drawing.Size(143, 22);
|
||||||
this.Menu_CyberGadget.Text = "CyberGadget";
|
this.Menu_CyberGadget.Text = "CyberGadget";
|
||||||
//
|
//
|
||||||
// Menu_CodeGenerator
|
|
||||||
//
|
|
||||||
this.Menu_CodeGenerator.Name = "Menu_CodeGenerator";
|
|
||||||
this.Menu_CodeGenerator.Size = new System.Drawing.Size(175, 22);
|
|
||||||
this.Menu_CodeGenerator.Text = "Code Generator";
|
|
||||||
this.Menu_CodeGenerator.Click += new System.EventHandler(this.mainMenuCodeGen);
|
|
||||||
//
|
|
||||||
// Menu_OpenTemp
|
// Menu_OpenTemp
|
||||||
//
|
//
|
||||||
this.Menu_OpenTemp.Name = "Menu_OpenTemp";
|
this.Menu_OpenTemp.Name = "Menu_OpenTemp";
|
||||||
|
@ -4844,7 +4835,6 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_ShowdownExportParty;
|
private System.Windows.Forms.ToolStripMenuItem Menu_ShowdownExportParty;
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_ShowdownExportBattleBox;
|
private System.Windows.Forms.ToolStripMenuItem Menu_ShowdownExportBattleBox;
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_CyberGadget;
|
private System.Windows.Forms.ToolStripMenuItem Menu_CyberGadget;
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_CodeGenerator;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_OpenTemp;
|
private System.Windows.Forms.ToolStripMenuItem Menu_OpenTemp;
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_OpenCache;
|
private System.Windows.Forms.ToolStripMenuItem Menu_OpenCache;
|
||||||
private System.Windows.Forms.ToolStripMenuItem Menu_Data;
|
private System.Windows.Forms.ToolStripMenuItem Menu_Data;
|
||||||
|
|
|
@ -290,24 +290,6 @@ namespace PKHeX
|
||||||
new About().ShowDialog();
|
new About().ShowDialog();
|
||||||
}
|
}
|
||||||
// Sub Menu Options
|
// Sub Menu Options
|
||||||
private void mainMenuCodeGen(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
// Open Code Generator
|
|
||||||
CodeGenerator CodeGen = new CodeGenerator(verifiedPKX() ? preparepkx().Data : null);
|
|
||||||
CodeGen.ShowDialog();
|
|
||||||
|
|
||||||
byte[] data = CodeGen.returnArray;
|
|
||||||
if (data == null) return;
|
|
||||||
byte[] decdata = PKX.decryptArray(data);
|
|
||||||
Array.Copy(decdata, pk6.Data, PK6.SIZE_STORED);
|
|
||||||
try { populateFields(pk6); }
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Array.Copy(new byte[PK6.SIZE_STORED], pk6.Data, PK6.SIZE_STORED);
|
|
||||||
populateFields(pk6);
|
|
||||||
Util.Error("Imported code did not decrypt properly", "Please verify that what you imported was correct.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void mainMenuBoxReport(object sender, EventArgs e)
|
private void mainMenuBoxReport(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var z = Application.OpenForms.Cast<Form>().FirstOrDefault(form => form.GetType() == typeof(frmReport)) as frmReport;
|
var z = Application.OpenForms.Cast<Form>().FirstOrDefault(form => form.GetType() == typeof(frmReport)) as frmReport;
|
||||||
|
@ -794,7 +776,6 @@ namespace PKHeX
|
||||||
// Enable Secondary Tools
|
// Enable Secondary Tools
|
||||||
GB_SAVtools.Enabled = B_JPEG.Enabled = true;
|
GB_SAVtools.Enabled = B_JPEG.Enabled = true;
|
||||||
Menu_ExportSAV.Enabled = B_VerifyCHK.Enabled = SAV.Exportable;
|
Menu_ExportSAV.Enabled = B_VerifyCHK.Enabled = SAV.Exportable;
|
||||||
Menu_CodeGenerator.Enabled = !SAV.ORASDEMO && SAV.Exportable;
|
|
||||||
|
|
||||||
setBoxNames(); // Display the Box Names
|
setBoxNames(); // Display the Box Names
|
||||||
setPKXBoxes(); // Reload all of the PKX Windows
|
setPKXBoxes(); // Reload all of the PKX Windows
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Code Generator
|
|
||||||
Menu_OpenTemp = Open Temp Folder
|
Menu_OpenTemp = Open Temp Folder
|
||||||
Menu_OpenCache = Open Cache Folder
|
Menu_OpenCache = Open Cache Folder
|
||||||
Menu_Data = Data
|
Menu_Data = Data
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Code Generator
|
|
||||||
Menu_OpenTemp = Open Temp Folder
|
Menu_OpenTemp = Open Temp Folder
|
||||||
Menu_OpenCache = Open Cache Folder
|
Menu_OpenCache = Open Cache Folder
|
||||||
Menu_Data = Data
|
Menu_Data = Data
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Generador de codigos
|
|
||||||
Menu_OpenTemp = Abrir carpeta Temp
|
Menu_OpenTemp = Abrir carpeta Temp
|
||||||
Menu_OpenCache = Abrir carpeta Cache
|
Menu_OpenCache = Abrir carpeta Cache
|
||||||
Menu_Data = Data
|
Menu_Data = Data
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Générateur Code
|
|
||||||
Menu_OpenTemp = Ouvrir le dossier Temp
|
Menu_OpenTemp = Ouvrir le dossier Temp
|
||||||
Menu_OpenCache = Ouvrir le dossier Cache
|
Menu_OpenCache = Ouvrir le dossier Cache
|
||||||
Menu_Data = Données
|
Menu_Data = Données
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Code Generator
|
|
||||||
Menu_OpenTemp = Open Temp Folder
|
Menu_OpenTemp = Open Temp Folder
|
||||||
Menu_OpenCache = Open Cache Folder
|
Menu_OpenCache = Open Cache Folder
|
||||||
Menu_Data = Data
|
Menu_Data = Data
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = コード生成
|
|
||||||
Menu_OpenTemp = オープンTempフォルダ
|
Menu_OpenTemp = オープンTempフォルダ
|
||||||
Menu_OpenCache = オープンCacheフォルダ
|
Menu_OpenCache = オープンCacheフォルダ
|
||||||
Menu_Data = データ
|
Menu_Data = データ
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = 코드 생성기
|
|
||||||
Menu_OpenTemp = 열기 Temp 폴더
|
Menu_OpenTemp = 열기 Temp 폴더
|
||||||
Menu_OpenCache = 열기 Cache 폴더
|
Menu_OpenCache = 열기 Cache 폴더
|
||||||
Menu_Data = 데이터
|
Menu_Data = 데이터
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = Export Set to Clipboard
|
||||||
Menu_ShowdownExportParty = Export Party to Clipboard
|
Menu_ShowdownExportParty = Export Party to Clipboard
|
||||||
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
Menu_ShowdownExportBattleBox = Export Battle Box to Clipboard
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = Gerador de Código
|
|
||||||
Menu_OpenTemp = Abrir pasta Temp
|
Menu_OpenTemp = Abrir pasta Temp
|
||||||
Menu_OpenCache = Abrir pasta Cache
|
Menu_OpenCache = Abrir pasta Cache
|
||||||
Menu_Data = Dados
|
Menu_Data = Dados
|
||||||
|
|
|
@ -31,7 +31,6 @@ Menu_ShowdownExportPK6 = 导出设置到剪贴板
|
||||||
Menu_ShowdownExportParty = 导出手持队伍到剪贴板
|
Menu_ShowdownExportParty = 导出手持队伍到剪贴板
|
||||||
Menu_ShowdownExportBattleBox = 导出战斗箱到剪贴板
|
Menu_ShowdownExportBattleBox = 导出战斗箱到剪贴板
|
||||||
Menu_CyberGadget = CyberGadget
|
Menu_CyberGadget = CyberGadget
|
||||||
Menu_CodeGenerator = 生成代码
|
|
||||||
Menu_OpenTemp = 打开文件夹Temp
|
Menu_OpenTemp = 打开文件夹Temp
|
||||||
Menu_OpenCache = 打开文件夹Cache
|
Menu_OpenCache = 打开文件夹Cache
|
||||||
Menu_Data = 数据
|
Menu_Data = 数据
|
||||||
|
|
Loading…
Reference in a new issue