Add gen5 pokedex editor

Cloned and modified from XY's editor

might as well simplify the dex setting for gen5. / -> >>, % -> &
This commit is contained in:
Kurt 2017-03-05 17:34:30 -08:00
parent 8550253842
commit 5ecf01e481
6 changed files with 1287 additions and 24 deletions

View File

@ -3973,16 +3973,29 @@ private void B_OpenOPowers_Click(object sender, EventArgs e)
}
private void B_OpenPokedex_Click(object sender, EventArgs e)
{
if (SAV.ORAS)
new SAV_PokedexORAS().ShowDialog();
else if (SAV.XY)
new SAV_PokedexXY().ShowDialog();
else if (SAV.RBY || SAV.GSC)
new SAV_SimplePokedex().ShowDialog();
else if (SAV.RS || SAV.E || SAV.FRLG)
new SAV_SimplePokedex().ShowDialog();
else if (SAV.SM)
new SAV_PokedexSM().ShowDialog();
switch (SAV.Generation)
{
case 1:
case 2:
new SAV_SimplePokedex().ShowDialog(); break;
case 3:
if (SAV.GameCube)
return;
new SAV_SimplePokedex().ShowDialog(); break;
case 5:
new SAV_Pokedex5().ShowDialog();
break;
case 6:
if (SAV.ORAS)
new SAV_PokedexORAS().ShowDialog();
else if (SAV.XY)
new SAV_PokedexXY().ShowDialog();
break;
case 7:
if (SAV.SM)
new SAV_PokedexSM().ShowDialog();
break;
}
}
private void B_OUTPasserby_Click(object sender, EventArgs e)
{

View File

@ -259,6 +259,12 @@
<Compile Include="Subforms\Save Editors\Gen5\SAV_CGearSkin.Designer.cs">
<DependentUpon>SAV_CGearSkin.cs</DependentUpon>
</Compile>
<Compile Include="Subforms\Save Editors\Gen5\SAV_Pokedex5.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Subforms\Save Editors\Gen5\SAV_Pokedex5.Designer.cs">
<DependentUpon>SAV_Pokedex5.cs</DependentUpon>
</Compile>
<Compile Include="Subforms\Save Editors\Gen6\SAV_BerryFieldXY.cs">
<SubType>Form</SubType>
</Compile>
@ -474,6 +480,9 @@
<EmbeddedResource Include="Subforms\Save Editors\Gen5\SAV_CGearSkin.resx">
<DependentUpon>SAV_CGearSkin.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Subforms\Save Editors\Gen5\SAV_Pokedex5.resx">
<DependentUpon>SAV_Pokedex5.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Subforms\Save Editors\Gen6\SAV_BerryFieldXY.resx">
<DependentUpon>SAV_BerryFieldXY.cs</DependentUpon>
</EmbeddedResource>

View File

@ -0,0 +1,594 @@
namespace PKHeX.WinForms
{
partial class SAV_Pokedex5
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_Pokedex5));
this.B_Cancel = new System.Windows.Forms.Button();
this.LB_Species = new System.Windows.Forms.ListBox();
this.CHK_P1 = new System.Windows.Forms.CheckBox();
this.CHK_P2 = new System.Windows.Forms.CheckBox();
this.CHK_P3 = new System.Windows.Forms.CheckBox();
this.CHK_P4 = new System.Windows.Forms.CheckBox();
this.CHK_P5 = new System.Windows.Forms.CheckBox();
this.CHK_P6 = new System.Windows.Forms.CheckBox();
this.CHK_P7 = new System.Windows.Forms.CheckBox();
this.CHK_P8 = new System.Windows.Forms.CheckBox();
this.CHK_P9 = new System.Windows.Forms.CheckBox();
this.CHK_L7 = new System.Windows.Forms.CheckBox();
this.CHK_L6 = new System.Windows.Forms.CheckBox();
this.CHK_L5 = new System.Windows.Forms.CheckBox();
this.CHK_L4 = new System.Windows.Forms.CheckBox();
this.CHK_L3 = new System.Windows.Forms.CheckBox();
this.CHK_L2 = new System.Windows.Forms.CheckBox();
this.CHK_L1 = new System.Windows.Forms.CheckBox();
this.L_goto = new System.Windows.Forms.Label();
this.CB_Species = new System.Windows.Forms.ComboBox();
this.B_GiveAll = new System.Windows.Forms.Button();
this.B_Save = new System.Windows.Forms.Button();
this.B_Modify = new System.Windows.Forms.Button();
this.GB_Language = new System.Windows.Forms.GroupBox();
this.GB_Encountered = new System.Windows.Forms.GroupBox();
this.GB_Owned = new System.Windows.Forms.GroupBox();
this.GB_Displayed = new System.Windows.Forms.GroupBox();
this.modifyMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuSeenNone = new System.Windows.Forms.ToolStripMenuItem();
this.mnuSeenAll = new System.Windows.Forms.ToolStripMenuItem();
this.mnuCaughtNone = new System.Windows.Forms.ToolStripMenuItem();
this.mnuCaughtAll = new System.Windows.Forms.ToolStripMenuItem();
this.mnuComplete = new System.Windows.Forms.ToolStripMenuItem();
this.B_ModifyForms = new System.Windows.Forms.Button();
this.L_FormDisplayed = new System.Windows.Forms.Label();
this.CLB_FormDisplayed = new System.Windows.Forms.CheckedListBox();
this.L_FormsSeen = new System.Windows.Forms.Label();
this.CLB_FormsSeen = new System.Windows.Forms.CheckedListBox();
this.modifyMenuForms = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuFormNone = new System.Windows.Forms.ToolStripMenuItem();
this.mnuForm1 = new System.Windows.Forms.ToolStripMenuItem();
this.mnuFormAll = new System.Windows.Forms.ToolStripMenuItem();
this.GB_Language.SuspendLayout();
this.GB_Encountered.SuspendLayout();
this.GB_Owned.SuspendLayout();
this.GB_Displayed.SuspendLayout();
this.modifyMenu.SuspendLayout();
this.modifyMenuForms.SuspendLayout();
this.SuspendLayout();
//
// 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(461, 217);
this.B_Cancel.Name = "B_Cancel";
this.B_Cancel.Size = new System.Drawing.Size(80, 23);
this.B_Cancel.TabIndex = 0;
this.B_Cancel.Text = "Cancel";
this.B_Cancel.UseVisualStyleBackColor = true;
this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click);
//
// LB_Species
//
this.LB_Species.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.LB_Species.FormattingEnabled = true;
this.LB_Species.Location = new System.Drawing.Point(12, 40);
this.LB_Species.Name = "LB_Species";
this.LB_Species.Size = new System.Drawing.Size(130, 199);
this.LB_Species.TabIndex = 2;
this.LB_Species.SelectedIndexChanged += new System.EventHandler(this.changeLBSpecies);
//
// CHK_P1
//
this.CHK_P1.AutoSize = true;
this.CHK_P1.Location = new System.Drawing.Point(6, 14);
this.CHK_P1.Name = "CHK_P1";
this.CHK_P1.Size = new System.Drawing.Size(60, 17);
this.CHK_P1.TabIndex = 3;
this.CHK_P1.Text = "Owned";
this.CHK_P1.UseVisualStyleBackColor = true;
//
// CHK_P2
//
this.CHK_P2.AutoSize = true;
this.CHK_P2.Location = new System.Drawing.Point(6, 15);
this.CHK_P2.Name = "CHK_P2";
this.CHK_P2.Size = new System.Drawing.Size(49, 17);
this.CHK_P2.TabIndex = 4;
this.CHK_P2.Text = "Male";
this.CHK_P2.UseVisualStyleBackColor = true;
this.CHK_P2.Click += new System.EventHandler(this.changeEncountered);
//
// CHK_P3
//
this.CHK_P3.AutoSize = true;
this.CHK_P3.Location = new System.Drawing.Point(6, 29);
this.CHK_P3.Name = "CHK_P3";
this.CHK_P3.Size = new System.Drawing.Size(60, 17);
this.CHK_P3.TabIndex = 5;
this.CHK_P3.Text = "Female";
this.CHK_P3.UseVisualStyleBackColor = true;
this.CHK_P3.Click += new System.EventHandler(this.changeEncountered);
//
// CHK_P4
//
this.CHK_P4.AutoSize = true;
this.CHK_P4.Location = new System.Drawing.Point(6, 43);
this.CHK_P4.Name = "CHK_P4";
this.CHK_P4.Size = new System.Drawing.Size(78, 17);
this.CHK_P4.TabIndex = 6;
this.CHK_P4.Text = "Shiny Male";
this.CHK_P4.UseVisualStyleBackColor = true;
this.CHK_P4.Click += new System.EventHandler(this.changeEncountered);
//
// CHK_P5
//
this.CHK_P5.AutoSize = true;
this.CHK_P5.Location = new System.Drawing.Point(6, 57);
this.CHK_P5.Name = "CHK_P5";
this.CHK_P5.Size = new System.Drawing.Size(89, 17);
this.CHK_P5.TabIndex = 7;
this.CHK_P5.Text = "Shiny Female";
this.CHK_P5.UseVisualStyleBackColor = true;
this.CHK_P5.Click += new System.EventHandler(this.changeEncountered);
//
// CHK_P6
//
this.CHK_P6.AutoSize = true;
this.CHK_P6.Location = new System.Drawing.Point(5, 14);
this.CHK_P6.Name = "CHK_P6";
this.CHK_P6.Size = new System.Drawing.Size(49, 17);
this.CHK_P6.TabIndex = 8;
this.CHK_P6.Text = "Male";
this.CHK_P6.UseVisualStyleBackColor = true;
this.CHK_P6.Click += new System.EventHandler(this.changeDisplayed);
//
// CHK_P7
//
this.CHK_P7.AutoSize = true;
this.CHK_P7.Location = new System.Drawing.Point(5, 28);
this.CHK_P7.Name = "CHK_P7";
this.CHK_P7.Size = new System.Drawing.Size(60, 17);
this.CHK_P7.TabIndex = 9;
this.CHK_P7.Text = "Female";
this.CHK_P7.UseVisualStyleBackColor = true;
this.CHK_P7.Click += new System.EventHandler(this.changeDisplayed);
//
// CHK_P8
//
this.CHK_P8.AutoSize = true;
this.CHK_P8.Location = new System.Drawing.Point(5, 42);
this.CHK_P8.Name = "CHK_P8";
this.CHK_P8.Size = new System.Drawing.Size(78, 17);
this.CHK_P8.TabIndex = 10;
this.CHK_P8.Text = "Shiny Male";
this.CHK_P8.UseVisualStyleBackColor = true;
this.CHK_P8.Click += new System.EventHandler(this.changeDisplayed);
//
// CHK_P9
//
this.CHK_P9.AutoSize = true;
this.CHK_P9.Location = new System.Drawing.Point(5, 56);
this.CHK_P9.Name = "CHK_P9";
this.CHK_P9.Size = new System.Drawing.Size(89, 17);
this.CHK_P9.TabIndex = 11;
this.CHK_P9.Text = "Shiny Female";
this.CHK_P9.UseVisualStyleBackColor = true;
this.CHK_P9.Click += new System.EventHandler(this.changeDisplayed);
//
// CHK_L7
//
this.CHK_L7.AutoSize = true;
this.CHK_L7.Location = new System.Drawing.Point(18, 125);
this.CHK_L7.Name = "CHK_L7";
this.CHK_L7.Size = new System.Drawing.Size(60, 17);
this.CHK_L7.TabIndex = 19;
this.CHK_L7.Text = "Korean";
this.CHK_L7.UseVisualStyleBackColor = true;
//
// CHK_L6
//
this.CHK_L6.AutoSize = true;
this.CHK_L6.Location = new System.Drawing.Point(18, 108);
this.CHK_L6.Name = "CHK_L6";
this.CHK_L6.Size = new System.Drawing.Size(64, 17);
this.CHK_L6.TabIndex = 18;
this.CHK_L6.Text = "Spanish";
this.CHK_L6.UseVisualStyleBackColor = true;
//
// CHK_L5
//
this.CHK_L5.AutoSize = true;
this.CHK_L5.Location = new System.Drawing.Point(18, 91);
this.CHK_L5.Name = "CHK_L5";
this.CHK_L5.Size = new System.Drawing.Size(63, 17);
this.CHK_L5.TabIndex = 17;
this.CHK_L5.Text = "German";
this.CHK_L5.UseVisualStyleBackColor = true;
//
// CHK_L4
//
this.CHK_L4.AutoSize = true;
this.CHK_L4.Location = new System.Drawing.Point(18, 74);
this.CHK_L4.Name = "CHK_L4";
this.CHK_L4.Size = new System.Drawing.Size(54, 17);
this.CHK_L4.TabIndex = 16;
this.CHK_L4.Text = "Italian";
this.CHK_L4.UseVisualStyleBackColor = true;
//
// CHK_L3
//
this.CHK_L3.AutoSize = true;
this.CHK_L3.Location = new System.Drawing.Point(18, 57);
this.CHK_L3.Name = "CHK_L3";
this.CHK_L3.Size = new System.Drawing.Size(59, 17);
this.CHK_L3.TabIndex = 15;
this.CHK_L3.Text = "French";
this.CHK_L3.UseVisualStyleBackColor = true;
//
// CHK_L2
//
this.CHK_L2.AutoSize = true;
this.CHK_L2.Location = new System.Drawing.Point(18, 40);
this.CHK_L2.Name = "CHK_L2";
this.CHK_L2.Size = new System.Drawing.Size(60, 17);
this.CHK_L2.TabIndex = 14;
this.CHK_L2.Text = "English";
this.CHK_L2.UseVisualStyleBackColor = true;
//
// CHK_L1
//
this.CHK_L1.AutoSize = true;
this.CHK_L1.Location = new System.Drawing.Point(18, 23);
this.CHK_L1.Name = "CHK_L1";
this.CHK_L1.Size = new System.Drawing.Size(72, 17);
this.CHK_L1.TabIndex = 13;
this.CHK_L1.Text = "Japanese";
this.CHK_L1.UseVisualStyleBackColor = true;
//
// L_goto
//
this.L_goto.AutoSize = true;
this.L_goto.Location = new System.Drawing.Point(12, 16);
this.L_goto.Name = "L_goto";
this.L_goto.Size = new System.Drawing.Size(31, 13);
this.L_goto.TabIndex = 20;
this.L_goto.Text = "goto:";
//
// CB_Species
//
this.CB_Species.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.CB_Species.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.CB_Species.DropDownWidth = 95;
this.CB_Species.FormattingEnabled = true;
this.CB_Species.Items.AddRange(new object[] {
"0"});
this.CB_Species.Location = new System.Drawing.Point(50, 13);
this.CB_Species.Name = "CB_Species";
this.CB_Species.Size = new System.Drawing.Size(92, 21);
this.CB_Species.TabIndex = 21;
this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.changeCBSpecies);
this.CB_Species.SelectedValueChanged += new System.EventHandler(this.changeCBSpecies);
this.CB_Species.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB);
//
// B_GiveAll
//
this.B_GiveAll.Location = new System.Drawing.Point(149, 11);
this.B_GiveAll.Name = "B_GiveAll";
this.B_GiveAll.Size = new System.Drawing.Size(60, 23);
this.B_GiveAll.TabIndex = 23;
this.B_GiveAll.Text = "Check All";
this.B_GiveAll.UseVisualStyleBackColor = true;
this.B_GiveAll.Click += new System.EventHandler(this.B_GiveAll_Click);
//
// 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(547, 217);
this.B_Save.Name = "B_Save";
this.B_Save.Size = new System.Drawing.Size(80, 23);
this.B_Save.TabIndex = 24;
this.B_Save.Text = "Save";
this.B_Save.UseVisualStyleBackColor = true;
this.B_Save.Click += new System.EventHandler(this.B_Save_Click);
//
// B_Modify
//
this.B_Modify.Location = new System.Drawing.Point(317, 11);
this.B_Modify.Name = "B_Modify";
this.B_Modify.Size = new System.Drawing.Size(60, 23);
this.B_Modify.TabIndex = 25;
this.B_Modify.Text = "Modify...";
this.B_Modify.UseVisualStyleBackColor = true;
this.B_Modify.Click += new System.EventHandler(this.B_Modify_Click);
//
// GB_Language
//
this.GB_Language.Controls.Add(this.CHK_L7);
this.GB_Language.Controls.Add(this.CHK_L6);
this.GB_Language.Controls.Add(this.CHK_L5);
this.GB_Language.Controls.Add(this.CHK_L4);
this.GB_Language.Controls.Add(this.CHK_L3);
this.GB_Language.Controls.Add(this.CHK_L2);
this.GB_Language.Controls.Add(this.CHK_L1);
this.GB_Language.Location = new System.Drawing.Point(269, 40);
this.GB_Language.Name = "GB_Language";
this.GB_Language.Size = new System.Drawing.Size(108, 153);
this.GB_Language.TabIndex = 26;
this.GB_Language.TabStop = false;
this.GB_Language.Text = "Languages";
//
// GB_Encountered
//
this.GB_Encountered.Controls.Add(this.CHK_P5);
this.GB_Encountered.Controls.Add(this.CHK_P4);
this.GB_Encountered.Controls.Add(this.CHK_P3);
this.GB_Encountered.Controls.Add(this.CHK_P2);
this.GB_Encountered.Location = new System.Drawing.Point(148, 40);
this.GB_Encountered.Name = "GB_Encountered";
this.GB_Encountered.Size = new System.Drawing.Size(115, 78);
this.GB_Encountered.TabIndex = 27;
this.GB_Encountered.TabStop = false;
this.GB_Encountered.Text = "Seen";
//
// GB_Owned
//
this.GB_Owned.Controls.Add(this.CHK_P1);
this.GB_Owned.Location = new System.Drawing.Point(148, 118);
this.GB_Owned.Name = "GB_Owned";
this.GB_Owned.Size = new System.Drawing.Size(115, 35);
this.GB_Owned.TabIndex = 28;
this.GB_Owned.TabStop = false;
this.GB_Owned.Text = "Owned";
//
// GB_Displayed
//
this.GB_Displayed.Controls.Add(this.CHK_P9);
this.GB_Displayed.Controls.Add(this.CHK_P8);
this.GB_Displayed.Controls.Add(this.CHK_P7);
this.GB_Displayed.Controls.Add(this.CHK_P6);
this.GB_Displayed.Location = new System.Drawing.Point(149, 159);
this.GB_Displayed.Name = "GB_Displayed";
this.GB_Displayed.Size = new System.Drawing.Size(115, 77);
this.GB_Displayed.TabIndex = 31;
this.GB_Displayed.TabStop = false;
this.GB_Displayed.Text = "Displayed";
//
// modifyMenu
//
this.modifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuSeenNone,
this.mnuSeenAll,
this.mnuCaughtNone,
this.mnuCaughtAll,
this.mnuComplete});
this.modifyMenu.Name = "modifyMenu";
this.modifyMenu.Size = new System.Drawing.Size(149, 114);
//
// mnuSeenNone
//
this.mnuSeenNone.Name = "mnuSeenNone";
this.mnuSeenNone.Size = new System.Drawing.Size(148, 22);
this.mnuSeenNone.Text = "Seen none";
this.mnuSeenNone.Click += new System.EventHandler(this.modifyAll);
//
// mnuSeenAll
//
this.mnuSeenAll.Name = "mnuSeenAll";
this.mnuSeenAll.Size = new System.Drawing.Size(148, 22);
this.mnuSeenAll.Text = "Seen all";
this.mnuSeenAll.Click += new System.EventHandler(this.modifyAll);
//
// mnuCaughtNone
//
this.mnuCaughtNone.Name = "mnuCaughtNone";
this.mnuCaughtNone.Size = new System.Drawing.Size(148, 22);
this.mnuCaughtNone.Text = "Caught none";
this.mnuCaughtNone.Click += new System.EventHandler(this.modifyAll);
//
// mnuCaughtAll
//
this.mnuCaughtAll.Name = "mnuCaughtAll";
this.mnuCaughtAll.Size = new System.Drawing.Size(148, 22);
this.mnuCaughtAll.Text = "Caught all";
this.mnuCaughtAll.Click += new System.EventHandler(this.modifyAll);
//
// mnuComplete
//
this.mnuComplete.Name = "mnuComplete";
this.mnuComplete.Size = new System.Drawing.Size(148, 22);
this.mnuComplete.Text = "Complete Dex";
this.mnuComplete.Click += new System.EventHandler(this.modifyAll);
//
// B_ModifyForms
//
this.B_ModifyForms.Location = new System.Drawing.Point(567, 11);
this.B_ModifyForms.Name = "B_ModifyForms";
this.B_ModifyForms.Size = new System.Drawing.Size(60, 23);
this.B_ModifyForms.TabIndex = 43;
this.B_ModifyForms.Text = "Modify...";
this.B_ModifyForms.UseVisualStyleBackColor = true;
this.B_ModifyForms.Click += new System.EventHandler(this.B_ModifyForms_Click);
//
// L_FormDisplayed
//
this.L_FormDisplayed.Location = new System.Drawing.Point(505, 40);
this.L_FormDisplayed.Name = "L_FormDisplayed";
this.L_FormDisplayed.Size = new System.Drawing.Size(104, 20);
this.L_FormDisplayed.TabIndex = 42;
this.L_FormDisplayed.Text = "Displayed Form:";
this.L_FormDisplayed.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// CLB_FormDisplayed
//
this.CLB_FormDisplayed.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.CLB_FormDisplayed.FormattingEnabled = true;
this.CLB_FormDisplayed.Location = new System.Drawing.Point(508, 61);
this.CLB_FormDisplayed.Name = "CLB_FormDisplayed";
this.CLB_FormDisplayed.Size = new System.Drawing.Size(119, 139);
this.CLB_FormDisplayed.TabIndex = 41;
this.CLB_FormDisplayed.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.updateDisplayedForm);
//
// L_FormsSeen
//
this.L_FormsSeen.Location = new System.Drawing.Point(380, 40);
this.L_FormsSeen.Name = "L_FormsSeen";
this.L_FormsSeen.Size = new System.Drawing.Size(104, 20);
this.L_FormsSeen.TabIndex = 40;
this.L_FormsSeen.Text = "Seen Forms:";
this.L_FormsSeen.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// CLB_FormsSeen
//
this.CLB_FormsSeen.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.CLB_FormsSeen.FormattingEnabled = true;
this.CLB_FormsSeen.Location = new System.Drawing.Point(383, 61);
this.CLB_FormsSeen.Name = "CLB_FormsSeen";
this.CLB_FormsSeen.Size = new System.Drawing.Size(119, 139);
this.CLB_FormsSeen.TabIndex = 39;
//
// modifyMenuForms
//
this.modifyMenuForms.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuFormNone,
this.mnuForm1,
this.mnuFormAll});
this.modifyMenuForms.Name = "modifyMenu";
this.modifyMenuForms.Size = new System.Drawing.Size(130, 70);
//
// mnuFormNone
//
this.mnuFormNone.Name = "mnuFormNone";
this.mnuFormNone.Size = new System.Drawing.Size(129, 22);
this.mnuFormNone.Text = "Seen none";
this.mnuFormNone.Click += new System.EventHandler(this.modifyAllForms);
//
// mnuForm1
//
this.mnuForm1.Name = "mnuForm1";
this.mnuForm1.Size = new System.Drawing.Size(129, 22);
this.mnuForm1.Text = "Seen one";
this.mnuForm1.Click += new System.EventHandler(this.modifyAllForms);
//
// mnuFormAll
//
this.mnuFormAll.Name = "mnuFormAll";
this.mnuFormAll.Size = new System.Drawing.Size(129, 22);
this.mnuFormAll.Text = "Seen all";
this.mnuFormAll.Click += new System.EventHandler(this.modifyAllForms);
//
// SAV_Pokedex5
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(634, 247);
this.Controls.Add(this.B_ModifyForms);
this.Controls.Add(this.L_FormDisplayed);
this.Controls.Add(this.CLB_FormDisplayed);
this.Controls.Add(this.L_FormsSeen);
this.Controls.Add(this.CLB_FormsSeen);
this.Controls.Add(this.GB_Displayed);
this.Controls.Add(this.GB_Owned);
this.Controls.Add(this.GB_Encountered);
this.Controls.Add(this.GB_Language);
this.Controls.Add(this.B_Modify);
this.Controls.Add(this.B_Save);
this.Controls.Add(this.B_GiveAll);
this.Controls.Add(this.CB_Species);
this.Controls.Add(this.L_goto);
this.Controls.Add(this.LB_Species);
this.Controls.Add(this.B_Cancel);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SAV_Pokedex5";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Pokédex Editor";
this.GB_Language.ResumeLayout(false);
this.GB_Language.PerformLayout();
this.GB_Encountered.ResumeLayout(false);
this.GB_Encountered.PerformLayout();
this.GB_Owned.ResumeLayout(false);
this.GB_Owned.PerformLayout();
this.GB_Displayed.ResumeLayout(false);
this.GB_Displayed.PerformLayout();
this.modifyMenu.ResumeLayout(false);
this.modifyMenuForms.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button B_Cancel;
private System.Windows.Forms.ListBox LB_Species;
private System.Windows.Forms.CheckBox CHK_P1;
private System.Windows.Forms.CheckBox CHK_P2;
private System.Windows.Forms.CheckBox CHK_P3;
private System.Windows.Forms.CheckBox CHK_P4;
private System.Windows.Forms.CheckBox CHK_P5;
private System.Windows.Forms.CheckBox CHK_P6;
private System.Windows.Forms.CheckBox CHK_P7;
private System.Windows.Forms.CheckBox CHK_P8;
private System.Windows.Forms.CheckBox CHK_P9;
private System.Windows.Forms.CheckBox CHK_L7;
private System.Windows.Forms.CheckBox CHK_L6;
private System.Windows.Forms.CheckBox CHK_L5;
private System.Windows.Forms.CheckBox CHK_L4;
private System.Windows.Forms.CheckBox CHK_L3;
private System.Windows.Forms.CheckBox CHK_L2;
private System.Windows.Forms.CheckBox CHK_L1;
private System.Windows.Forms.Label L_goto;
private System.Windows.Forms.ComboBox CB_Species;
private System.Windows.Forms.Button B_GiveAll;
private System.Windows.Forms.Button B_Save;
private System.Windows.Forms.Button B_Modify;
private System.Windows.Forms.GroupBox GB_Language;
private System.Windows.Forms.GroupBox GB_Encountered;
private System.Windows.Forms.GroupBox GB_Owned;
private System.Windows.Forms.GroupBox GB_Displayed;
private System.Windows.Forms.ContextMenuStrip modifyMenu;
private System.Windows.Forms.ToolStripMenuItem mnuSeenNone;
private System.Windows.Forms.ToolStripMenuItem mnuSeenAll;
private System.Windows.Forms.ToolStripMenuItem mnuCaughtNone;
private System.Windows.Forms.ToolStripMenuItem mnuCaughtAll;
private System.Windows.Forms.ToolStripMenuItem mnuComplete;
private System.Windows.Forms.CheckedListBox CLB_FormsSeen;
private System.Windows.Forms.Label L_FormsSeen;
private System.Windows.Forms.CheckedListBox CLB_FormDisplayed;
private System.Windows.Forms.Label L_FormDisplayed;
private System.Windows.Forms.Button B_ModifyForms;
private System.Windows.Forms.ContextMenuStrip modifyMenuForms;
private System.Windows.Forms.ToolStripMenuItem mnuFormNone;
private System.Windows.Forms.ToolStripMenuItem mnuForm1;
private System.Windows.Forms.ToolStripMenuItem mnuFormAll;
}
}

View File

@ -0,0 +1,423 @@
using System;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using PKHeX.Core;
namespace PKHeX.WinForms
{
public partial class SAV_Pokedex5 : Form
{
public SAV_Pokedex5()
{
InitializeComponent();
FormLen = SAV.B2W2 ? 0xB : 0x9;
CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, };
CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, CHK_L7, };
WinFormsUtil.TranslateInterface(this, Main.curlanguage);
editing = true;
// Clear Listbox and ComboBox
LB_Species.Items.Clear();
CB_Species.Items.Clear();
// Fill List
CB_Species.DisplayMember = "Text";
CB_Species.ValueMember = "Value";
CB_Species.DataSource = new BindingSource(GameInfo.SpeciesDataSource.Skip(1).Where(id => id.Value <= SAV.MaxSpeciesID).ToList(), null);
for (int i = 1; i < SAV.MaxSpeciesID + 1; i++)
LB_Species.Items.Add(i.ToString("000") + " - " + GameInfo.Strings.specieslist[i]);
getData();
editing = false;
LB_Species.SelectedIndex = 0;
}
private readonly SAV5 SAV = new SAV5(Main.SAV.Data);
private readonly CheckBox[] CP;
private readonly CheckBox[] CL;
private readonly bool[,] specbools = new bool[9, brSize * 8];
private readonly bool[,] langbools = new bool[7, brSize * 8];
private BitArray formbools;
private bool editing;
private int species = -1;
private const int brSize = 0x54;
private readonly int FormLen;
private const int LangSize = 0x238; // 649*7/8 = 237.xxx
private void changeCBSpecies(object sender, EventArgs e)
{
if (editing) return;
setEntry();
editing = true;
species = (int)CB_Species.SelectedValue;
LB_Species.SelectedIndex = species - 1; // Since we don't allow index0 in combobox, everything is shifted by 1
LB_Species.TopIndex = LB_Species.SelectedIndex;
getEntry();
editing = false;
}
private void changeLBSpecies(object sender, EventArgs e)
{
if (editing) return;
setEntry();
editing = true;
species = LB_Species.SelectedIndex + 1;
CB_Species.SelectedValue = species;
getEntry();
editing = false;
}
private void removedropCB(object sender, KeyEventArgs e)
{
((ComboBox)sender).DroppedDown = false;
}
private void changeDisplayed(object sender, EventArgs e)
{
if (!((CheckBox) sender).Checked)
return;
CHK_P6.Checked = sender == CHK_P6;
CHK_P7.Checked = sender == CHK_P7;
CHK_P8.Checked = sender == CHK_P8;
CHK_P9.Checked = sender == CHK_P9;
CHK_P2.Checked |= CHK_P6.Checked;
CHK_P3.Checked |= CHK_P7.Checked;
CHK_P4.Checked |= CHK_P8.Checked;
CHK_P5.Checked |= CHK_P9.Checked;
}
private void changeEncountered(object sender, EventArgs e)
{
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
CHK_P6.Checked = CHK_P7.Checked = CHK_P8.Checked = CHK_P9.Checked = false;
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
if (sender == CHK_P2 && CHK_P2.Checked)
CHK_P6.Checked = true;
else if (sender == CHK_P3 && CHK_P3.Checked)
CHK_P7.Checked = true;
else if (sender == CHK_P4 && CHK_P4.Checked)
CHK_P8.Checked = true;
else if (sender == CHK_P5 && CHK_P5.Checked)
CHK_P9.Checked = true;
}
}
private void getEntry()
{
// Load Bools for the data
int pk = species;
// Load Partitions
for (int i = 0; i < 9; i++)
CP[i].Checked = specbools[i, pk - 1];
for (int i = 0; i < 7; i++)
CL[i].Checked = langbools[i, pk - 1];
int gt = SAV.Personal[pk].Gender;
CHK_P2.Enabled = CHK_P4.Enabled = CHK_P6.Enabled = CHK_P8.Enabled = gt != 254; // Not Female-Only
CHK_P3.Enabled = CHK_P5.Enabled = CHK_P7.Enabled = CHK_P9.Enabled = !(gt == 0 || (gt == 255)); // Not Male-Only and Not Genderless
CLB_FormsSeen.Items.Clear();
CLB_FormDisplayed.Items.Clear();
int fc = SAV.Personal[species].FormeCount;
int f = SAV.B2W2 ? SaveUtil.getDexFormIndexB2W2(species, fc) : SaveUtil.getDexFormIndexBW(species, fc);
if (f < 0)
return;
string[] forms = PKX.getFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, Main.gendersymbols);
if (forms.Length < 1)
return;
for (int i = 0; i < forms.Length; i++) // Seen
CLB_FormsSeen.Items.Add(forms[i], formbools[f + i + 0*FormLen*8]);
for (int i = 0; i < forms.Length; i++) // Seen Shiny
CLB_FormsSeen.Items.Add("* " + forms[i], formbools[f + i + 1*FormLen*8]);
for (int i = 0; i < forms.Length; i++) // Displayed
CLB_FormDisplayed.Items.Add(forms[i], formbools[f + i + 2*FormLen*8]);
for (int i = 0; i < forms.Length; i++) // Displayed Shiny
CLB_FormDisplayed.Items.Add("* " + forms[i], formbools[f + i + 3*FormLen*8]);
}
private void setEntry()
{
if (species < 0)
return;
specbools[0, species - 1] = CHK_P1.Checked;
specbools[1, species - 1] = CHK_P2.Checked;
specbools[2, species - 1] = CHK_P3.Checked;
specbools[3, species - 1] = CHK_P4.Checked;
specbools[4, species - 1] = CHK_P5.Checked;
specbools[5, species - 1] = CHK_P6.Checked;
specbools[6, species - 1] = CHK_P7.Checked;
specbools[7, species - 1] = CHK_P8.Checked;
specbools[8, species - 1] = CHK_P9.Checked;
langbools[0, species - 1] = CHK_L1.Checked;
langbools[1, species - 1] = CHK_L2.Checked;
langbools[2, species - 1] = CHK_L3.Checked;
langbools[3, species - 1] = CHK_L4.Checked;
langbools[4, species - 1] = CHK_L5.Checked;
langbools[5, species - 1] = CHK_L6.Checked;
langbools[6, species - 1] = CHK_L7.Checked;
int fc = SAV.Personal[species].FormeCount;
int f = SaveUtil.getDexFormIndexORAS(species, fc);
if (f < 0)
return;
for (int i = 0; i < CLB_FormsSeen.Items.Count/2; i++) // Seen
formbools[f + i + 0*FormLen*8] = CLB_FormsSeen.GetItemChecked(i);
for (int i = 0; i < CLB_FormsSeen.Items.Count/2; i++) // Seen Shiny
formbools[f + i + 1*FormLen*8] = CLB_FormsSeen.GetItemChecked(i + CLB_FormsSeen.Items.Count/2);
editing = true;
for (int i = 0; i < CLB_FormDisplayed.Items.Count/2; i++) // Displayed
formbools[f + i + 2*FormLen*8] = CLB_FormDisplayed.GetItemChecked(i);
for (int i = 0; i < CLB_FormDisplayed.Items.Count/2; i++) // Displayed Shiny
formbools[f + i + 3*FormLen*8] = CLB_FormDisplayed.GetItemChecked(i + CLB_FormDisplayed.Items.Count/2);
editing = false;
}
private void getData()
{
// Fill Bit arrays
int arrCount = specbools.GetLength(0);
for (int i = 0; i < arrCount; i++)
{
byte[] data = new byte[brSize];
Array.Copy(SAV.Data, SAV.PokeDex + 8 + brSize * i, data, 0, brSize);
BitArray BitRegion = new BitArray(data);
for (int b = 0; b < brSize * 8; b++)
specbools[i, b] = BitRegion[b];
}
// Fill Language arrays
byte[] langdata = new byte[LangSize];
Array.Copy(SAV.Data, SAV.PokeDexLanguageFlags, langdata, 0, LangSize);
BitArray LangRegion = new BitArray(langdata);
for (int b = 0; b < SAV.MaxSpeciesID; b++)
for (int i = 0; i < 7; i++) // 7 Languages
langbools[i, b] = LangRegion[7 * b + i];
byte[] formdata = new byte[FormLen*4];
int FormDex = SAV.PokeDex + 0x8 + brSize*9;
Array.Copy(SAV.Data, FormDex, formdata, 0, formdata.Length);
formbools = new BitArray(formdata);
}
private void setData()
{
// Save back the Species Bools
// Return to Byte Array
for (int p = 0; p < 9; p++)
{
byte[] sdata = new byte[brSize];
for (int i = 0; i < brSize * 8; i++)
if (specbools[p, i])
sdata[i>>3] |= (byte)(1 << (i&7));
sdata.CopyTo(SAV.Data, SAV.PokeDex + 8 + brSize * p);
}
// Build new bool array for the Languages
{
int langCount = langbools.GetLength(0);
int speciesCount = langbools.GetLength(1);
bool[] languagedata = new bool[speciesCount << 3];
for (int i = 0; i < speciesCount; i++)
for (int l = 0; l < langCount; l++)
languagedata[i * langCount + l] = langbools[l, i];
// Return to Byte Array
byte[] ldata = new byte[languagedata.Length>>3];
for (int i = 0; i < languagedata.Length; i++)
if (languagedata[i])
ldata[i>>3] |= (byte)(1 << (i&7));
ldata.CopyTo(SAV.Data, SAV.PokeDexLanguageFlags);
}
int FormDex = SAV.PokeDex + 0x8 + brSize * 9;
formbools.CopyTo(SAV.Data, FormDex);
}
private void B_Cancel_Click(object sender, EventArgs e)
{
Close();
}
private void B_Save_Click(object sender, EventArgs e)
{
setEntry();
setData();
// Return back to the parent savefile
Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length);
Main.SAV.Edited = true;
Close();
}
private void B_GiveAll_Click(object sender, EventArgs e)
{
if (CHK_L1.Enabled)
{
CHK_L1.Checked =
CHK_L2.Checked =
CHK_L3.Checked =
CHK_L4.Checked =
CHK_L5.Checked =
CHK_L6.Checked =
CHK_L7.Checked = ModifierKeys != Keys.Control;
}
if (CHK_P1.Enabled)
{
CHK_P1.Checked = ModifierKeys != Keys.Control;
}
int index = LB_Species.SelectedIndex+1;
int gt = SAV.Personal[index].Gender;
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt != 0 && gt != 255 && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
foreach (var chk in new[] { CHK_P6, CHK_P7, CHK_P8, CHK_P9 })
chk.Checked = false;
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
}
private void B_Modify_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
modifyMenu.Show(btn.PointToScreen(new Point(0, btn.Height)));
}
private void modifyAll(object sender, EventArgs e)
{
int lang = SAV.Language;
if (lang > 5) lang -= 1;
lang -= 1;
if (sender == mnuSeenNone || sender == mnuSeenAll || sender == mnuComplete)
for (int i = 0; i < LB_Species.Items.Count; i++)
{
int gt = SAV.Personal[i + 1].Gender;
LB_Species.SelectedIndex = i;
foreach (CheckBox t in new[] { CHK_P2, CHK_P3, CHK_P4, CHK_P5 })
t.Checked = mnuSeenNone != sender && t.Enabled;
if (mnuSeenNone != sender)
{
// if seen ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
}
else
{
foreach (CheckBox t in CP)
t.Checked = false;
}
if (!CHK_P1.Checked)
foreach (CheckBox t in CL)
t.Checked = false;
}
if (sender == mnuCaughtNone || sender == mnuCaughtAll || sender == mnuComplete)
for (int i = 0; i < CB_Species.Items.Count; i++)
{
int gt = SAV.Personal[i + 1].Gender;
LB_Species.SelectedIndex = i;
foreach (CheckBox t in new[] { CHK_P1 })
t.Checked = mnuCaughtNone != sender;
for (int j = 0; j < CL.Length; j++)
CL[j].Checked = sender == mnuComplete || (mnuCaughtNone != sender && j == lang);
if (mnuCaughtNone == sender)
{
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
}
if (mnuCaughtNone != sender)
{
if (mnuComplete == sender)
{
CHK_P2.Checked = CHK_P4.Checked = gt != 254; // not female only
CHK_P3.Checked = CHK_P5.Checked = gt != 0 && gt != 255; // not male only or genderless
}
else
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
}
}
setEntry();
setData();
getData();
getEntry();
}
private void updateDisplayedForm(object sender, ItemCheckEventArgs e)
{
if (editing)
return;
// Only allow one form to be displayed if the user sets a new display value
if (e.NewValue != CheckState.Checked) return;
for (int i = 0; i < CLB_FormDisplayed.Items.Count; i++)
if (i != e.Index)
CLB_FormDisplayed.SetItemChecked(i, false);
else if (sender == CLB_FormDisplayed)
CLB_FormsSeen.SetItemChecked(e.Index, true); // ensure this form is seen
}
private void B_ModifyForms_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
modifyMenuForms.Show(btn.PointToScreen(new Point(0, btn.Height)));
}
private void modifyAllForms(object sender, EventArgs e)
{
if (sender == mnuFormNone)
{
formbools = new BitArray(new bool[formbools.Length]); // reset false
getEntry();
return;
}
for (int i = 0; i < CB_Species.Items.Count; i++)
{
LB_Species.SelectedIndex = i;
if (CLB_FormsSeen.Items.Count == 0)
continue;
if (sender == mnuForm1)
{
if (CLB_FormsSeen.CheckedItems.Count == 0)
CLB_FormsSeen.SetItemChecked(0, true);
if (CLB_FormDisplayed.CheckedItems.Count == 0)
CLB_FormDisplayed.SetItemChecked(0, true);
}
else if (sender == mnuFormAll)
{
for (int f = 0; f < CLB_FormsSeen.Items.Count; f++)
CLB_FormsSeen.SetItemChecked(f, true);
if (CLB_FormDisplayed.CheckedItems.Count == 0)
CLB_FormDisplayed.SetItemChecked(0, true);
}
}
}
}
}

View File

@ -0,0 +1,222 @@
<?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>
<metadata name="modifyMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="modifyMenuForms.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAE
AAAAAAAAAAAAAAAAAAAAAAAAIyMjAQAAAAALCwsPJiYmJysrKycqKionKSkpJykpKScpKSknKioqJyoq
KicrKysnJycnJw0ODQ8AAAAAJiYmAQAAAABpaWlHq6ur17+/v+6+vr7svr6+7b6+vu2+vr7tvr6+7b6+
vu2+vr7tvr6+7L+/v+6rq6vXampqSAAAAAAoKSgXvr++3eLi4v/g4OD94eHh/+Hh4f/i4uL/4uLi/+Li
4v/i4uL/4eHh/+Dh4P/g4OD94uLi/7+/v90sLCwXfn5+PNna2frg4OD/39/f/uHh4f7h4eH+39/f/uDg
4P7g4OD+39/f/uHh4f7h4OH+39/f/t/g3//a2tr6g4ODPoOCgz7X19f64+Pj/+Li4v7k5OT/4+Tj//Ly
8v/19fX/9PT0//T09P/k5OT/5OTk/+Pj4/7j4+P/19jX+4qLikCDhIM+2tra++Xl5f/k5eT+5OTk//Lz
8v+urq7/RUVF/z4+Pv+Zmpn/8fHx/+Xm5f/k5eT+5eXl/9ra2vyLi4tAhYWFPuXm5vvx8vP/7+/w/v//
//+sra3/AgIC/15eXv9tbG3/BQUF/4yMjP//////7+/w/vHy8//l5ub8jY2NQC4uLD5LS0f7UFBL/09P
Sv5YWVP/FBUS/29wcP///////////5SUlP8PDw//U1NO/1BQS/5PT0r/S0tH/DIyMEAAAAs+AAAM+wAA
Dv8AAA/+AwMS/wAAAP+UlJX///////////+3t7n/AAAA/wAAD/8BAQ/+AAAO/wAADPwCAg5ABARSPgoK
k/sNDab/DQ2o/hAQvP8CAmj/IiIW/7Kzrv/Cw8D/NDQm/wAATf8QELz/DQ2q/gwMp/8LC5T8Dg5bQAUF
Xj4KCpz7DQ2u/w0NsP4NDbX/Dw+//wUFYf8CAhL/AwMP/wMDTf8ODrj/Dg64/w0NsP4MDK7/Cwud/A8P
aEEGBmU9DAyl+w4Otf8ODrf+Dw+6/xAQvv8TE8v/EhK+/xAQvP8TE8v/EBDA/w8Puf8PD7f+Dg61/w0N
pvsREW9ACAhtQA8PsfsTE77/ExO//xQUwP8UFML/FBTD/xUVyP8WFsn/FRXE/xQUw/8UFMH/ExO//xMT
vv8QELL7ERF3QxkZdCgXF771ExPH/xUVyPwVFcn9FhbL/RcXzP0XF8z9FxfM/RcXy/0XF8v9FhbJ/RUV
yPwTE8f/Fxe+9RkZdykAAAAAIyOtghsbx/8ZGcj+GRnJ/xoayf8aGsn/GhrK/xoayv8aGsn/GhrJ/xkZ
yf8ZGcj+GxvH/yMjrYQAAAAAAADHAQAAAAAzM51FLCyscCoqrGwqKqxtKSmsbSoqrG0qKqxtKSmsbSoq
rG0qKqxsLCyscDMznUUAAAAAAAAAAP//AADAAwAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIAB
AACAAQAAgAEAAIABAACAAQAAgAEAAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCR0dHSMWFhY3GBgYORgYGDkYGBg5GBgYORgY
GDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5GBgYORgYGDkYGBg5FxcXNx4e
HiQuLi4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIARYWFis7OzuVkJCQ2ampqeqqqqrsqqqq7Kqq
quyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqqquyqqqrsqqqq7Kqq
quypqanqkZGR2j09PZcXFxcsUFBQAQAAAAAAAAAAAAAAAAAAAAASEhIuhISEytvb2/7W1tb/19fX/9jY
2P/Y2Nj/2NjY/9jY2P/Y2Nj/2NjY/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/Y2Nj/2NjY/9jY
2P/Y2Nj/2NjY/9fX1//W1tb/29vb/oeHh8sTExMvAAAAAAAAAAAAAAAAPDw8DGtra6zZ2dn/2dnZ/9ra
2v/b29v/29vb/9vb2//c3Nz/3Nzc/9zc3P/c3Nz/3d3d/93d3f/d3d3/3d3d/93d3f/d3d3/3Nzc/9zc
3P/c3Nz/3Nzc/9vb2//b29v/29vb/9ra2v/Z2dn/2dnZ/21tba5DQ0MNAAAAAAAAAAAiIiIx1NXU9tna
2f/c3Nz/3d3d/93e3f/e3t7/3t7e/9/f3//f39//39/f/9/g3//g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg
4P/g4OD/39/f/9/f3//f39//3t/e/97e3v/d3t3/3d3d/9zc3P/Z2tn/1dXV9icnJzMAAAAAAAAAAFhZ
WFzf4N//3Nzc/97e3v/f39//39/f/9/g3//g4OD/4ODg/+Hh4f/h4eH/4eHh/+Li4v/i4uL/4uLi/+Li
4v/i4uL/4uLi/+Hi4f/h4eH/4eHh/+Dg4P/g4OD/3+Df/9/f3//f39//3t7e/9zc3P/f39//XV1dXQAA
AAAAAAAAZmZmZdvc2//e3t7/3+Df/+Dg4P/g4eD/4eHh/+Hi4f/i4uL/4uPi/+Pj4//j4+P/5OTk/+Tk
5P/k5OT/5OTk/+Tk5P/k5OT/4+Pj/+Pj4//j4+P/4uLi/+Li4v/h4eH/4eHh/+Dg4P/f4N//3t7e/9vb
2/9wcHBoAAAAAAAAAABoaGhl3d3d/9/f3//h4eH/4eLh/+Li4v/j4+P/4+Pj/+Tk5P/k5OT/5eXl/+Xl
5f/l5uX/5ubm/+bm5v/m5ub/5ubm/+bm5v/l5eX/5eXl/+Tk5P/k5OT/4+Pj/+Pj4//i4uL/4uLi/+Hh
4f/f39//3N3c/3Nzc2kAAAAAAAAAAGhoaGXe3t7/4ODg/+Li4v/j4+P/4+Pj/+Tk5P/l5eX/5eXl/+bm
5v/m5+b/5+fn/+fn5//n6Of/6Ojo/+jo6P/o6Oj/5+fn/+fn5//n5+f/5ubm/+Xl5f/l5eX/5OTk/+Pk
4//j4+P/4uLi/+Dg4P/e3t7/c3NzaQAAAAAAAAAAaGhoZd/g3//i4uL/5OTk/+Tl5P/l5eX/5ebl/+bn
5v/n5+f/5+jn/+jp6P/p6en/7Ozs/8LCwv+Tk5P/ioqK/66urv/o6ej/6enp/+jp6P/o6Oj/5+jn/+bn
5v/m5ub/5ebl/+Tl5P/k5OT/4uLi/9/g3/9zdHNpAAAAAAAAAABoaWhl4eLh/+Pk4//m5ub/5ubm/+fn
5//n6Of/6Ojo/+np6f/p6un/6urq/8bGxv8yMjL/AAAA/wAAAP8AAAD/AAAA/xMTE/+ZmZn/7Ozs/+rq
6v/p6en/6Ojo/+jo6P/n5+f/5ubm/+bm5v/k5OT/4eHh/3R0dGkAAAAAAAAAAGhpaGXj4+P/5eXl/+fn
5//n6Of/6Ojo/+np6f/q6ur/6urq/+vr6//Dw8P/DAwM/wAAAP8AAAD/Gxsb/ygoKP8BAQH/AAAA/wAA
AP+FhYX/7O3s/+rr6v/q6ur/6enp/+jo6P/o6Oj/5+fn/+Xl5f/i4+L/dHR0aQAAAAAAAAAAYWFhZeTl
5P/m5+b/6Ono/+np6f/p6un/6uvq/+vr6//s7Oz/7e7t/ycnJ/8AAAD/Ghoa/7S0tP/m5ub/5OTk/9HR
0f9GRkb/AAAA/wICAv/IyMj/7Ozs/+vs6//q6+r/6urq/+nq6f/o6ej/5+fn/+Tk5P9sbGxpAAAAAAAA
AAA9Pj1lj4+P/5OTk/+VlZX/lpaW/5eXl/+YmJj/mZmZ/5qamv92dnb/AAAA/wEBAf+/wL//3Nzc/+Tk
5P/l5eX/3d3d/+Li4v8mJib/AAAA/0ZGRv+ampr/mZmZ/5iYmP+Xl5f/lpaW/5WVlf+Tk5P/j4+P/0ZG
RmoAAAAAAAAAAAwMDGUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Nzc3/+fn
5//q6ur/7O3s/+zt7P/v7+//39/f/4WFhf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/EBAQagAAAAAAAAAAAwMHZQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP9NTU3/5ufm//Lz8v/z9PP/8/Tz//X19f/l5eX/nZ2d/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8GBgpqAAAAAAAAAAAAABZlAQEk/wEBJ/8CAin/AgIq/wICKv8CAiv/AgIs/wIC
LP8BAR3/AAAA/xwcHP/w8PD/6+zr//r6+v/6+vr/9PT0/+vr6/9lZWX/AAAA/wAAD/8CAi3/AgIs/wIC
K/8CAir/AgIq/wICKf8BASf/AQEl/wUFG2oAAAAAAAAAAAICQGUGBpL/Bwec/wgIo/8JCaf/CQmq/wkJ
rf8JCa//Cgqz/wkJqP8AAAL/AAAA/4CAgP/y8/L/6+zr/+3t7f/u7u7/xMTE/wcHB/8AAAD/BgZz/woK
s/8JCbD/CQmt/wkJqv8JCaj/CAik/wcHnf8HB5P/Dg5MagAAAAAAAAAAAwNHZQgIk/8JCZ3/Cgqj/wsL
p/8LC6n/Cwus/wsLr/8MDLL/DAy2/wYGW/8AAAD/AAAA/1JSUv+sraz/tra2/3h4eP8KCgr/AAAA/wIC
Iv8MDLb/DAyy/wsLsP8LC63/Cwuq/wsLp/8KCqT/CQmd/wgIk/8PD1VrAAAAAAAAAAAEBE1lCQmY/woK
ov8LC6j/DAyr/wwMrf8MDLD/DAyy/w0Ntf8NDbf/Dg67/wUFSv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8CAiH/DQ2q/w0NuP8NDbX/DQ2z/wwMsP8MDK7/DAyr/wsLqP8KCqL/CQmZ/xAQWmsAAAAAAAAAAAQE
UGUKCp7/Cwum/wwMrP8NDa//DQ2w/w0Ns/8ODrX/Dg63/w4Ouf8ODrv/Dw/A/wwMiv8FBTj/AAAG/wAA
AP8DAyb/CQls/w8Pu/8PD7z/Dg66/w4OuP8ODrX/DQ2z/w0Nsf8NDa//DAys/wsLp/8KCp7/ERFeawAA
AAAAAAAABQVTZQsLpP8MDKv/DQ2w/w4Os/8ODrT/Dg62/w8PuP8PD7r/Dw+8/w8Pvf8QEL//EBDA/xER
w/8SEsn/ERHJ/xERxf8QEMD/EBC//w8Pvv8PD7z/Dw+6/w8PuP8ODrf/Dg61/w4Os/8NDbH/DAyr/wsL
pP8SEmFrAAAAAAAAAAAGBlZlDAyq/w4OsP8PD7X/Dw+3/w8PuP8QELr/EBC7/xAQvf8REb7/ERHA/xER
wf8REcL/EhLC/xISw/8SEsP/EhLC/xERwv8REcH/ERHA/xERvv8QEL3/EBC7/xAQuv8QELj/Dw+3/w8P
tf8ODrD/DAyq/xMTZWsAAAAAAAAAAAcHWmUODrD/EBC2/xERuv8REbz/ERG9/xISvv8SEr//EhLA/xMT
wf8TE8P/ExPD/xMTxP8TE8X/FBTF/xQUxf8UFMX/ExPE/xMTxP8TE8P/ExPC/xISwf8SEr//EhK+/xER
vf8REbz/ERG6/xAQtv8ODrD/FBRpawAAAAAAAAAACAhcYxAQtf8SErv/ExO+/xQUwP8UFMD/FBTB/xUV
wv8VFcP/FRXE/xUVxf8WFsb/FhbG/xYWx/8WFsf/FhbH/xYWx/8WFsf/FhbG/xYWxf8VFcT/FRXD/xUV
wv8UFMH/FBTB/xQUwP8TE77/EhK7/xAQtf8TE2hoAAAAAAAAAAAQEFNUFRXC/xMTv/8UFMP/FRXE/xUV
xP8VFcX/FRXG/xYWx/8WFsf/FhbI/xYWyf8XF8n/FxfK/xcXyv8XF8r/FxfK/xcXyf8XF8n/FhbI/xYW
yP8WFsf/FhbG/xUVxf8VFcT/FRXE/xQUw/8TE7//FRXB/xAQV1UAAAAAAAAAAA0NPxkjI8byFBTD/xUV
x/8WFsj/FxfJ/xcXyf8XF8r/FxfK/xcXy/8YGMz/GBjM/xgYzP8YGM3/GBjN/xgYzf8YGM3/GBjM/xgY
zP8YGMz/GBjL/xcXy/8XF8r/FxfJ/xcXyf8WFsj/FRXH/xQUw/8jI8f0Dg5GGwAAAAAAAAAAFhZxAiUl
eIUZGcr/FBTI/xUVyv8WFsv/FhbM/xYWzP8WFsz/FhbN/xcXzf8XF83/FxfN/xcXzv8XF87/FxfO/xcX
zv8XF87/FxfN/xcXzf8WFs3/FhbM/xYWzP8WFsz/FhbL/xUVyv8UFMj/GBjJ/yYmeogWFnYCAAAAAAAA
AAAAAAAAGBh1BzMzk50kJNP+FxfK/xgYzP8YGMz/GBjN/xgYzf8YGM3/GBjN/xgYzf8ZGc7/GRnO/xkZ
zv8ZGc7/GRnO/xkZzv8YGM3/GBjN/xgYzf8YGM3/GBjN/xgYzP8YGMz/FxfK/yMj0v4zM5WfFBRkBwAA
AAAAAAAAAAAAAAAAAAAAAAAAHBx7Ay0tdkg3N5emMTGpxSwsp8gsLKfILCynyCwsp8gsLKfILCynyCws
p8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyCwsp8gsLKfILCynyDExqcU2NpenLi54Shsb
ewMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////8AAAD+AAAAfAAAADwAAAA8AAAAPAAAADwAAAA8AA
AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
AAPAAAADwAAAA8AAAAPAAAAD4AAAB/gAAB//////
</value>
</data>
</root>

View File

@ -358,9 +358,9 @@ public override string ChecksumInfo
private const int wcSeed = 0x1D290;
public readonly int CGearInfoOffset, CGearDataOffset;
private readonly int Trainer2, AdventureInfo, PokeDexLanguageFlags;
private readonly int Trainer2, AdventureInfo;
public readonly int PokeDexLanguageFlags;
public override bool HasBoxWallpapers => false;
public override bool HasPokeDex => false;
// Daycare
public override int DaycareSeedSize => 16;
@ -623,26 +623,28 @@ protected override void setDex(PKM pkm)
int lang = pkm.Language - 1; if (lang > 5) lang--; // 0-6 language vals
int gender = pkm.Gender % 2; // genderless -> male
int shiny = pkm.IsShiny ? 1 : 0;
int shift = shiny*2 + gender + 1;
int shiftoff = shiny * brSize * 2 + gender * brSize + brSize;
int ofs = PokeDex + 0x8 + (bit >> 3);
// Set the Species Owned Flag
Data[PokeDex + 0x8 + bit / 8] |= (byte)(1 << (bit % 8));
Data[ofs + brSize*0] |= (byte)(1 << (bit % 8));
// Set the [Species/Gender/Shiny] Seen Flag
Data[PokeDex + 0x8 + shiftoff + bit / 8] |= (byte)(1 << (bit % 8));
Data[PokeDex + 0x8 + shiftoff + bit / 8] |= (byte)(1 << (bit&7));
// Set the Display flag if none are set
bool Displayed = false;
Displayed |= (Data[PokeDex + 0x8 + brSize*5 + bit/8] & (byte)(1 << (bit%8))) != 0;
Displayed |= (Data[PokeDex + 0x8 + brSize*6 + bit/8] & (byte)(1 << (bit%8))) != 0;
Displayed |= (Data[PokeDex + 0x8 + brSize*7 + bit/8] & (byte)(1 << (bit%8))) != 0;
Displayed |= (Data[PokeDex + 0x8 + brSize*8 + bit/8] & (byte)(1 << (bit%8))) != 0;
Displayed |= (Data[ofs + brSize*5] & (byte)(1 << (bit&7))) != 0;
Displayed |= (Data[ofs + brSize*6] & (byte)(1 << (bit&7))) != 0;
Displayed |= (Data[ofs + brSize*7] & (byte)(1 << (bit&7))) != 0;
Displayed |= (Data[ofs + brSize*8] & (byte)(1 << (bit&7))) != 0;
if (!Displayed) // offset is already biased by brSize, reuse shiftoff but for the display flags.
Data[PokeDex + 0x8 + shiftoff + brSize*4 + bit/8] |= (byte)(1 << (bit%8));
Data[ofs + brSize*(shift + 4)] |= (byte)(1 << (bit&7));
// Set the Language
if (lang < 0) lang = 1;
Data[PokeDexLanguageFlags + (bit*7 + lang) / 8] |= (byte)(1 << ((bit*7 + lang) % 8));
Data[PokeDexLanguageFlags + ((bit*7 + lang)>>3)] |= (byte)(1 << ((bit*7 + lang) & 7));
// Formes
int fc = Personal[pkm.Species].FormeCount;
@ -654,19 +656,19 @@ protected override void setDex(PKM pkm)
bit = f + pkm.AltForm;
// Set Form Seen Flag
Data[FormDex + FormLen*shiny + bit/8] |= (byte)(1 << (bit%8));
Data[FormDex + FormLen*shiny + (bit>>3)] |= (byte)(1 << (bit&7));
// Set Displayed Flag if necessary, check all flags
for (int i = 0; i < fc; i++)
{
bit = f + i;
if ((Data[FormDex + FormLen*2 + bit/8] & (byte)(1 << (bit%8))) != 0) // Nonshiny
if ((Data[FormDex + FormLen*2 + (bit>>3)] & (byte)(1 << (bit&7))) != 0) // Nonshiny
return; // already set
if ((Data[FormDex + FormLen*3 + bit/8] & (byte)(1 << (bit%8))) != 0) // Shiny
if ((Data[FormDex + FormLen*3 + (bit>>3)] & (byte)(1 << (bit&7))) != 0) // Shiny
return; // already set
}
bit = f + pkm.AltForm;
Data[FormDex + FormLen * (2 + shiny) + bit / 8] |= (byte)(1 << (bit % 8));
Data[FormDex + FormLen * (2 + shiny) + (bit>>3)] |= (byte)(1 << (bit&7));
}
}
}