Add Pokémon Link I/O

Thanks @suloku !

Resolves #137

Added recalculation for data's internal checksum.
This commit is contained in:
Kaphotics 2016-07-26 20:18:48 -07:00
parent d56a55965d
commit 282030b1e7
10 changed files with 1356 additions and 778 deletions

View file

@ -181,8 +181,8 @@
this.Tab_OTMisc = new System.Windows.Forms.TabPage();
this.FLP_PKMEditors = new System.Windows.Forms.FlowLayoutPanel();
this.BTN_Ribbons = new System.Windows.Forms.Button();
this.BTN_History = new System.Windows.Forms.Button();
this.BTN_Medals = new System.Windows.Forms.Button();
this.BTN_History = new System.Windows.Forms.Button();
this.TB_EC = new System.Windows.Forms.TextBox();
this.GB_nOT = new System.Windows.Forms.GroupBox();
this.Label_CTGender = new System.Windows.Forms.Label();
@ -355,6 +355,7 @@
this.B_OpenBerryField = new System.Windows.Forms.Button();
this.B_OpenSecretBase = new System.Windows.Forms.Button();
this.B_Pokeblocks = new System.Windows.Forms.Button();
this.B_LinkInfo = new System.Windows.Forms.Button();
this.dragout = new System.Windows.Forms.PictureBox();
this.mnuL = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuLLegality = new System.Windows.Forms.ToolStripMenuItem();
@ -2289,22 +2290,6 @@
this.BTN_Ribbons.UseVisualStyleBackColor = true;
this.BTN_Ribbons.Click += new System.EventHandler(this.openRibbons);
//
// BTN_History
//
this.BTN_History.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.BTN_History.AutoSize = true;
this.BTN_History.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BTN_History.Location = new System.Drawing.Point(112, 1);
this.BTN_History.Margin = new System.Windows.Forms.Padding(1);
this.BTN_History.Name = "BTN_History";
this.BTN_History.Size = new System.Drawing.Size(62, 23);
this.BTN_History.TabIndex = 6;
this.BTN_History.Text = "Memories";
this.BTN_History.UseVisualStyleBackColor = true;
this.BTN_History.Click += new System.EventHandler(this.openHistory);
//
// BTN_Medals
//
this.BTN_Medals.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -2321,6 +2306,22 @@
this.BTN_Medals.UseVisualStyleBackColor = true;
this.BTN_Medals.Click += new System.EventHandler(this.openMedals);
//
// BTN_History
//
this.BTN_History.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.BTN_History.AutoSize = true;
this.BTN_History.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BTN_History.Location = new System.Drawing.Point(112, 1);
this.BTN_History.Margin = new System.Windows.Forms.Padding(1);
this.BTN_History.Name = "BTN_History";
this.BTN_History.Size = new System.Drawing.Size(62, 23);
this.BTN_History.TabIndex = 6;
this.BTN_History.Text = "Memories";
this.BTN_History.UseVisualStyleBackColor = true;
this.BTN_History.Click += new System.EventHandler(this.openHistory);
//
// TB_EC
//
this.TB_EC.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@ -4187,6 +4188,7 @@
this.FLP_SAVtools.Controls.Add(this.B_OpenBerryField);
this.FLP_SAVtools.Controls.Add(this.B_OpenSecretBase);
this.FLP_SAVtools.Controls.Add(this.B_Pokeblocks);
this.FLP_SAVtools.Controls.Add(this.B_LinkInfo);
this.FLP_SAVtools.Location = new System.Drawing.Point(6, 10);
this.FLP_SAVtools.Name = "FLP_SAVtools";
this.FLP_SAVtools.Size = new System.Drawing.Size(297, 87);
@ -4335,6 +4337,16 @@
this.B_Pokeblocks.Visible = false;
this.B_Pokeblocks.Click += new System.EventHandler(this.B_OpenPokeblocks_Click);
//
// B_LinkInfo
//
this.B_LinkInfo.Location = new System.Drawing.Point(189, 119);
this.B_LinkInfo.Name = "B_LinkInfo";
this.B_LinkInfo.Size = new System.Drawing.Size(87, 23);
this.B_LinkInfo.TabIndex = 23;
this.B_LinkInfo.Text = "Link Data";
this.B_LinkInfo.UseVisualStyleBackColor = true;
this.B_LinkInfo.Click += new System.EventHandler(this.B_LinkInfo_Click);
//
// dragout
//
this.dragout.BackColor = System.Drawing.Color.Transparent;
@ -4870,6 +4882,7 @@
private System.Windows.Forms.ToolStripMenuItem Menu_BatchEditor;
private System.Windows.Forms.Button BTN_Medals;
private System.Windows.Forms.FlowLayoutPanel FLP_PKMEditors;
private System.Windows.Forms.Button B_LinkInfo;
}
}

View file

@ -738,6 +738,7 @@ namespace PKHeX
B_Pokeblocks.Visible = SAV.HasPokeBlock;
B_JPEG.Visible = SAV.HasJPEG;
B_OpenEventFlags.Visible = SAV.HasEvents;
B_LinkInfo.Visible = SAV.HasLink;
// Generational Interface
byte[] extraBytes = new byte[1];
@ -3175,6 +3176,10 @@ namespace PKHeX
{
new SAV_SecretBase().ShowDialog();
}
private void B_LinkInfo_Click(object sender, EventArgs e)
{
new SAV_Link6().ShowDialog();
}
private void B_JPEG_Click(object sender, EventArgs e)
{
byte[] jpeg = SAV.JPEGData;

View file

@ -237,408 +237,6 @@
<metadata name="Label_IsShiny.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_Shinytize.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_PID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_AbilityNumber.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MT_Level.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DEV_Ability.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_AsEgg.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_Fateful.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_EggConditions.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EncounterType.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_MetDate.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_MetLevel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Ball.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_MetLocation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_OriginGame.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_GameOrigin.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_MetLocation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Ball.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_MetLevel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CAL_MetDate.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_EncounterType.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_SPE.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_SPD.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_SPA.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_DEF.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_ATK.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Stat_HP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_HPType.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_HackedStats.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_CharacteristicPrefix.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Potential.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_IVTotal.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Characteristic.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Sheen.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Tough.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Smart.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Cute.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Beauty.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Cool.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPEIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPDIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPAIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_DEFIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_ATKIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_HPIV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_ATKEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_DEFEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPEEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPDEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SPAEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_HPEV.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Sheen.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Tough.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Smart.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Cute.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Beauty.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Cool.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_ContestStats.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_RandomEVs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_RandomIVs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_HiddenPowerPrefix.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Stats.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EVs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_IVs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Total.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_SPE.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_SPD.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_SPA.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_DEF.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_ATK.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_HP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_EVTotal.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnMove4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnMove3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnMove2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnMove1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_RelearnMoves.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_CurrentMoves.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_EC.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_CTGender.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_OTt2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_PrevOT.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_RerollEC.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_MarkPentagon.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_MarkCured.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_MarkShiny.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_ExtraByte.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_ExtraBytes.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_OTGender.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_OT.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_SID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_TID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_OT.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_SID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_TID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EncryptionConstant.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Language.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MT_Form.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Ability.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_PID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_Nicknamed.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Gender.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Form.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_Cured.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_Infected.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_HeldItem.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_HeldItem.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Friendship.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Level.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_EXP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_RerollPID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_3DSReg.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_SubRegion.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Country.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PKRSDays.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PKRSStrain.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Nature.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_3DSRegion.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_SubRegion.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Country.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_PKRSdays.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_PKRS.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CHK_IsEgg.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Language.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Form.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Ability.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Friendship.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Nature.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_CurLevel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Nickname.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Species.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EXP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_Species.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_HatchCounter.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_IsShiny.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="Label_IsShiny.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@ -692,18 +290,6 @@
<metadata name="Label_EggLocation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_EggLocation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CAL_EggDate.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EggDate.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EggLocation.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EncounterType.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -967,30 +553,6 @@
<metadata name="PB_WarnRelearn4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnRelearn3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnRelearn2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnRelearn1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_RelearnMove4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_RelearnMove3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_RelearnMove2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_RelearnMove1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_WarnRelearn4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PB_WarnRelearn4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1
@ -1113,46 +675,7 @@
<metadata name="CB_Move1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_PP4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_PP3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_PP2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_PP1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_CurPP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_PPups.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PPu4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PPu3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PPu2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Move4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_PPu1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Move3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Move2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_Move1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="TB_EC.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_CTGender.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -1164,6 +687,9 @@
<metadata name="Label_PrevOT.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BTN_RerollEC.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PB_Mark6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@ -1342,6 +868,9 @@
<metadata name="Label_TID.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Label_EncryptionConstant.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@ -1357,108 +886,6 @@
<metadata name="PAN_Box.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_BoxRight.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_BoxLeft.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CB_BoxSelect.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PAN_Box.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx29.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx28.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx27.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx26.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx25.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx24.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx23.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx22.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx21.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx20.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx19.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx18.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx17.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx16.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx15.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx14.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx13.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx12.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx11.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx10.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx9.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx8.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx7.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bpkx30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1564,42 +991,6 @@
<metadata name="PAN_BattleBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_ReadOnlyPBB.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_BattleBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Party.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PAN_Party.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PAN_BattleBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PB_Locked.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bbpkx6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PAN_BattleBox.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAG8AAACgCAYAAAACezIBAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@ -1713,24 +1104,6 @@
<metadata name="PAN_Party.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ppkx6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PAN_Party.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAG8AAACgCAYAAAACezIBAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@ -1801,54 +1174,6 @@
<metadata name="GB_Daycare.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_GTS.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_Fused.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_ReadOnlyOther.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_SUBE.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_Daycare.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_XP2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_XP1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Daycare2XP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Daycare1XP.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_DC2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_DC1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_DaycareSeed.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_RNGSeed.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dcpkx2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dcpkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DayCare_HasEgg.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_XP2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1888,18 +1213,12 @@
<metadata name="gtspkx.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="gtspkx.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GB_Fused.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="fusedpkx.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="fusedpkx.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_ReadOnlyOther.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1909,36 +1228,6 @@
<metadata name="subepkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="subepkx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Secure2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Secure2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Secure1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_Secure1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_JPEG.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_GameSync.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="TB_GameSync.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_SaveBoxBin.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_VerifyCHK.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="L_Secure2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1972,9 +1261,6 @@
<metadata name="FLP_SAVtools.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FLP_SAVtools.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenPokepuffs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -2017,46 +1303,7 @@
<metadata name="B_Pokeblocks.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenPokepuffs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenItemPouch.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenTrainerInfo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OUTPasserby.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenBoxLayout.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenWondercards.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenSuperTraining.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenHallofFame.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenOPowers.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenEventFlags.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenPokedex.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenBerryField.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_OpenSecretBase.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="B_Pokeblocks.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="B_LinkInfo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dragout.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

333
MysteryGifts/PL6.cs Normal file
View file

@ -0,0 +1,333 @@
using System;
using System.Linq;
using System.Text;
namespace PKHeX
{
public class PL6 //: PokemonLink
{
internal const int Size = 0xA47;
internal const string Filter = "Pokémon Link Data|*.bin|All Files (*.*)|*.*";
internal const string Extension = ".bin";
public byte[] Data;
public PL6(byte[] data = null)
{
Data = (byte[])(data?.Clone() ?? new byte[Size]);
}
// Pokémon Link Flag
public byte PL_Flag {
get { return Data[0x00]; }
set { Data[0x00] = value; } }
public bool PL_enabled { get { return PL_Flag != 0; } set { PL_Flag = (byte)(value ? 1 << 7 : 0); } }
//Name of data source
public string Origin_app {
get { return Util.TrimFromZero(Encoding.Unicode.GetString(Data, 0x01, 0x6E)); }
set { Encoding.Unicode.GetBytes(value.PadRight(54 + 1, '\0')).CopyTo(Data, 0x01); } }
//Pokemon transfer flags?
public uint PKM1_flags {
get { return BitConverter.ToUInt32(Data, 0x99); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x99); } }
public uint PKM2_flags {
get { return BitConverter.ToUInt32(Data, 0x141); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x141); } }
public uint PKM3_flags {
get { return BitConverter.ToUInt32(Data, 0x1E9); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x1E9); } }
public uint PKM4_flags {
get { return BitConverter.ToUInt32(Data, 0x291); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x291); } }
public uint PKM5_flags {
get { return BitConverter.ToUInt32(Data, 0x339); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x339); } }
public uint PKM6_flags {
get { return BitConverter.ToUInt32(Data, 0x3E1); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x3E1); } }
public uint[] Flags
{
get { return new[] {PKM1_flags, PKM2_flags, PKM3_flags, PKM4_flags, PKM5_flags, PKM6_flags}; }
set
{
if (value.Length > 0) PKM1_flags = value[0];
if (value.Length > 1) PKM2_flags = value[1];
if (value.Length > 2) PKM3_flags = value[2];
if (value.Length > 3) PKM4_flags = value[3];
if (value.Length > 4) PKM5_flags = value[4];
if (value.Length > 5) PKM6_flags = value[5];
}
}
//Pokémon
public PL6_PKM poke1 {
get { return new PL6_PKM(Data.Skip(0x9D).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x9D); } }
public PL6_PKM poke2 {
get { return new PL6_PKM(Data.Skip(0x145).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x145); } }
public PL6_PKM poke3 {
get { return new PL6_PKM(Data.Skip(0x1ED).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x1ED); } }
public PL6_PKM poke4 {
get { return new PL6_PKM(Data.Skip(0x295).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x295); } }
public PL6_PKM poke5 {
get { return new PL6_PKM(Data.Skip(0x33D).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x33D); } }
public PL6_PKM poke6 {
get { return new PL6_PKM(Data.Skip(0x3E5).Take(PL6_PKM.Size).ToArray()); }
set { value.Data.CopyTo(Data, 0x3E5); } }
public PL6_PKM[] Pokes
{
get { return new[] {poke1, poke2, poke3, poke4, poke5, poke6}; }
set
{
if (value.Length > 0) poke1 = value[0];
if (value.Length > 1) poke2 = value[1];
if (value.Length > 2) poke3 = value[2];
if (value.Length > 3) poke4 = value[3];
if (value.Length > 4) poke5 = value[4];
if (value.Length > 5) poke6 = value[5];
}
}
// Item Properties
public int Item_1 {
get { return BitConverter.ToUInt16(Data, 0x489); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x489); } }
public int Quantity_1 {
get { return BitConverter.ToUInt16(Data, 0x48B); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x48B); } }
public int Item_2 {
get { return BitConverter.ToUInt16(Data, 0x48D); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x48D); } }
public int Quantity_2 {
get { return BitConverter.ToUInt16(Data, 0x48F); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x48F); } }
public int Item_3 {
get { return BitConverter.ToUInt16(Data, 0x491); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x491); } }
public int Quantity_3 {
get { return BitConverter.ToUInt16(Data, 0x493); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x493); } }
public int Item_4 {
get { return BitConverter.ToUInt16(Data, 0x495); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x495); } }
public int Quantity_4 {
get { return BitConverter.ToUInt16(Data, 0x497); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x497); } }
public int Item_5 {
get { return BitConverter.ToUInt16(Data, 0x499); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x499); } }
public int Quantity_5 {
get { return BitConverter.ToUInt16(Data, 0x49B); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x49B); } }
public int Item_6 {
get { return BitConverter.ToUInt16(Data, 0x49D); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x49D); } }
public int Quantity_6 {
get { return BitConverter.ToUInt16(Data, 0x49F); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x49F); } }
public int[] Items
{
get { return new[] {Item_1, Item_2, Item_3, Item_4, Item_5, Item_6}; }
set
{
if (value.Length > 0) Item_1 = value[0];
if (value.Length > 1) Item_2 = value[1];
if (value.Length > 2) Item_3 = value[2];
if (value.Length > 3) Item_4 = value[3];
if (value.Length > 4) Item_5 = value[4];
if (value.Length > 5) Item_6 = value[5];
}
}
public int[] Quantities
{
get { return new[] {Quantity_1, Quantity_2, Quantity_3, Quantity_4, Quantity_5, Quantity_6}; }
set
{
if (value.Length > 0) Quantity_1 = value[0];
if (value.Length > 1) Quantity_2 = value[1];
if (value.Length > 2) Quantity_3 = value[2];
if (value.Length > 3) Quantity_4 = value[3];
if (value.Length > 4) Quantity_5 = value[4];
if (value.Length > 5) Quantity_6 = value[5];
}
}
//Battle Points
public int BattlePoints {
get { return BitConverter.ToUInt16(Data, 0x4A1); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x4A1); } }
//PokéMiles
public int Pokemiles {
get { return BitConverter.ToUInt16(Data, 0x4A3); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x4A3); } }
}
public class PL6_PKM //: PokemonLink
{
internal const int Size = 0xA0;
public readonly byte[] Data;
public PL6_PKM(byte[] data = null)
{
Data = (byte[])(data?.Clone() ?? new byte[Size]);
}
public int TID {
get { return BitConverter.ToUInt16(Data, 0x00); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x00); } }
public int SID {
get { return BitConverter.ToUInt16(Data, 0x02); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x02); } }
public int OriginGame {
get { return Data[0x04]; }
set { Data[0x04] = (byte)value; } }
public uint EncryptionConstant {
get { return BitConverter.ToUInt32(Data, 0x08); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x08); } }
public int Pokéball {
get { return Data[0xE]; }
set { Data[0xE] = (byte)value; } }
public int HeldItem {
get { return BitConverter.ToUInt16(Data, 0x10); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x10); } }
public int Move1 {
get { return BitConverter.ToUInt16(Data, 0x12); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x12); } }
public int Move2 {
get { return BitConverter.ToUInt16(Data, 0x14); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x14); } }
public int Move3 {
get { return BitConverter.ToUInt16(Data, 0x16); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x16); } }
public int Move4 {
get { return BitConverter.ToUInt16(Data, 0x18); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x18); } }
public int Species {
get { return BitConverter.ToUInt16(Data, 0x1A); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x1A); } }
public int Form {
get { return Data[0x1C]; }
set { Data[0x1C] = (byte)value; } }
public int Language {
get { return Data[0x1D]; }
set { Data[0x1D] = (byte)value; } }
public string Nickname {
get { return Util.TrimFromZero(Encoding.Unicode.GetString(Data, 0x1E, 0x1A)); }
set { Encoding.Unicode.GetBytes(value.PadRight(12 + 1, '\0')).CopyTo(Data, 0x1E); } }
public int Nature {
get { return Data[0x38]; }
set { Data[0x38] = (byte)value; } }
public int Gender {
get { return Data[0x39]; }
set { Data[0x39] = (byte)value; } }
public int AbilityType {
get { return Data[0x3A]; }
set { Data[0x3A] = (byte)value; } }
public int PIDType {
get { return Data[0x3B]; }
set { Data[0x3B] = (byte)value; } }
public int EggLocation {
get { return BitConverter.ToUInt16(Data, 0x3C); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x3C); } }
public int MetLocation {
get { return BitConverter.ToUInt16(Data, 0x3E); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x3F); } }
public int MetLevel {
get { return Data[0x40]; }
set { Data[0x40] = (byte)value; } }
public int CNT_Cool { get { return Data[0x41]; } set { Data[0x41] = (byte)value; } }
public int CNT_Beauty { get { return Data[0x42]; } set { Data[0x42] = (byte)value; } }
public int CNT_Cute { get { return Data[0x43]; } set { Data[0x43] = (byte)value; } }
public int CNT_Smart { get { return Data[0x44]; } set { Data[0x44] = (byte)value; } }
public int CNT_Tough { get { return Data[0x45]; } set { Data[0x45] = (byte)value; } }
public int CNT_Sheen { get { return Data[0x46]; } set { Data[0x46] = (byte)value; } }
public int IV_HP { get { return Data[0x47]; } set { Data[0x47] = (byte)value; } }
public int IV_ATK { get { return Data[0x48]; } set { Data[0x48] = (byte)value; } }
public int IV_DEF { get { return Data[0x49]; } set { Data[0x49] = (byte)value; } }
public int IV_SPE { get { return Data[0x4A]; } set { Data[0x4A] = (byte)value; } }
public int IV_SPA { get { return Data[0x4B]; } set { Data[0x4B] = (byte)value; } }
public int IV_SPD { get { return Data[0x4C]; } set { Data[0x4C] = (byte)value; } }
public int OTGender { get { return Data[0x4D]; } set { Data[0x4D] = (byte)value; } }
public string OT {
get { return Util.TrimFromZero(Encoding.Unicode.GetString(Data, 0x4E, 0x1A)); }
set { Encoding.Unicode.GetBytes(value.PadRight(value.Length + 1, '\0')).CopyTo(Data, 0x4E); } }
public int Level { get { return Data[0x68]; } set { Data[0x68] = (byte)value; } }
public bool IsEgg { get { return Data[0x69] == 1; } set { Data[0x69] = (byte)(value ? 1 : 0); } }
public uint PID {
get { return BitConverter.ToUInt32(Data, 0x6C); }
set { BitConverter.GetBytes(value).CopyTo(Data, 0x6C); } }
public int RelearnMove1 {
get { return BitConverter.ToUInt16(Data, 0x70); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x70); } }
public int RelearnMove2 {
get { return BitConverter.ToUInt16(Data, 0x72); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x72); } }
public int RelearnMove3 {
get { return BitConverter.ToUInt16(Data, 0x74); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x74); } }
public int RelearnMove4 {
get { return BitConverter.ToUInt16(Data, 0x76); }
set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x76); } }
public int OT_Intensity { get { return Data[0x78]; } set { Data[0x78] = (byte)value; } }
public int OT_Memory { get { return Data[0x79]; } set { Data[0x79] = (byte)value; } }
public int OT_TextVar { get { return BitConverter.ToUInt16(Data, 0x7A); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x7A); } }
public int OT_Feeling { get { return Data[0x7C]; } set { Data[0x7C] = (byte)value; } }
private byte RIB0 { get { return Data[0x0C]; } set { Data[0x0C] = value; } }
public bool RIB0_0 { get { return (RIB0 & (1 << 0)) == 1 << 0; } set { RIB0 = (byte)(RIB0 & ~(1 << 0) | (value ? 1 << 0 : 0)); } } // Battle Champ Ribbon
public bool RIB0_1 { get { return (RIB0 & (1 << 1)) == 1 << 1; } set { RIB0 = (byte)(RIB0 & ~(1 << 1) | (value ? 1 << 1 : 0)); } } // Regional Champ Ribbon
public bool RIB0_2 { get { return (RIB0 & (1 << 2)) == 1 << 2; } set { RIB0 = (byte)(RIB0 & ~(1 << 2) | (value ? 1 << 2 : 0)); } } // National Champ Ribbon
public bool RIB0_3 { get { return (RIB0 & (1 << 3)) == 1 << 3; } set { RIB0 = (byte)(RIB0 & ~(1 << 3) | (value ? 1 << 3 : 0)); } } // Country Ribbon
public bool RIB0_4 { get { return (RIB0 & (1 << 4)) == 1 << 4; } set { RIB0 = (byte)(RIB0 & ~(1 << 4) | (value ? 1 << 4 : 0)); } } // National Ribbon
public bool RIB0_5 { get { return (RIB0 & (1 << 5)) == 1 << 5; } set { RIB0 = (byte)(RIB0 & ~(1 << 5) | (value ? 1 << 5 : 0)); } } // Earth Ribbon
public bool RIB0_6 { get { return (RIB0 & (1 << 6)) == 1 << 6; } set { RIB0 = (byte)(RIB0 & ~(1 << 6) | (value ? 1 << 6 : 0)); } } // World Ribbon
public bool RIB0_7 { get { return (RIB0 & (1 << 7)) == 1 << 7; } set { RIB0 = (byte)(RIB0 & ~(1 << 7) | (value ? 1 << 7 : 0)); } } // Event Ribbon
private byte RIB1 { get { return Data[0x0D]; } set { Data[0x0D] = value; } }
public bool RIB1_0 { get { return (RIB1 & (1 << 0)) == 1 << 0; } set { RIB1 = (byte)(RIB1 & ~(1 << 0) | (value ? 1 << 0 : 0)); } } // World Champ Ribbon
public bool RIB1_1 { get { return (RIB1 & (1 << 1)) == 1 << 1; } set { RIB1 = (byte)(RIB1 & ~(1 << 1) | (value ? 1 << 1 : 0)); } } // Birthday Ribbon
public bool RIB1_2 { get { return (RIB1 & (1 << 2)) == 1 << 2; } set { RIB1 = (byte)(RIB1 & ~(1 << 2) | (value ? 1 << 2 : 0)); } } // Special Ribbon
public bool RIB1_3 { get { return (RIB1 & (1 << 3)) == 1 << 3; } set { RIB1 = (byte)(RIB1 & ~(1 << 3) | (value ? 1 << 3 : 0)); } } // Souvenir Ribbon
public bool RIB1_4 { get { return (RIB1 & (1 << 4)) == 1 << 4; } set { RIB1 = (byte)(RIB1 & ~(1 << 4) | (value ? 1 << 4 : 0)); } } // Wishing Ribbon
public bool RIB1_5 { get { return (RIB1 & (1 << 5)) == 1 << 5; } set { RIB1 = (byte)(RIB1 & ~(1 << 5) | (value ? 1 << 5 : 0)); } } // Classic Ribbon
public bool RIB1_6 { get { return (RIB1 & (1 << 6)) == 1 << 6; } set { RIB1 = (byte)(RIB1 & ~(1 << 6) | (value ? 1 << 6 : 0)); } } // Premier Ribbon
public bool RIB1_7 { get { return (RIB1 & (1 << 7)) == 1 << 7; } set { RIB1 = (byte)(RIB1 & ~(1 << 7) | (value ? 1 << 7 : 0)); } } // Empty
public int[] Moves
{
get { return new[] {Move1, Move2, Move3, Move4}; }
set
{
if (value.Length > 0) Move1 = value[0];
if (value.Length > 1) Move2 = value[1];
if (value.Length > 2) Move3 = value[2];
if (value.Length > 3) Move4 = value[3];
}
}
public int[] RelearnMoves
{
get { return new[] { RelearnMove1, RelearnMove2, RelearnMove3, RelearnMove4 }; }
set
{
if (value.Length > 0) RelearnMove1 = value[0];
if (value.Length > 1) RelearnMove2 = value[1];
if (value.Length > 2) RelearnMove3 = value[2];
if (value.Length > 3) RelearnMove4 = value[3];
}
}
}
}

View file

@ -88,6 +88,7 @@
<SubType>Form</SubType>
</Compile>
<Compile Include="MysteryGifts\MysteryGift.cs" />
<Compile Include="MysteryGifts\PL6.cs" />
<Compile Include="PersonalInfo\PersonalInfo.cs" />
<Compile Include="PersonalInfo\PersonalInfoB2W2.cs" />
<Compile Include="PersonalInfo\PersonalInfoBW.cs" />
@ -171,6 +172,12 @@
</Compile>
<Compile Include="Saves\SaveObjects.cs" />
<Compile Include="Saves\SaveUtil.cs" />
<Compile Include="Subforms\Save Editors\Gen6\SAV_Link6.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Subforms\Save Editors\Gen6\SAV_Link6.Designer.cs">
<DependentUpon>SAV_Link6.cs</DependentUpon>
</Compile>
<Compile Include="Subforms\Save Editors\Gen6\SAV_PokeBlockORAS.cs">
<SubType>Form</SubType>
</Compile>
@ -316,6 +323,9 @@
<EmbeddedResource Include="Subforms\PKM Editors\MemoryAmie.resx">
<DependentUpon>MemoryAmie.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Subforms\Save Editors\Gen6\SAV_Link6.resx">
<DependentUpon>SAV_Link6.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Subforms\Save Editors\Gen6\SAV_PokeBlockORAS.resx">
<DependentUpon>SAV_PokeBlockORAS.cs</DependentUpon>
</EmbeddedResource>

View file

@ -201,6 +201,7 @@ namespace PKHeX
WondercardFlags = 0x1BC00;
SUBE = 0x1D890;
SuperTrain = 0x1F200;
LinkInfo = 0x1FE00;
Box = 0x22600;
JPEG = 0x57200;
@ -246,6 +247,7 @@ namespace PKHeX
SUBE = 0x1D890;
PSSStats = 0x1F400;
SuperTrain = 0x20200;
LinkInfo = 0x20E00;
Contest = 0x23600;
SecretBase = 0x23A00;
EonTicket = 0x319B8;
@ -285,6 +287,7 @@ namespace PKHeX
private int JPEG { get; set; } = int.MinValue;
private int ItemInfo { get; set; } = int.MinValue;
private int Daycare2 { get; set; } = int.MinValue;
private int LinkInfo { get; set; } = int.MinValue;
// Accessible as SAV6
public int TrainerCard { get; private set; } = 0x14000;
@ -822,6 +825,25 @@ namespace PKHeX
setWC6(new WC6(), i);
}
}
public byte[] LinkBlock
{
get
{
if (LinkInfo < 0)
return null;
return Data.Skip(LinkInfo).Take(0xC48).ToArray();
}
set
{
if (LinkInfo < 0)
return;
if (value.Length != 0xC48)
return;
value.CopyTo(Data, LinkInfo);
}
}
private WC6 getWC6(int index)
{
if (WondercardData < 0)

View file

@ -88,6 +88,7 @@ namespace PKHeX
public virtual bool HasGeolocation => false;
public bool HasPokeBlock => ORAS && !ORASDEMO;
public bool HasEvents => EventFlags != null;
public bool HasLink => ORAS && !ORASDEMO || XY;
// Counts
protected virtual int GiftCountMax { get; } = int.MinValue;

View file

@ -0,0 +1,621 @@
namespace PKHeX
{
partial class SAV_Link6
{
private System.Windows.Forms.TextBox TB_PKM1;
private System.Windows.Forms.TextBox TB_PKM2;
private System.Windows.Forms.TextBox TB_PKM3;
private System.Windows.Forms.Label L_PKM1;
private System.Windows.Forms.Label L_PKM2;
private System.Windows.Forms.Label L_PKM3;
private System.Windows.Forms.Label L_PKM6;
private System.Windows.Forms.Label L_PKM5;
private System.Windows.Forms.Label L_PKM4;
private System.Windows.Forms.TextBox TB_PKM6;
private System.Windows.Forms.TextBox TB_PKM5;
private System.Windows.Forms.TextBox TB_PKM4;
private System.Windows.Forms.Button B_Export;
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_Link6));
this.TB_PKM1 = new System.Windows.Forms.TextBox();
this.TB_PKM2 = new System.Windows.Forms.TextBox();
this.TB_PKM3 = new System.Windows.Forms.TextBox();
this.L_PKM1 = new System.Windows.Forms.Label();
this.L_PKM2 = new System.Windows.Forms.Label();
this.L_PKM3 = new System.Windows.Forms.Label();
this.L_PKM6 = new System.Windows.Forms.Label();
this.L_PKM5 = new System.Windows.Forms.Label();
this.L_PKM4 = new System.Windows.Forms.Label();
this.TB_PKM6 = new System.Windows.Forms.TextBox();
this.TB_PKM5 = new System.Windows.Forms.TextBox();
this.TB_PKM4 = new System.Windows.Forms.TextBox();
this.B_Export = new System.Windows.Forms.Button();
this.B_Import = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.TAB_Main = new System.Windows.Forms.TabPage();
this.CHK_LinkAvailable = new System.Windows.Forms.CheckBox();
this.RTB_LinkSource = new System.Windows.Forms.TextBox();
this.L_BP = new System.Windows.Forms.Label();
this.L_Pokemiles = new System.Windows.Forms.Label();
this.NUD_Pokemiles = new System.Windows.Forms.NumericUpDown();
this.NUD_BP = new System.Windows.Forms.NumericUpDown();
this.TAB_PKM = new System.Windows.Forms.TabPage();
this.TAB_Items = new System.Windows.Forms.TabPage();
this.CB_Item6 = new System.Windows.Forms.ComboBox();
this.NUD_Item6 = new System.Windows.Forms.NumericUpDown();
this.L_Item6 = new System.Windows.Forms.Label();
this.CB_Item5 = new System.Windows.Forms.ComboBox();
this.NUD_Item5 = new System.Windows.Forms.NumericUpDown();
this.L_Item5 = new System.Windows.Forms.Label();
this.CB_Item4 = new System.Windows.Forms.ComboBox();
this.NUD_Item4 = new System.Windows.Forms.NumericUpDown();
this.L_Item4 = new System.Windows.Forms.Label();
this.CB_Item3 = new System.Windows.Forms.ComboBox();
this.NUD_Item3 = new System.Windows.Forms.NumericUpDown();
this.L_Item3 = new System.Windows.Forms.Label();
this.CB_Item2 = new System.Windows.Forms.ComboBox();
this.NUD_Item2 = new System.Windows.Forms.NumericUpDown();
this.L_Item2 = new System.Windows.Forms.Label();
this.CB_Item1 = new System.Windows.Forms.ComboBox();
this.NUD_Item1 = new System.Windows.Forms.NumericUpDown();
this.L_Item1 = new System.Windows.Forms.Label();
this.B_Save = new System.Windows.Forms.Button();
this.B_Cancel = new System.Windows.Forms.Button();
this.tabControl1.SuspendLayout();
this.TAB_Main.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUD_Pokemiles)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_BP)).BeginInit();
this.TAB_PKM.SuspendLayout();
this.TAB_Items.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item1)).BeginInit();
this.SuspendLayout();
//
// TB_PKM1
//
this.TB_PKM1.Location = new System.Drawing.Point(49, 5);
this.TB_PKM1.Name = "TB_PKM1";
this.TB_PKM1.ReadOnly = true;
this.TB_PKM1.Size = new System.Drawing.Size(160, 20);
this.TB_PKM1.TabIndex = 117;
//
// TB_PKM2
//
this.TB_PKM2.Location = new System.Drawing.Point(49, 27);
this.TB_PKM2.Name = "TB_PKM2";
this.TB_PKM2.ReadOnly = true;
this.TB_PKM2.Size = new System.Drawing.Size(160, 20);
this.TB_PKM2.TabIndex = 118;
//
// TB_PKM3
//
this.TB_PKM3.Location = new System.Drawing.Point(49, 49);
this.TB_PKM3.Name = "TB_PKM3";
this.TB_PKM3.ReadOnly = true;
this.TB_PKM3.Size = new System.Drawing.Size(160, 20);
this.TB_PKM3.TabIndex = 119;
//
// L_PKM1
//
this.L_PKM1.Location = new System.Drawing.Point(6, 3);
this.L_PKM1.Name = "L_PKM1";
this.L_PKM1.Size = new System.Drawing.Size(37, 23);
this.L_PKM1.TabIndex = 123;
this.L_PKM1.Text = "#1:";
this.L_PKM1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_PKM2
//
this.L_PKM2.Location = new System.Drawing.Point(6, 25);
this.L_PKM2.Name = "L_PKM2";
this.L_PKM2.Size = new System.Drawing.Size(37, 23);
this.L_PKM2.TabIndex = 124;
this.L_PKM2.Text = "#2:";
this.L_PKM2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_PKM3
//
this.L_PKM3.Location = new System.Drawing.Point(6, 48);
this.L_PKM3.Name = "L_PKM3";
this.L_PKM3.Size = new System.Drawing.Size(37, 23);
this.L_PKM3.TabIndex = 126;
this.L_PKM3.Text = "#3:";
this.L_PKM3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_PKM6
//
this.L_PKM6.Location = new System.Drawing.Point(6, 114);
this.L_PKM6.Name = "L_PKM6";
this.L_PKM6.Size = new System.Drawing.Size(37, 23);
this.L_PKM6.TabIndex = 138;
this.L_PKM6.Text = "#6:";
this.L_PKM6.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_PKM5
//
this.L_PKM5.Location = new System.Drawing.Point(6, 91);
this.L_PKM5.Name = "L_PKM5";
this.L_PKM5.Size = new System.Drawing.Size(37, 23);
this.L_PKM5.TabIndex = 137;
this.L_PKM5.Text = "#5:";
this.L_PKM5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_PKM4
//
this.L_PKM4.Location = new System.Drawing.Point(6, 69);
this.L_PKM4.Name = "L_PKM4";
this.L_PKM4.Size = new System.Drawing.Size(37, 23);
this.L_PKM4.TabIndex = 136;
this.L_PKM4.Text = "#4:";
this.L_PKM4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// TB_PKM6
//
this.TB_PKM6.Location = new System.Drawing.Point(49, 115);
this.TB_PKM6.Name = "TB_PKM6";
this.TB_PKM6.ReadOnly = true;
this.TB_PKM6.Size = new System.Drawing.Size(160, 20);
this.TB_PKM6.TabIndex = 135;
//
// TB_PKM5
//
this.TB_PKM5.Location = new System.Drawing.Point(49, 93);
this.TB_PKM5.Name = "TB_PKM5";
this.TB_PKM5.ReadOnly = true;
this.TB_PKM5.Size = new System.Drawing.Size(160, 20);
this.TB_PKM5.TabIndex = 134;
//
// TB_PKM4
//
this.TB_PKM4.Location = new System.Drawing.Point(49, 71);
this.TB_PKM4.Name = "TB_PKM4";
this.TB_PKM4.ReadOnly = true;
this.TB_PKM4.Size = new System.Drawing.Size(160, 20);
this.TB_PKM4.TabIndex = 133;
//
// B_Export
//
this.B_Export.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.B_Export.Location = new System.Drawing.Point(163, 87);
this.B_Export.Name = "B_Export";
this.B_Export.Size = new System.Drawing.Size(80, 23);
this.B_Export.TabIndex = 4;
this.B_Export.Text = "Export";
this.B_Export.UseVisualStyleBackColor = true;
this.B_Export.Click += new System.EventHandler(this.B_Export_Click);
//
// B_Import
//
this.B_Import.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.B_Import.Location = new System.Drawing.Point(163, 64);
this.B_Import.Name = "B_Import";
this.B_Import.Size = new System.Drawing.Size(80, 23);
this.B_Import.TabIndex = 0;
this.B_Import.Text = "Import";
this.B_Import.UseVisualStyleBackColor = true;
this.B_Import.Click += new System.EventHandler(this.B_Import_Click);
//
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.TAB_Main);
this.tabControl1.Controls.Add(this.TAB_PKM);
this.tabControl1.Controls.Add(this.TAB_Items);
this.tabControl1.Location = new System.Drawing.Point(12, 12);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(307, 183);
this.tabControl1.TabIndex = 143;
//
// TAB_Main
//
this.TAB_Main.Controls.Add(this.CHK_LinkAvailable);
this.TAB_Main.Controls.Add(this.RTB_LinkSource);
this.TAB_Main.Controls.Add(this.L_BP);
this.TAB_Main.Controls.Add(this.L_Pokemiles);
this.TAB_Main.Controls.Add(this.NUD_Pokemiles);
this.TAB_Main.Controls.Add(this.B_Export);
this.TAB_Main.Controls.Add(this.B_Import);
this.TAB_Main.Controls.Add(this.NUD_BP);
this.TAB_Main.Location = new System.Drawing.Point(4, 22);
this.TAB_Main.Name = "TAB_Main";
this.TAB_Main.Padding = new System.Windows.Forms.Padding(3);
this.TAB_Main.Size = new System.Drawing.Size(299, 157);
this.TAB_Main.TabIndex = 0;
this.TAB_Main.Text = "Main";
this.TAB_Main.UseVisualStyleBackColor = true;
//
// CHK_LinkAvailable
//
this.CHK_LinkAvailable.Enabled = false;
this.CHK_LinkAvailable.Location = new System.Drawing.Point(9, 116);
this.CHK_LinkAvailable.Name = "CHK_LinkAvailable";
this.CHK_LinkAvailable.Size = new System.Drawing.Size(146, 21);
this.CHK_LinkAvailable.TabIndex = 149;
this.CHK_LinkAvailable.Text = "Pokémon Link Enabled";
this.CHK_LinkAvailable.UseVisualStyleBackColor = true;
//
// RTB_LinkSource
//
this.RTB_LinkSource.Enabled = false;
this.RTB_LinkSource.Location = new System.Drawing.Point(6, 6);
this.RTB_LinkSource.MaxLength = 54;
this.RTB_LinkSource.Multiline = true;
this.RTB_LinkSource.Name = "RTB_LinkSource";
this.RTB_LinkSource.Size = new System.Drawing.Size(237, 52);
this.RTB_LinkSource.TabIndex = 148;
//
// L_BP
//
this.L_BP.Location = new System.Drawing.Point(6, 61);
this.L_BP.Name = "L_BP";
this.L_BP.Size = new System.Drawing.Size(73, 23);
this.L_BP.TabIndex = 146;
this.L_BP.Text = "Battle Points:";
this.L_BP.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// L_Pokemiles
//
this.L_Pokemiles.Location = new System.Drawing.Point(16, 87);
this.L_Pokemiles.Name = "L_Pokemiles";
this.L_Pokemiles.Size = new System.Drawing.Size(63, 23);
this.L_Pokemiles.TabIndex = 147;
this.L_Pokemiles.Text = "PokéMiles:";
this.L_Pokemiles.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// NUD_Pokemiles
//
this.NUD_Pokemiles.Enabled = false;
this.NUD_Pokemiles.Location = new System.Drawing.Point(85, 90);
this.NUD_Pokemiles.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Pokemiles.Name = "NUD_Pokemiles";
this.NUD_Pokemiles.Size = new System.Drawing.Size(58, 20);
this.NUD_Pokemiles.TabIndex = 145;
//
// NUD_BP
//
this.NUD_BP.Enabled = false;
this.NUD_BP.Location = new System.Drawing.Point(85, 64);
this.NUD_BP.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_BP.Name = "NUD_BP";
this.NUD_BP.Size = new System.Drawing.Size(58, 20);
this.NUD_BP.TabIndex = 144;
//
// TAB_PKM
//
this.TAB_PKM.Controls.Add(this.TB_PKM1);
this.TAB_PKM.Controls.Add(this.TB_PKM2);
this.TAB_PKM.Controls.Add(this.L_PKM6);
this.TAB_PKM.Controls.Add(this.TB_PKM3);
this.TAB_PKM.Controls.Add(this.L_PKM5);
this.TAB_PKM.Controls.Add(this.L_PKM1);
this.TAB_PKM.Controls.Add(this.L_PKM4);
this.TAB_PKM.Controls.Add(this.L_PKM2);
this.TAB_PKM.Controls.Add(this.TB_PKM6);
this.TAB_PKM.Controls.Add(this.L_PKM3);
this.TAB_PKM.Controls.Add(this.TB_PKM5);
this.TAB_PKM.Controls.Add(this.TB_PKM4);
this.TAB_PKM.Location = new System.Drawing.Point(4, 22);
this.TAB_PKM.Name = "TAB_PKM";
this.TAB_PKM.Padding = new System.Windows.Forms.Padding(3);
this.TAB_PKM.Size = new System.Drawing.Size(299, 157);
this.TAB_PKM.TabIndex = 1;
this.TAB_PKM.Text = "Pokémon";
this.TAB_PKM.UseVisualStyleBackColor = true;
//
// TAB_Items
//
this.TAB_Items.Controls.Add(this.CB_Item6);
this.TAB_Items.Controls.Add(this.NUD_Item6);
this.TAB_Items.Controls.Add(this.L_Item6);
this.TAB_Items.Controls.Add(this.CB_Item5);
this.TAB_Items.Controls.Add(this.NUD_Item5);
this.TAB_Items.Controls.Add(this.L_Item5);
this.TAB_Items.Controls.Add(this.CB_Item4);
this.TAB_Items.Controls.Add(this.NUD_Item4);
this.TAB_Items.Controls.Add(this.L_Item4);
this.TAB_Items.Controls.Add(this.CB_Item3);
this.TAB_Items.Controls.Add(this.NUD_Item3);
this.TAB_Items.Controls.Add(this.L_Item3);
this.TAB_Items.Controls.Add(this.CB_Item2);
this.TAB_Items.Controls.Add(this.NUD_Item2);
this.TAB_Items.Controls.Add(this.L_Item2);
this.TAB_Items.Controls.Add(this.CB_Item1);
this.TAB_Items.Controls.Add(this.NUD_Item1);
this.TAB_Items.Controls.Add(this.L_Item1);
this.TAB_Items.Location = new System.Drawing.Point(4, 22);
this.TAB_Items.Name = "TAB_Items";
this.TAB_Items.Size = new System.Drawing.Size(299, 157);
this.TAB_Items.TabIndex = 2;
this.TAB_Items.Text = "Items";
this.TAB_Items.UseVisualStyleBackColor = true;
//
// CB_Item6
//
this.CB_Item6.Enabled = false;
this.CB_Item6.FormattingEnabled = true;
this.CB_Item6.Location = new System.Drawing.Point(69, 117);
this.CB_Item6.Name = "CB_Item6";
this.CB_Item6.Size = new System.Drawing.Size(139, 21);
this.CB_Item6.TabIndex = 133;
//
// NUD_Item6
//
this.NUD_Item6.Enabled = false;
this.NUD_Item6.Location = new System.Drawing.Point(214, 117);
this.NUD_Item6.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item6.Name = "NUD_Item6";
this.NUD_Item6.Size = new System.Drawing.Size(58, 20);
this.NUD_Item6.TabIndex = 131;
//
// L_Item6
//
this.L_Item6.Location = new System.Drawing.Point(3, 115);
this.L_Item6.Name = "L_Item6";
this.L_Item6.Size = new System.Drawing.Size(60, 23);
this.L_Item6.TabIndex = 132;
this.L_Item6.Text = "Item 6:";
this.L_Item6.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// CB_Item5
//
this.CB_Item5.Enabled = false;
this.CB_Item5.FormattingEnabled = true;
this.CB_Item5.Location = new System.Drawing.Point(69, 94);
this.CB_Item5.Name = "CB_Item5";
this.CB_Item5.Size = new System.Drawing.Size(139, 21);
this.CB_Item5.TabIndex = 130;
//
// NUD_Item5
//
this.NUD_Item5.Enabled = false;
this.NUD_Item5.Location = new System.Drawing.Point(214, 94);
this.NUD_Item5.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item5.Name = "NUD_Item5";
this.NUD_Item5.Size = new System.Drawing.Size(58, 20);
this.NUD_Item5.TabIndex = 128;
//
// L_Item5
//
this.L_Item5.Location = new System.Drawing.Point(3, 92);
this.L_Item5.Name = "L_Item5";
this.L_Item5.Size = new System.Drawing.Size(60, 23);
this.L_Item5.TabIndex = 129;
this.L_Item5.Text = "Item 5:";
this.L_Item5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// CB_Item4
//
this.CB_Item4.Enabled = false;
this.CB_Item4.FormattingEnabled = true;
this.CB_Item4.Location = new System.Drawing.Point(69, 71);
this.CB_Item4.Name = "CB_Item4";
this.CB_Item4.Size = new System.Drawing.Size(139, 21);
this.CB_Item4.TabIndex = 127;
//
// NUD_Item4
//
this.NUD_Item4.Enabled = false;
this.NUD_Item4.Location = new System.Drawing.Point(214, 71);
this.NUD_Item4.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item4.Name = "NUD_Item4";
this.NUD_Item4.Size = new System.Drawing.Size(58, 20);
this.NUD_Item4.TabIndex = 125;
//
// L_Item4
//
this.L_Item4.Location = new System.Drawing.Point(3, 69);
this.L_Item4.Name = "L_Item4";
this.L_Item4.Size = new System.Drawing.Size(60, 23);
this.L_Item4.TabIndex = 126;
this.L_Item4.Text = "Item 4:";
this.L_Item4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// CB_Item3
//
this.CB_Item3.Enabled = false;
this.CB_Item3.FormattingEnabled = true;
this.CB_Item3.Location = new System.Drawing.Point(69, 48);
this.CB_Item3.Name = "CB_Item3";
this.CB_Item3.Size = new System.Drawing.Size(139, 21);
this.CB_Item3.TabIndex = 124;
//
// NUD_Item3
//
this.NUD_Item3.Enabled = false;
this.NUD_Item3.Location = new System.Drawing.Point(214, 48);
this.NUD_Item3.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item3.Name = "NUD_Item3";
this.NUD_Item3.Size = new System.Drawing.Size(58, 20);
this.NUD_Item3.TabIndex = 122;
//
// L_Item3
//
this.L_Item3.Location = new System.Drawing.Point(3, 46);
this.L_Item3.Name = "L_Item3";
this.L_Item3.Size = new System.Drawing.Size(60, 23);
this.L_Item3.TabIndex = 123;
this.L_Item3.Text = "Item 3:";
this.L_Item3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// CB_Item2
//
this.CB_Item2.Enabled = false;
this.CB_Item2.FormattingEnabled = true;
this.CB_Item2.Location = new System.Drawing.Point(69, 25);
this.CB_Item2.Name = "CB_Item2";
this.CB_Item2.Size = new System.Drawing.Size(139, 21);
this.CB_Item2.TabIndex = 121;
//
// NUD_Item2
//
this.NUD_Item2.Enabled = false;
this.NUD_Item2.Location = new System.Drawing.Point(214, 25);
this.NUD_Item2.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item2.Name = "NUD_Item2";
this.NUD_Item2.Size = new System.Drawing.Size(58, 20);
this.NUD_Item2.TabIndex = 119;
//
// L_Item2
//
this.L_Item2.Location = new System.Drawing.Point(3, 23);
this.L_Item2.Name = "L_Item2";
this.L_Item2.Size = new System.Drawing.Size(60, 23);
this.L_Item2.TabIndex = 120;
this.L_Item2.Text = "Item 2:";
this.L_Item2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// CB_Item1
//
this.CB_Item1.Enabled = false;
this.CB_Item1.FormattingEnabled = true;
this.CB_Item1.Location = new System.Drawing.Point(69, 2);
this.CB_Item1.Name = "CB_Item1";
this.CB_Item1.Size = new System.Drawing.Size(139, 21);
this.CB_Item1.TabIndex = 118;
//
// NUD_Item1
//
this.NUD_Item1.Enabled = false;
this.NUD_Item1.Location = new System.Drawing.Point(214, 2);
this.NUD_Item1.Maximum = new decimal(new int[] {
65535,
0,
0,
0});
this.NUD_Item1.Name = "NUD_Item1";
this.NUD_Item1.Size = new System.Drawing.Size(58, 20);
this.NUD_Item1.TabIndex = 116;
//
// L_Item1
//
this.L_Item1.Location = new System.Drawing.Point(3, 0);
this.L_Item1.Name = "L_Item1";
this.L_Item1.Size = new System.Drawing.Size(60, 23);
this.L_Item1.TabIndex = 117;
this.L_Item1.Text = "Item 1:";
this.L_Item1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// B_Save
//
this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.B_Save.Location = new System.Drawing.Point(239, 201);
this.B_Save.Name = "B_Save";
this.B_Save.Size = new System.Drawing.Size(80, 23);
this.B_Save.TabIndex = 144;
this.B_Save.Text = "Save";
this.B_Save.UseVisualStyleBackColor = true;
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
//
// B_Cancel
//
this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.B_Cancel.Location = new System.Drawing.Point(153, 201);
this.B_Cancel.Name = "B_Cancel";
this.B_Cancel.Size = new System.Drawing.Size(80, 23);
this.B_Cancel.TabIndex = 145;
this.B_Cancel.Text = "Cancel";
this.B_Cancel.UseVisualStyleBackColor = true;
this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click);
//
// SAV_Link6
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(334, 236);
this.Controls.Add(this.B_Cancel);
this.Controls.Add(this.B_Save);
this.Controls.Add(this.tabControl1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimumSize = new System.Drawing.Size(350, 275);
this.Name = "SAV_Link6";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Pokemon Link Tool";
this.tabControl1.ResumeLayout(false);
this.TAB_Main.ResumeLayout(false);
this.TAB_Main.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.NUD_Pokemiles)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_BP)).EndInit();
this.TAB_PKM.ResumeLayout(false);
this.TAB_PKM.PerformLayout();
this.TAB_Items.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.NUD_Item6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NUD_Item1)).EndInit();
this.ResumeLayout(false);
}
private System.Windows.Forms.Button B_Import;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage TAB_Main;
private System.Windows.Forms.TabPage TAB_PKM;
private System.Windows.Forms.TabPage TAB_Items;
private System.Windows.Forms.Label L_Item1;
private System.Windows.Forms.NumericUpDown NUD_Item1;
private System.Windows.Forms.ComboBox CB_Item1;
private System.Windows.Forms.Label L_Item2;
private System.Windows.Forms.NumericUpDown NUD_Item2;
private System.Windows.Forms.ComboBox CB_Item2;
private System.Windows.Forms.Label L_Item3;
private System.Windows.Forms.NumericUpDown NUD_Item3;
private System.Windows.Forms.ComboBox CB_Item3;
private System.Windows.Forms.Label L_Item4;
private System.Windows.Forms.NumericUpDown NUD_Item4;
private System.Windows.Forms.ComboBox CB_Item4;
private System.Windows.Forms.Label L_Item5;
private System.Windows.Forms.NumericUpDown NUD_Item5;
private System.Windows.Forms.ComboBox CB_Item5;
private System.Windows.Forms.Label L_Item6;
private System.Windows.Forms.NumericUpDown NUD_Item6;
private System.Windows.Forms.ComboBox CB_Item6;
private System.Windows.Forms.Button B_Save;
private System.Windows.Forms.Button B_Cancel;
private System.Windows.Forms.NumericUpDown NUD_BP;
private System.Windows.Forms.NumericUpDown NUD_Pokemiles;
private System.Windows.Forms.Label L_Pokemiles;
private System.Windows.Forms.Label L_BP;
private System.Windows.Forms.TextBox RTB_LinkSource;
private System.Windows.Forms.CheckBox CHK_LinkAvailable;
}
}

View file

@ -0,0 +1,110 @@
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace PKHeX
{
public partial class SAV_Link6 : Form
{
public SAV_Link6()
{
InitializeComponent();
foreach (var cb in TAB_Items.Controls.OfType<ComboBox>())
{
cb.DisplayMember = "Text";
cb.ValueMember = "Value";
cb.DataSource = new BindingSource(Main.ItemDataSource.Where(item => item.Value <= SAV.MaxItemID).ToArray(), null);
}
Util.TranslateInterface(this, Main.curlanguage);
byte[] data = SAV.LinkBlock;
if (data == null)
{
Util.Alert("Invalid save file / Link Information");
Close();
}
data = data.Skip(0x1FF).Take(PL6.Size).ToArray();
loadLinkData(data);
}
private readonly SAV6 SAV = Main.SAV.Clone() as SAV6;
private PL6 LinkInfo;
private void B_Save_Click(object sender, EventArgs e)
{
byte[] data = new byte[SAV.LinkBlock.Length];
Array.Copy(LinkInfo.Data, 0, data, 0x1FF, LinkInfo.Data.Length);
// Fix Checksum just in case.
ushort ccitt = SaveUtil.ccitt16(data.Skip(0x200).Take(data.Length - 4 - 0x200).ToArray()); // [app,chk)
BitConverter.GetBytes(ccitt).CopyTo(data, data.Length - 4);
SAV.LinkBlock = data;
Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length);
Close();
}
private void B_Cancel_Click(object sender, EventArgs e)
{
Close();
}
private void B_Import_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog {Filter = PL6.Filter};
if (ofd.ShowDialog() != DialogResult.OK)
return;
if (new FileInfo(ofd.FileName).Length != PL6.Size)
{ Util.Alert("Invalid file length"); return; }
byte[] data = File.ReadAllBytes(ofd.FileName);
loadLinkData(data);
B_Export.Enabled = true;
}
private void B_Export_Click(object sender, EventArgs e)
{
if (LinkInfo.Data == null)
return;
SaveFileDialog sfd = new SaveFileDialog {Filter = PL6.Filter};
if (sfd.ShowDialog() != DialogResult.OK)
return;
File.WriteAllBytes(sfd.FileName, LinkInfo.Data);
Util.Alert("Pokémon Link data saved to:\r" + sfd.FileName + ".");
}
private void loadLinkData(byte[] data)
{
LinkInfo = new PL6(data);
RTB_LinkSource.Text = LinkInfo.Origin_app;
CHK_LinkAvailable.Checked = LinkInfo.PL_enabled;
NUD_BP.Value = LinkInfo.BattlePoints;
NUD_Pokemiles.Value = LinkInfo.Pokemiles;
CB_Item1.SelectedIndex = LinkInfo.Item_1;
CB_Item2.SelectedIndex = LinkInfo.Item_2;
CB_Item3.SelectedIndex = LinkInfo.Item_3;
CB_Item4.SelectedIndex = LinkInfo.Item_4;
CB_Item5.SelectedIndex = LinkInfo.Item_5;
CB_Item6.SelectedIndex = LinkInfo.Item_6;
NUD_Item1.Value = LinkInfo.Quantity_1;
NUD_Item2.Value = LinkInfo.Quantity_2;
NUD_Item3.Value = LinkInfo.Quantity_3;
NUD_Item4.Value = LinkInfo.Quantity_4;
NUD_Item5.Value = LinkInfo.Quantity_5;
NUD_Item6.Value = LinkInfo.Quantity_6;
// Pokemon slots
TB_PKM1.Text = Main.specieslist[LinkInfo.Pokes[0].Species];
TB_PKM2.Text = Main.specieslist[LinkInfo.Pokes[1].Species];
TB_PKM3.Text = Main.specieslist[LinkInfo.Pokes[2].Species];
TB_PKM4.Text = Main.specieslist[LinkInfo.Pokes[3].Species];
TB_PKM5.Text = Main.specieslist[LinkInfo.Pokes[4].Species];
TB_PKM6.Text = Main.specieslist[LinkInfo.Pokes[5].Species];
}
}
}

View file

@ -0,0 +1,216 @@
<?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>