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:
Kaphotics 2016-04-27 21:07:35 -07:00
parent dc43dea409
commit 397fb30df5
15 changed files with 0 additions and 917 deletions

View file

@ -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;
}
}

View file

@ -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)"); }
}
}
}

View file

@ -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
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//////
</value>
</data>
</root>

View file

@ -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>

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 = データ

View file

@ -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 = 데이터

View file

@ -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

View file

@ -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 = 数据