19
PKHeX.sln
|
@ -1,7 +1,13 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual C# Express 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX", "PKHeX.csproj", "{B4EFF030-C75A-49F9-A4BC-738D1B61C4AF}"
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX", "PKHeX\PKHeX.csproj", "{B4EFF030-C75A-49F9-A4BC-738D1B61C4AF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PKHeX.Tests", "Tests\PKHeX.Tests\PKHeX.Tests.csproj", "{8E2499BC-C11A-4809-8737-66D35A625425}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{7C0598C9-DDF3-4ACC-B15D-6A626ADB7530}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -13,8 +19,15 @@ Global
|
|||
{B4EFF030-C75A-49F9-A4BC-738D1B61C4AF}.Debug|x86.Build.0 = Debug|x86
|
||||
{B4EFF030-C75A-49F9-A4BC-738D1B61C4AF}.Release|x86.ActiveCfg = Release|x86
|
||||
{B4EFF030-C75A-49F9-A4BC-738D1B61C4AF}.Release|x86.Build.0 = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Debug|x86.Build.0 = Debug|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|x86.ActiveCfg = Release|x86
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{8E2499BC-C11A-4809-8737-66D35A625425} = {7C0598C9-DDF3-4ACC-B15D-6A626ADB7530}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -710,7 +710,7 @@ namespace PKHeX
|
|||
switch (pk6.OT_Memory)
|
||||
{
|
||||
case 2: // {0} hatched from an Egg and saw {1} for the first time at... {2}. {4} that {3}.
|
||||
if (!pk6.WasEgg)
|
||||
if (!pk6.WasEgg && pk6.Egg_Location != 60004)
|
||||
return new LegalityCheck(Severity.Invalid, "OT Memory: OT did not hatch this.");
|
||||
return new LegalityCheck(Severity.Valid, "OT Memory is valid.");
|
||||
case 4: // {0} became {1}’s friend when it arrived via Link Trade at... {2}. {4} that {3}.
|
||||
|
@ -1054,7 +1054,7 @@ namespace PKHeX
|
|||
return res;
|
||||
}
|
||||
|
||||
internal static string[] movelist = Util.getStringList("moves", "en");
|
||||
internal static string[] movelist = Util.getMovesList("en");
|
||||
private static readonly string[] EventRibName =
|
||||
{
|
||||
"Country", "National", "Earth", "World", "Classic",
|
|
@ -399,6 +399,7 @@ namespace PKHeX
|
|||
386, // Deoxys
|
||||
487, // Giratina
|
||||
492, // Shaymin
|
||||
720, // Hoopa
|
||||
};
|
||||
internal static readonly int[] BreedMaleOnly =
|
||||
{
|
||||
|
@ -444,6 +445,7 @@ namespace PKHeX
|
|||
486, // Regigigas
|
||||
487, // Giratina
|
||||
488, // Cresselia
|
||||
490, // Manaphy
|
||||
491, // Darkrai
|
||||
492, // Shaymin
|
||||
493, // Arceus
|
|
@ -30,7 +30,7 @@ namespace PKHeX
|
|||
internal static readonly ushort[] Pouch_Battle_DP = {
|
||||
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
|
||||
};
|
||||
internal static readonly ushort[] HeldItems_DP = new ushort[1].Concat(Pouch_Items_DP).Concat(Pouch_Mail_DP).Concat(Pouch_Medicine_DP).Concat(Pouch_Berries_DP).Concat(Pouch_Ball_DP).ToArray();
|
||||
internal static readonly ushort[] HeldItems_DP = new ushort[1].Concat(Pouch_Items_DP).Concat(Pouch_Mail_DP).Concat(Pouch_Medicine_DP).Concat(Pouch_Berries_DP).Concat(Pouch_Ball_DP).Concat(Pouch_TMHM_DP.Take(Pouch_TMHM_DP.Length - 8)).ToArray();
|
||||
#endregion
|
||||
|
||||
#region Pt
|
||||
|
@ -47,7 +47,7 @@ namespace PKHeX
|
|||
internal static readonly ushort[] Pouch_Ball_Pt = Pouch_Ball_DP;
|
||||
internal static readonly ushort[] Pouch_Battle_Pt = Pouch_Battle_DP;
|
||||
|
||||
internal static readonly ushort[] HeldItems_Pt = new ushort[1].Concat(Pouch_Items_Pt).Concat(Pouch_Mail_Pt).Concat(Pouch_Medicine_Pt).Concat(Pouch_Berries_Pt).Concat(Pouch_Ball_Pt).ToArray();
|
||||
internal static readonly ushort[] HeldItems_Pt = new ushort[1].Concat(Pouch_Items_Pt).Concat(Pouch_Mail_Pt).Concat(Pouch_Medicine_Pt).Concat(Pouch_Berries_Pt).Concat(Pouch_Ball_Pt).Concat(Pouch_TMHM_Pt.Take(Pouch_TMHM_Pt.Length - 8)).ToArray();
|
||||
#endregion
|
||||
|
||||
#region HGSS
|
||||
|
@ -64,7 +64,7 @@ namespace PKHeX
|
|||
};
|
||||
internal static readonly ushort[] Pouch_Battle_HGSS = Pouch_Battle_DP;
|
||||
|
||||
internal static readonly ushort[] HeldItems_HGSS = new ushort[1].Concat(Pouch_Items_HGSS).Concat(Pouch_Mail_HGSS).Concat(Pouch_Medicine_HGSS).Concat(Pouch_Berries_HGSS).Concat(Pouch_Ball_Pt).ToArray();
|
||||
internal static readonly ushort[] HeldItems_HGSS = new ushort[1].Concat(Pouch_Items_HGSS).Concat(Pouch_Mail_HGSS).Concat(Pouch_Medicine_HGSS).Concat(Pouch_Berries_HGSS).Concat(Pouch_Ball_Pt).Concat(Pouch_TMHM_HGSS.Take(Pouch_TMHM_HGSS.Length - 8)).ToArray();
|
||||
#endregion
|
||||
|
||||
internal static readonly int[] MovePP_DP =
|
|
@ -356,6 +356,7 @@
|
|||
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.B_CGearSkin = 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();
|
||||
|
@ -3072,7 +3073,11 @@
|
|||
this.bpkx30.TabStop = false;
|
||||
this.bpkx30.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx30.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx30.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx30.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx30.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx30.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx30.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// mnuVSD
|
||||
//
|
||||
|
@ -3116,7 +3121,11 @@
|
|||
this.bpkx29.TabStop = false;
|
||||
this.bpkx29.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx29.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx29.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx29.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx29.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx29.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx29.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx28
|
||||
//
|
||||
|
@ -3130,7 +3139,11 @@
|
|||
this.bpkx28.TabStop = false;
|
||||
this.bpkx28.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx28.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx28.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx28.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx28.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx28.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx28.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx27
|
||||
//
|
||||
|
@ -3144,7 +3157,11 @@
|
|||
this.bpkx27.TabStop = false;
|
||||
this.bpkx27.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx27.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx27.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx27.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx27.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx27.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx27.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx26
|
||||
//
|
||||
|
@ -3158,7 +3175,11 @@
|
|||
this.bpkx26.TabStop = false;
|
||||
this.bpkx26.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx26.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx26.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx26.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx26.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx26.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx26.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx25
|
||||
//
|
||||
|
@ -3172,7 +3193,11 @@
|
|||
this.bpkx25.TabStop = false;
|
||||
this.bpkx25.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx25.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx25.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx25.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx25.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx25.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx25.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx24
|
||||
//
|
||||
|
@ -3186,7 +3211,11 @@
|
|||
this.bpkx24.TabStop = false;
|
||||
this.bpkx24.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx24.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx24.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx24.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx24.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx24.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx24.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx23
|
||||
//
|
||||
|
@ -3200,7 +3229,11 @@
|
|||
this.bpkx23.TabStop = false;
|
||||
this.bpkx23.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx23.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx23.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx23.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx23.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx23.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx23.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx22
|
||||
//
|
||||
|
@ -3214,7 +3247,11 @@
|
|||
this.bpkx22.TabStop = false;
|
||||
this.bpkx22.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx22.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx22.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx22.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx22.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx22.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx22.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx21
|
||||
//
|
||||
|
@ -3228,7 +3265,11 @@
|
|||
this.bpkx21.TabStop = false;
|
||||
this.bpkx21.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx21.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx21.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx21.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx21.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx21.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx21.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx20
|
||||
//
|
||||
|
@ -3242,7 +3283,11 @@
|
|||
this.bpkx20.TabStop = false;
|
||||
this.bpkx20.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx20.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx20.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx20.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx20.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx20.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx20.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx19
|
||||
//
|
||||
|
@ -3256,7 +3301,11 @@
|
|||
this.bpkx19.TabStop = false;
|
||||
this.bpkx19.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx19.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx19.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx19.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx19.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx19.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx19.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx18
|
||||
//
|
||||
|
@ -3270,7 +3319,11 @@
|
|||
this.bpkx18.TabStop = false;
|
||||
this.bpkx18.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx18.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx18.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx18.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx18.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx18.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx18.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx17
|
||||
//
|
||||
|
@ -3284,7 +3337,11 @@
|
|||
this.bpkx17.TabStop = false;
|
||||
this.bpkx17.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx17.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx17.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx17.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx17.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx17.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx17.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx16
|
||||
//
|
||||
|
@ -3298,7 +3355,11 @@
|
|||
this.bpkx16.TabStop = false;
|
||||
this.bpkx16.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx16.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx16.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx16.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx16.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx16.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx16.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx15
|
||||
//
|
||||
|
@ -3312,7 +3373,11 @@
|
|||
this.bpkx15.TabStop = false;
|
||||
this.bpkx15.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx15.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx15.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx15.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx15.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx15.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx15.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx14
|
||||
//
|
||||
|
@ -3326,7 +3391,11 @@
|
|||
this.bpkx14.TabStop = false;
|
||||
this.bpkx14.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx14.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx14.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx14.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx14.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx14.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx14.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx13
|
||||
//
|
||||
|
@ -3340,7 +3409,11 @@
|
|||
this.bpkx13.TabStop = false;
|
||||
this.bpkx13.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx13.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx13.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx13.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx13.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx13.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx13.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx12
|
||||
//
|
||||
|
@ -3354,7 +3427,11 @@
|
|||
this.bpkx12.TabStop = false;
|
||||
this.bpkx12.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx12.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx12.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx12.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx12.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx12.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx12.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx11
|
||||
//
|
||||
|
@ -3368,7 +3445,11 @@
|
|||
this.bpkx11.TabStop = false;
|
||||
this.bpkx11.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx11.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx11.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx11.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx11.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx11.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx11.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx10
|
||||
//
|
||||
|
@ -3382,7 +3463,11 @@
|
|||
this.bpkx10.TabStop = false;
|
||||
this.bpkx10.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx10.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx10.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx10.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx10.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx10.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx10.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx9
|
||||
//
|
||||
|
@ -3396,7 +3481,11 @@
|
|||
this.bpkx9.TabStop = false;
|
||||
this.bpkx9.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx9.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx9.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx9.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx9.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx9.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx9.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx8
|
||||
//
|
||||
|
@ -3410,7 +3499,11 @@
|
|||
this.bpkx8.TabStop = false;
|
||||
this.bpkx8.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx8.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx8.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx8.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx8.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx8.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx8.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx7
|
||||
//
|
||||
|
@ -3424,7 +3517,11 @@
|
|||
this.bpkx7.TabStop = false;
|
||||
this.bpkx7.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx7.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx7.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx7.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx7.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx7.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx7.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx6
|
||||
//
|
||||
|
@ -3438,7 +3535,11 @@
|
|||
this.bpkx6.TabStop = false;
|
||||
this.bpkx6.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx6.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx6.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx6.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx5
|
||||
//
|
||||
|
@ -3452,7 +3553,11 @@
|
|||
this.bpkx5.TabStop = false;
|
||||
this.bpkx5.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx5.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx5.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx5.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx4
|
||||
//
|
||||
|
@ -3466,7 +3571,11 @@
|
|||
this.bpkx4.TabStop = false;
|
||||
this.bpkx4.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx4.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx4.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx4.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx3
|
||||
//
|
||||
|
@ -3480,7 +3589,11 @@
|
|||
this.bpkx3.TabStop = false;
|
||||
this.bpkx3.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx3.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx3.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx2
|
||||
//
|
||||
|
@ -3494,7 +3607,11 @@
|
|||
this.bpkx2.TabStop = false;
|
||||
this.bpkx2.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx2.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx2.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bpkx1
|
||||
//
|
||||
|
@ -3508,7 +3625,11 @@
|
|||
this.bpkx1.TabStop = false;
|
||||
this.bpkx1.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop);
|
||||
this.bpkx1.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter);
|
||||
this.bpkx1.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bpkx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bpkx1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// B_BoxRight
|
||||
//
|
||||
|
@ -3624,7 +3745,11 @@
|
|||
this.bbpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx1.TabIndex = 8;
|
||||
this.bbpkx1.TabStop = false;
|
||||
this.bbpkx1.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// mnuV
|
||||
//
|
||||
|
@ -3649,7 +3774,11 @@
|
|||
this.bbpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx2.TabIndex = 9;
|
||||
this.bbpkx2.TabStop = false;
|
||||
this.bbpkx2.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bbpkx3
|
||||
//
|
||||
|
@ -3660,7 +3789,11 @@
|
|||
this.bbpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx3.TabIndex = 10;
|
||||
this.bbpkx3.TabStop = false;
|
||||
this.bbpkx3.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bbpkx4
|
||||
//
|
||||
|
@ -3671,7 +3804,11 @@
|
|||
this.bbpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx4.TabIndex = 11;
|
||||
this.bbpkx4.TabStop = false;
|
||||
this.bbpkx4.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx4.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bbpkx5
|
||||
//
|
||||
|
@ -3682,7 +3819,11 @@
|
|||
this.bbpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx5.TabIndex = 12;
|
||||
this.bbpkx5.TabStop = false;
|
||||
this.bbpkx5.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx5.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// bbpkx6
|
||||
//
|
||||
|
@ -3693,7 +3834,11 @@
|
|||
this.bbpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.bbpkx6.TabIndex = 13;
|
||||
this.bbpkx6.TabStop = false;
|
||||
this.bbpkx6.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.bbpkx6.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.bbpkx6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.bbpkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.bbpkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// L_ReadOnlyPBB
|
||||
//
|
||||
|
@ -3749,7 +3894,11 @@
|
|||
this.ppkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx1.TabIndex = 2;
|
||||
this.ppkx1.TabStop = false;
|
||||
this.ppkx1.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// ppkx2
|
||||
//
|
||||
|
@ -3760,7 +3909,11 @@
|
|||
this.ppkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx2.TabIndex = 3;
|
||||
this.ppkx2.TabStop = false;
|
||||
this.ppkx2.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// ppkx3
|
||||
//
|
||||
|
@ -3771,7 +3924,11 @@
|
|||
this.ppkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx3.TabIndex = 4;
|
||||
this.ppkx3.TabStop = false;
|
||||
this.ppkx3.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// ppkx4
|
||||
//
|
||||
|
@ -3782,7 +3939,11 @@
|
|||
this.ppkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx4.TabIndex = 5;
|
||||
this.ppkx4.TabStop = false;
|
||||
this.ppkx4.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx4.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// ppkx5
|
||||
//
|
||||
|
@ -3793,7 +3954,11 @@
|
|||
this.ppkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx5.TabIndex = 6;
|
||||
this.ppkx5.TabStop = false;
|
||||
this.ppkx5.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx5.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// ppkx6
|
||||
//
|
||||
|
@ -3804,7 +3969,11 @@
|
|||
this.ppkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.ppkx6.TabIndex = 7;
|
||||
this.ppkx6.TabStop = false;
|
||||
this.ppkx6.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.ppkx6.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.ppkx6.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.ppkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.ppkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// Tab_Other
|
||||
//
|
||||
|
@ -3922,7 +4091,11 @@
|
|||
this.dcpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.dcpkx2.TabIndex = 11;
|
||||
this.dcpkx2.TabStop = false;
|
||||
this.dcpkx2.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.dcpkx2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.dcpkx2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.dcpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.dcpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// dcpkx1
|
||||
//
|
||||
|
@ -3934,7 +4107,11 @@
|
|||
this.dcpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.dcpkx1.TabIndex = 10;
|
||||
this.dcpkx1.TabStop = false;
|
||||
this.dcpkx1.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.dcpkx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.dcpkx1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.dcpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.dcpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// DayCare_HasEgg
|
||||
//
|
||||
|
@ -3967,7 +4144,11 @@
|
|||
this.gtspkx.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.gtspkx.TabIndex = 23;
|
||||
this.gtspkx.TabStop = false;
|
||||
this.gtspkx.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.gtspkx.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.gtspkx.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.gtspkx.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.gtspkx.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// GB_Fused
|
||||
//
|
||||
|
@ -3989,7 +4170,11 @@
|
|||
this.fusedpkx.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.fusedpkx.TabIndex = 24;
|
||||
this.fusedpkx.TabStop = false;
|
||||
this.fusedpkx.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.fusedpkx.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.fusedpkx.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.fusedpkx.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.fusedpkx.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// L_ReadOnlyOther
|
||||
//
|
||||
|
@ -4023,7 +4208,11 @@
|
|||
this.subepkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.subepkx1.TabIndex = 18;
|
||||
this.subepkx1.TabStop = false;
|
||||
this.subepkx1.QueryContinueDrag += new System.Windows.Forms.QueryContinueDragEventHandler(this.pbBoxSlot_QueryContinueDrag);
|
||||
this.subepkx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseClick);
|
||||
this.subepkx1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseDown);
|
||||
this.subepkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove);
|
||||
this.subepkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp);
|
||||
//
|
||||
// subepkx2
|
||||
//
|
||||
|
@ -4189,6 +4378,7 @@
|
|||
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.Controls.Add(this.B_CGearSkin);
|
||||
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);
|
||||
|
@ -4347,6 +4537,16 @@
|
|||
this.B_LinkInfo.UseVisualStyleBackColor = true;
|
||||
this.B_LinkInfo.Click += new System.EventHandler(this.B_LinkInfo_Click);
|
||||
//
|
||||
// B_CGearSkin
|
||||
//
|
||||
this.B_CGearSkin.Location = new System.Drawing.Point(3, 148);
|
||||
this.B_CGearSkin.Name = "B_CGearSkin";
|
||||
this.B_CGearSkin.Size = new System.Drawing.Size(87, 23);
|
||||
this.B_CGearSkin.TabIndex = 24;
|
||||
this.B_CGearSkin.Text = "C-Gear Skin";
|
||||
this.B_CGearSkin.UseVisualStyleBackColor = true;
|
||||
this.B_CGearSkin.Click += new System.EventHandler(this.B_CGearSkin_Click);
|
||||
//
|
||||
// dragout
|
||||
//
|
||||
this.dragout.BackColor = System.Drawing.Color.Transparent;
|
||||
|
@ -4883,6 +5083,7 @@
|
|||
private System.Windows.Forms.Button BTN_Medals;
|
||||
private System.Windows.Forms.FlowLayoutPanel FLP_PKMEditors;
|
||||
private System.Windows.Forms.Button B_LinkInfo;
|
||||
private System.Windows.Forms.Button B_CGearSkin;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Deployment.Application;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
@ -18,7 +17,7 @@ namespace PKHeX
|
|||
{
|
||||
#region Initialize Form
|
||||
new Thread(() => new SplashScreen().ShowDialog()).Start();
|
||||
pkm_from = SAV.BlankPKM.EncryptedPartyData;
|
||||
slotPkmSource = SAV.BlankPKM.EncryptedPartyData;
|
||||
InitializeComponent();
|
||||
CB_ExtraBytes.SelectedIndex = 0;
|
||||
SaveFile.SetUpdateDex = Menu_ModifyDex.Checked;
|
||||
|
@ -115,11 +114,11 @@ namespace PKHeX
|
|||
}
|
||||
if (!SAV.Exportable) // No SAV loaded from exe args
|
||||
{
|
||||
string path = detectSaveFile();
|
||||
string path = SaveUtil.detectSaveFile();
|
||||
if (path != null && File.Exists(path))
|
||||
openQuick(path, force: true);
|
||||
else
|
||||
GB_SAVtools.Visible = false;
|
||||
loadSAV(SAV, null);
|
||||
}
|
||||
|
||||
// Splash Screen closes on its own.
|
||||
|
@ -177,7 +176,7 @@ namespace PKHeX
|
|||
|
||||
#region Path Variables
|
||||
|
||||
public static string WorkingDirectory => ApplicationDeployment.IsNetworkDeployed ? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "PKHeX") : Environment.CurrentDirectory;
|
||||
public static string WorkingDirectory => Environment.CurrentDirectory;
|
||||
public static string DatabasePath => Path.Combine(WorkingDirectory, "db");
|
||||
private static string WC6DatabasePath => Path.Combine(WorkingDirectory, "wc6");
|
||||
private static string BackupPath => Path.Combine(WorkingDirectory, "bak");
|
||||
|
@ -188,11 +187,22 @@ namespace PKHeX
|
|||
// Main Menu Strip UI Functions
|
||||
private void mainMenuOpen(object sender, EventArgs e)
|
||||
{
|
||||
string pkx = pkm.Extension;
|
||||
string ekx = 'e' + pkx.Substring(1, pkx.Length-1);
|
||||
|
||||
string supported = "*.pkm;";
|
||||
for (int i = 3; i <= SAV.Generation; i++)
|
||||
{
|
||||
supported += $"*.pk{i}";
|
||||
if (i != pkm.Format)
|
||||
supported += ";";
|
||||
}
|
||||
|
||||
OpenFileDialog ofd = new OpenFileDialog
|
||||
{
|
||||
Filter = "PKX File|*.pk6;*.pkx" +
|
||||
"|EKX File|*.ek6;*.ekx" +
|
||||
"|BIN File|*.bin" +
|
||||
Filter = $"Decrypted PKM File|{supported}" +
|
||||
$"|Encrypted PKM File|*.{ekx}" +
|
||||
"|Binary File|*.bin" +
|
||||
"|All Files|*.*",
|
||||
RestoreDirectory = true,
|
||||
FilterIndex = 4,
|
||||
|
@ -204,7 +214,7 @@ namespace PKHeX
|
|||
ofd.InitialDirectory = WorkingDirectory;
|
||||
|
||||
// Detect main
|
||||
string path = detectSaveFile();
|
||||
string path = SaveUtil.detectSaveFile();
|
||||
if (path != null)
|
||||
{ ofd.InitialDirectory = Path.GetDirectoryName(path); }
|
||||
else if (File.Exists(Path.Combine(ofd.InitialDirectory, "main")))
|
||||
|
@ -219,32 +229,32 @@ namespace PKHeX
|
|||
{
|
||||
if (!verifiedPKM()) return;
|
||||
PKM pk = preparePKM();
|
||||
string pkx = pk.Extension;
|
||||
string ekx = 'e' + pkx.Substring(1, pkx.Length - 1);
|
||||
SaveFileDialog sfd = new SaveFileDialog
|
||||
{
|
||||
Filter = "PKX File|*.pk6;*.pkx" +
|
||||
"|EKX File|*.ek6;*.ekx" +
|
||||
"|BIN File|*.bin" +
|
||||
Filter = $"Decrypted PKM File|*.{pkx}" +
|
||||
$"|Encrypted PKM File|*.{ekx}" +
|
||||
"|Binary File|*.bin" +
|
||||
"|All Files|*.*",
|
||||
DefaultExt = "pk6",
|
||||
DefaultExt = pkx,
|
||||
FileName = Util.CleanFileName(pk.FileName)
|
||||
};
|
||||
if (sfd.ShowDialog() != DialogResult.OK) return;
|
||||
string path = sfd.FileName;
|
||||
// Injection Dummy Override
|
||||
if (path.Contains("pokemon.ekx")) path = Path.Combine(Path.GetDirectoryName(path), "pokemon.ekx");
|
||||
string ext = Path.GetExtension(path);
|
||||
|
||||
if (File.Exists(path) && !path.Contains("pokemon.ekx"))
|
||||
if (File.Exists(path))
|
||||
{
|
||||
// File already exists, save a .bak
|
||||
byte[] backupfile = File.ReadAllBytes(path);
|
||||
File.WriteAllBytes(path + ".bak", backupfile);
|
||||
}
|
||||
|
||||
if (new[] {".ekx", ".ek6", ".bin"}.Contains(ext))
|
||||
if (new[] {".ekx", "."+ekx, ".bin"}.Contains(ext))
|
||||
File.WriteAllBytes(path, pk.EncryptedPartyData);
|
||||
else if (new[] { ".pkx", ".pk6" }.Contains(ext))
|
||||
File.WriteAllBytes(path, pk.Data);
|
||||
else if (new[] { "."+pkx }.Contains(ext))
|
||||
File.WriteAllBytes(path, pk.DecryptedBoxData);
|
||||
else
|
||||
{
|
||||
Util.Error($"Foreign File Extension: {ext}", "Exporting as encrypted.");
|
||||
|
@ -253,7 +263,7 @@ namespace PKHeX
|
|||
}
|
||||
private void mainMenuExit(object sender, EventArgs e)
|
||||
{
|
||||
if (ModifierKeys == (Keys.Control | Keys.Q)) // Hotkey Triggered
|
||||
if (ModifierKeys == Keys.Control) // Hotkey Triggered
|
||||
if (DialogResult.Yes != Util.Prompt(MessageBoxButtons.YesNo, "Quit PKHeX?")) return;
|
||||
Close();
|
||||
}
|
||||
|
@ -279,11 +289,11 @@ namespace PKHeX
|
|||
if (z != null)
|
||||
{ Util.CenterToForm(z, this); z.BringToFront(); return; }
|
||||
|
||||
if (Directory.Exists("db"))
|
||||
if (Directory.Exists(DatabasePath))
|
||||
new SAV_Database(this).Show();
|
||||
else
|
||||
Util.Alert("PKHeX's database was not found",
|
||||
"Please dump all boxes from a save file, then ensure the 'db' folder exists.");
|
||||
Util.Alert("PKHeX's database was not found.",
|
||||
$"Please dump all boxes from a save file, then ensure the '{DatabasePath}' folder exists.");
|
||||
}
|
||||
private void mainMenuUnicode(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -488,17 +498,17 @@ namespace PKHeX
|
|||
}
|
||||
private void clickOpenSDFFolder(object sender, EventArgs e)
|
||||
{
|
||||
string path;
|
||||
if (Util.get3DSLocation() != null && Directory.Exists(path = Util.GetSDFLocation()))
|
||||
string path = Path.GetPathRoot(Util.get3DSLocation());
|
||||
if (path != null && Directory.Exists(path = Path.Combine(path, "filer", "UserSaveData")))
|
||||
Process.Start("explorer.exe", path);
|
||||
else
|
||||
Util.Alert("Can't find the SaveDataFiler folder.");
|
||||
}
|
||||
private void clickOpenSDBFolder(object sender, EventArgs e)
|
||||
{
|
||||
string path3DS = Util.get3DSLocation();
|
||||
string path3DS = Path.GetPathRoot(Util.get3DSLocation());
|
||||
string path;
|
||||
if (path3DS != null && Directory.Exists(path = Path.Combine(Path.GetPathRoot(path3DS), "SaveDataBackup")))
|
||||
if (path3DS != null && Directory.Exists(path = Path.Combine(path3DS, "SaveDataBackup")))
|
||||
Process.Start("explorer.exe", path);
|
||||
else
|
||||
Util.Alert("Can't find the SaveDataBackup folder.");
|
||||
|
@ -605,7 +615,7 @@ namespace PKHeX
|
|||
if (SAV.Generation < 6)
|
||||
{ Util.Alert("Cannot load a Gen6 Battle Video to a past generation save file."); return; }
|
||||
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo, "Load Batte Video Pokémon data to " + CB_BoxSelect.Text + "?", "The box will be overwritten.") != DialogResult.Yes)
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo, "Load Battle Video Pokémon data to " + CB_BoxSelect.Text + "?", "The box will be overwritten.") != DialogResult.Yes)
|
||||
return;
|
||||
|
||||
bool? noSetb = getPKMSetOverride();
|
||||
|
@ -709,11 +719,11 @@ namespace PKHeX
|
|||
"Cancel: FireRed / LeafGreen");
|
||||
|
||||
if (drGame == DialogResult.Yes)
|
||||
sav = new SAV3(sav.Data, GameVersion.RS);
|
||||
sav = new SAV3(sav.BAK, GameVersion.RS);
|
||||
else if (drGame == DialogResult.No)
|
||||
sav = new SAV3(sav.Data, GameVersion.E);
|
||||
sav = new SAV3(sav.BAK, GameVersion.E);
|
||||
else
|
||||
sav = new SAV3(sav.Data, GameVersion.FRLG);
|
||||
sav = new SAV3(sav.BAK, GameVersion.FRLG);
|
||||
}
|
||||
var drJP = Util.Prompt(MessageBoxButtons.YesNoCancel, $"Generation 3 ({sav.Version}) Save File detected. Select Origins:", "Yes: International" + Environment.NewLine + "No: Japanese");
|
||||
if (drJP == DialogResult.Cancel)
|
||||
|
@ -729,52 +739,76 @@ namespace PKHeX
|
|||
sav.Personal = drFRLG == DialogResult.Yes ? PersonalTable.FR : PersonalTable.LG;
|
||||
}
|
||||
}
|
||||
loadSAV(sav, path);
|
||||
}
|
||||
private void loadSAV(SaveFile sav, string path)
|
||||
{
|
||||
PKM pk = preparePKM();
|
||||
SAV = sav;
|
||||
|
||||
SAV.FilePath = Path.GetDirectoryName(path);
|
||||
SAV.FileName = Path.GetExtension(path) == ".bak"
|
||||
? Path.GetFileName(path)?.Split(new[] {" ["}, StringSplitOptions.None)[0]
|
||||
: Path.GetFileName(path);
|
||||
L_Save.Text = $"SAV{SAV.Generation}: {Path.GetFileNameWithoutExtension(Util.CleanFileName(SAV.BAKName))}"; // more descriptive
|
||||
|
||||
if (path != null) // Actual save file
|
||||
{
|
||||
SAV.FilePath = Path.GetDirectoryName(path);
|
||||
SAV.FileName = Path.GetExtension(path) == ".bak"
|
||||
? Path.GetFileName(path).Split(new[] { " [" }, StringSplitOptions.None)[0]
|
||||
: Path.GetFileName(path);
|
||||
L_Save.Text = $"SAV{SAV.Generation}: {Path.GetFileNameWithoutExtension(Util.CleanFileName(SAV.BAKName))}"; // more descriptive
|
||||
|
||||
// If backup folder exists, save a backup.
|
||||
string backupName = Path.Combine(BackupPath, Util.CleanFileName(SAV.BAKName));
|
||||
if (SAV.Exportable && Directory.Exists(BackupPath) && !File.Exists(backupName))
|
||||
File.WriteAllBytes(backupName, SAV.BAK);
|
||||
|
||||
GB_SAVtools.Visible = true;
|
||||
}
|
||||
else // Blank save file
|
||||
{
|
||||
SAV.FilePath = null;
|
||||
SAV.FileName = "Blank Save File";
|
||||
L_Save.Text = $"SAV{SAV.Generation}: {SAV.FileName} [{SAV.OT} ({SAV.Version})]";
|
||||
|
||||
GB_SAVtools.Visible = false;
|
||||
}
|
||||
Menu_ExportSAV.Enabled = B_VerifyCHK.Enabled = SAV.Exportable;
|
||||
|
||||
setBoxNames(); // Display the Box Names
|
||||
if (SAV.HasBox)
|
||||
{
|
||||
int startBox = SAV.CurrentBox; // FF if BattleBox
|
||||
int startBox = path == null ? 0 : SAV.CurrentBox; // FF if BattleBox
|
||||
if (startBox > SAV.BoxCount - 1) { tabBoxMulti.SelectedIndex = 1; CB_BoxSelect.SelectedIndex = 0; }
|
||||
else { tabBoxMulti.SelectedIndex = 0; CB_BoxSelect.SelectedIndex = startBox; }
|
||||
}
|
||||
setPKXBoxes(); // Reload all of the PKX Windows
|
||||
|
||||
// Hide content if not present in game.
|
||||
GB_SAVtools.Visible = true;
|
||||
GB_SUBE.Visible = SAV.HasSUBE;
|
||||
PB_Locked.Visible = SAV.HasBattleBox && SAV.BattleBoxLocked;
|
||||
|
||||
PAN_Box.Visible = CB_BoxSelect.Visible = B_BoxLeft.Visible = B_BoxRight.Visible = SAV.HasBox;
|
||||
Menu_LoadBoxes.Enabled = Menu_DumpBoxes.Enabled = Menu_Report.Enabled = Menu_Modify.Enabled = B_SaveBoxBin.Enabled = SAV.HasBox;
|
||||
|
||||
PAN_BattleBox.Visible = L_BattleBox.Visible = L_ReadOnlyPBB.Visible = SAV.HasBattleBox;
|
||||
GB_Daycare.Visible = SAV.HasDaycare;
|
||||
GB_Fused.Visible = SAV.HasFused;
|
||||
GB_GTS.Visible = SAV.HasGTS;
|
||||
B_OpenSecretBase.Visible = SAV.HasSecretBase;
|
||||
B_OpenPokepuffs.Visible = SAV.HasPuff;
|
||||
B_OUTPasserby.Visible = SAV.HasPSS;
|
||||
B_OpenBoxLayout.Visible = SAV.HasBoxWallpapers;
|
||||
B_OpenWondercards.Visible = SAV.HasWondercards;
|
||||
B_OpenSuperTraining.Visible = SAV.HasSuperTrain;
|
||||
B_OpenHallofFame.Visible = SAV.HasHoF;
|
||||
B_OpenOPowers.Visible = SAV.HasOPower;
|
||||
B_OpenPokedex.Visible = SAV.HasPokeDex;
|
||||
B_OpenBerryField.Visible = SAV.HasBerryField;
|
||||
B_Pokeblocks.Visible = SAV.HasPokeBlock;
|
||||
B_JPEG.Visible = SAV.HasJPEG;
|
||||
B_OpenEventFlags.Visible = SAV.HasEvents;
|
||||
B_LinkInfo.Visible = SAV.HasLink;
|
||||
if (GB_SAVtools.Visible)
|
||||
{
|
||||
PAN_BattleBox.Visible = L_BattleBox.Visible = L_ReadOnlyPBB.Visible = SAV.HasBattleBox;
|
||||
GB_Daycare.Visible = SAV.HasDaycare;
|
||||
GB_Fused.Visible = SAV.HasFused;
|
||||
GB_GTS.Visible = SAV.HasGTS;
|
||||
B_OpenSecretBase.Visible = SAV.HasSecretBase;
|
||||
B_OpenPokepuffs.Visible = SAV.HasPuff;
|
||||
B_OUTPasserby.Visible = SAV.HasPSS;
|
||||
B_OpenBoxLayout.Visible = SAV.HasBoxWallpapers;
|
||||
B_OpenWondercards.Visible = SAV.HasWondercards;
|
||||
B_OpenSuperTraining.Visible = SAV.HasSuperTrain;
|
||||
B_OpenHallofFame.Visible = SAV.HasHoF;
|
||||
B_OpenOPowers.Visible = SAV.HasOPower;
|
||||
B_OpenPokedex.Visible = SAV.HasPokeDex;
|
||||
B_OpenBerryField.Visible = SAV.HasBerryField;
|
||||
B_Pokeblocks.Visible = SAV.HasPokeBlock;
|
||||
B_JPEG.Visible = SAV.HasJPEG;
|
||||
B_OpenEventFlags.Visible = SAV.HasEvents;
|
||||
B_LinkInfo.Visible = SAV.HasLink;
|
||||
B_CGearSkin.Visible = SAV.Generation == 5;
|
||||
}
|
||||
|
||||
// Generational Interface
|
||||
byte[] extraBytes = new byte[1];
|
||||
|
@ -788,7 +822,7 @@ namespace PKHeX
|
|||
|
||||
PB_MarkPentagon.Visible = SAV.Generation == 6;
|
||||
PB_Legal.Visible = PB_WarnMove1.Visible = PB_WarnMove2.Visible = PB_WarnMove3.Visible = PB_WarnMove4.Visible = SAV.Generation == 6;
|
||||
TB_GameSync.Visible = TB_Secure1.Visible = TB_Secure2.Visible = L_GameSync.Visible = L_Secure1.Visible = L_Secure2.Visible = SAV.Generation == 6;
|
||||
TB_GameSync.Visible = TB_Secure1.Visible = TB_Secure2.Visible = L_GameSync.Visible = L_Secure1.Visible = L_Secure2.Visible = SAV.Exportable && SAV.Generation == 6;
|
||||
|
||||
CB_Form.Visible = Label_Form.Visible = CHK_AsEgg.Visible = GB_EggConditions.Visible =
|
||||
Label_MetDate.Visible = CAL_MetDate.Visible = PB_Mark5.Visible = PB_Mark6.Visible = SAV.Generation >= 4;
|
||||
|
@ -854,11 +888,6 @@ namespace PKHeX
|
|||
// Refresh PK#->PK6 conversion info
|
||||
PKMConverter.updateConfig(SAV.SubRegion, SAV.Country, SAV.ConsoleRegion, SAV.OT, SAV.Gender);
|
||||
|
||||
// If backup folder exists, save a backup.
|
||||
string backupName = Path.Combine(BackupPath, Util.CleanFileName(SAV.BAKName));
|
||||
if (SAV.Exportable && Directory.Exists(BackupPath) && !File.Exists(backupName))
|
||||
File.WriteAllBytes(backupName, SAV.BAK);
|
||||
|
||||
// Indicate audibly the save is loaded
|
||||
SystemSounds.Beep.Play();
|
||||
}
|
||||
|
@ -867,10 +896,18 @@ namespace PKHeX
|
|||
List<WC6> wc6db = new List<WC6>();
|
||||
byte[] wc6bin = Properties.Resources.wc6;
|
||||
for (int i = 0; i < wc6bin.Length; i += WC6.Size)
|
||||
wc6db.Add(new WC6(wc6bin.Skip(i).Take(WC6.Size).ToArray()));
|
||||
{
|
||||
byte[] data = new byte[WC6.Size];
|
||||
Array.Copy(wc6bin, i, data, 0, WC6.Size);
|
||||
wc6db.Add(new WC6(data));
|
||||
}
|
||||
byte[] wc6full = Properties.Resources.wc6full;
|
||||
for (int i = 0; i < wc6full.Length; i += WC6.SizeFull)
|
||||
wc6db.Add(new WC6(wc6full.Skip(i).Take(WC6.SizeFull).ToArray()));
|
||||
{
|
||||
byte[] data = new byte[WC6.SizeFull];
|
||||
Array.Copy(wc6bin, i, data, 0, WC6.SizeFull);
|
||||
wc6db.Add(new WC6(data));
|
||||
}
|
||||
|
||||
if (Directory.Exists(WC6DatabasePath))
|
||||
wc6db.AddRange(from file in Directory.GetFiles(WC6DatabasePath, "*", SearchOption.AllDirectories)
|
||||
|
@ -909,11 +946,11 @@ namespace PKHeX
|
|||
string l = curlanguage;
|
||||
natures = Util.getStringList("natures", l);
|
||||
types = Util.getStringList("types", l);
|
||||
abilitylist = Util.getStringList("abilities", l);
|
||||
movelist = Util.getStringList("moves", l);
|
||||
abilitylist = Util.getAbilitiesList(l);
|
||||
movelist = Util.getMovesList(l);
|
||||
itemlist = Util.getStringList("items", l);
|
||||
characteristics = Util.getStringList("character", l);
|
||||
specieslist = Util.getStringList("species", l);
|
||||
specieslist = Util.getSpeciesList(l);
|
||||
wallpapernames = Util.getStringList("wallpaper", l);
|
||||
encountertypelist = Util.getStringList("encountertype", l);
|
||||
gamelist = Util.getStringList("games", l);
|
||||
|
@ -1616,13 +1653,13 @@ namespace PKHeX
|
|||
pkm.setPIDGender(pkm.Gender);
|
||||
TB_PID.Text = pkm.PID.ToString("X8");
|
||||
getQuickFiller(dragout);
|
||||
if (pkm.Format >= 6)
|
||||
TB_EC.Text = pkm.EncryptionConstant.ToString("X8");
|
||||
if (pkm.GenNumber < 6 && TB_EC.Visible)
|
||||
TB_EC.Text = TB_PID.Text;
|
||||
}
|
||||
private void updateRandomEC(object sender, EventArgs e)
|
||||
{
|
||||
int origin = Util.getIndex(CB_GameOrigin);
|
||||
if (origin < 24)
|
||||
pkm.Version = Util.getIndex(CB_GameOrigin);
|
||||
if (pkm.GenNumber < 6)
|
||||
{
|
||||
TB_EC.Text = TB_PID.Text;
|
||||
Util.Alert("EC should match PID.");
|
||||
|
@ -2089,11 +2126,12 @@ namespace PKHeX
|
|||
pkm.Nature = Util.getIndex(CB_Nature);
|
||||
pkm.Gender = PKX.getGender(Label_Gender.Text);
|
||||
pkm.AltForm = CB_Form.SelectedIndex;
|
||||
pkm.Version = Util.getIndex(CB_GameOrigin);
|
||||
|
||||
pkm.setShinyPID();
|
||||
TB_PID.Text = pkm.PID.ToString("X8");
|
||||
|
||||
if (pkm.Format >= 6)
|
||||
if (pkm.GenNumber < 6 && TB_EC.Visible)
|
||||
TB_EC.Text = TB_PID.Text;
|
||||
|
||||
getQuickFiller(dragout);
|
||||
|
@ -2161,6 +2199,8 @@ namespace PKHeX
|
|||
}
|
||||
private void validateComboBox2(object sender, EventArgs e)
|
||||
{
|
||||
if (!fieldsInitialized)
|
||||
return;
|
||||
validateComboBox(sender, e);
|
||||
if (sender == CB_Ability)
|
||||
TB_AbilityNumber.Text = (1 << CB_Ability.SelectedIndex).ToString();
|
||||
|
@ -2171,6 +2211,8 @@ namespace PKHeX
|
|||
}
|
||||
private void validateMove(object sender, EventArgs e)
|
||||
{
|
||||
if (!fieldsInitialized)
|
||||
return;
|
||||
validateComboBox(sender);
|
||||
if (!fieldsLoaded)
|
||||
return;
|
||||
|
@ -2391,7 +2433,10 @@ namespace PKHeX
|
|||
// Drag & Drop Events
|
||||
private void tabMain_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
|
||||
if (e.AllowedEffect == (DragDropEffects.Copy | DragDropEffects.Link)) // external file
|
||||
e.Effect = DragDropEffects.Copy;
|
||||
else if (e.Data != null) // within
|
||||
e.Effect = DragDropEffects.Move;
|
||||
}
|
||||
private void tabMain_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
|
@ -2787,7 +2832,7 @@ namespace PKHeX
|
|||
for (int i = 0; i < battle.Length; i++)
|
||||
getQuickFiller(SlotPictureBoxes[i + 36], battle[i]);
|
||||
for (int i = battle.Length; i < 6; i++)
|
||||
SlotPictureBoxes[i + 30].Image = null;
|
||||
SlotPictureBoxes[i + 36].Image = null;
|
||||
}
|
||||
}
|
||||
private int getPKXOffset(int slot)
|
||||
|
@ -3224,6 +3269,10 @@ namespace PKHeX
|
|||
{
|
||||
new SAV_Link6().ShowDialog();
|
||||
}
|
||||
private void B_CGearSkin_Click(object sender, EventArgs e)
|
||||
{
|
||||
new SAV_CGearSkin().ShowDialog();
|
||||
}
|
||||
private void B_JPEG_Click(object sender, EventArgs e)
|
||||
{
|
||||
byte[] jpeg = SAV.JPEGData;
|
||||
|
@ -3237,97 +3286,103 @@ namespace PKHeX
|
|||
// Save Folder Related
|
||||
private void clickSaveFileName(object sender, EventArgs e)
|
||||
{
|
||||
string path = detectSaveFile();
|
||||
string path = SaveUtil.detectSaveFile();
|
||||
if (path == null || !File.Exists(path)) return;
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo, "Open save file from the following location?", path) == DialogResult.Yes)
|
||||
openQuick(path); // load save
|
||||
}
|
||||
private static string detectSaveFile()
|
||||
|
||||
// Drag and drop related functions
|
||||
private void pbBoxSlot_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
string pathSDF = Util.GetSDFLocation();
|
||||
string path3DS = Util.get3DSLocation();
|
||||
string pathCache = Util.GetCacheFolder();
|
||||
if (slotDragDropInProgress)
|
||||
return;
|
||||
|
||||
if (path3DS != null && Directory.Exists(Path.Combine(path3DS, "SaveDataBackup")) && ModifierKeys != Keys.Control)
|
||||
return Path.Combine(Path.GetPathRoot(path3DS), "SaveDataBackup", "main");
|
||||
if (pathSDF != null && ModifierKeys != Keys.Shift) // if we have a result
|
||||
return Path.Combine(pathSDF, "main");
|
||||
if (path3DS != null && Directory.Exists(Path.Combine(Path.GetPathRoot(path3DS), "JKSV", "Saves")))
|
||||
return Directory.GetFiles(Path.Combine(Path.GetPathRoot(path3DS), "JKSV", "Saves"), "main", SearchOption.AllDirectories)
|
||||
.Where(f => SaveUtil.SizeValidSAV6((int)new FileInfo(f).Length)) // filter
|
||||
.OrderByDescending(f => new FileInfo(f).LastWriteTime).FirstOrDefault();
|
||||
if (Directory.Exists(pathCache))
|
||||
return Directory.GetFiles(pathCache).Where(f => SaveUtil.SizeValidSAV6((int)new FileInfo(f).Length)) // filter
|
||||
.OrderByDescending(f => new FileInfo(f).LastWriteTime).FirstOrDefault();
|
||||
try
|
||||
{
|
||||
if (File.Exists(Util.NormalizePath(Path.Combine(Util.GetTempFolder(), "root", "main")))) // if cgse exists
|
||||
return Util.NormalizePath(Path.Combine(Util.GetTempFolder(), "root", "main"));
|
||||
} catch { }
|
||||
|
||||
return null;
|
||||
clickSlot(sender, e);
|
||||
}
|
||||
private void pbBoxSlot_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
slotLeftMouseIsDown = false;
|
||||
if (e.Button == MouseButtons.Right)
|
||||
slotRightMouseIsDown = false;
|
||||
}
|
||||
|
||||
// Drag & Drop within Box
|
||||
private void pbBoxSlot_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button != MouseButtons.Left || e.Clicks != 1) return;
|
||||
if (ModifierKeys == Keys.Control || ModifierKeys == Keys.Alt || ModifierKeys == Keys.Shift || ModifierKeys == (Keys.Control | Keys.Alt))
|
||||
{ clickSlot(sender, e); return; }
|
||||
PictureBox pb = (PictureBox)sender;
|
||||
if (pb.Image == null)
|
||||
if (e.Button == MouseButtons.Left)
|
||||
slotLeftMouseIsDown = true;
|
||||
if (e.Button == MouseButtons.Right)
|
||||
slotRightMouseIsDown = true;
|
||||
}
|
||||
private void pbBoxSlot_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (slotDragDropInProgress)
|
||||
return;
|
||||
|
||||
pkm_from_slot = getSlot(sender);
|
||||
int offset = getPKXOffset(pkm_from_slot);
|
||||
// Create Temp File to Drag
|
||||
Cursor.Current = Cursors.Hand;
|
||||
|
||||
// Prepare Data
|
||||
pkm_from = SAV.getData(offset, SAV.SIZE_STORED);
|
||||
pkm_from_offset = offset;
|
||||
|
||||
// Make a new file name based off the PID
|
||||
byte[] dragdata = SAV.decryptPKM(pkm_from);
|
||||
Array.Resize(ref dragdata, SAV.SIZE_STORED);
|
||||
PKM pkx = SAV.getPKM(dragdata);
|
||||
string filename = pkx.FileName;
|
||||
|
||||
// Make File
|
||||
string newfile = Path.Combine(Path.GetTempPath(), Util.CleanFileName(filename));
|
||||
try
|
||||
if (slotLeftMouseIsDown)
|
||||
{
|
||||
File.WriteAllBytes(newfile, dragdata);
|
||||
DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move);
|
||||
// The goal is to create a temporary PKX file for the underlying Pokemon
|
||||
// and use that file to perform a drag drop operation.
|
||||
|
||||
// Abort if there is no Pokemon in the given slot.
|
||||
if (((PictureBox)sender).Image == null)
|
||||
return;
|
||||
|
||||
// Set flag to prevent re-entering.
|
||||
slotDragDropInProgress = true;
|
||||
|
||||
slotSourceSlotNumber = getSlot(sender);
|
||||
int offset = getPKXOffset(slotSourceSlotNumber);
|
||||
|
||||
// Prepare Data
|
||||
slotPkmSource = SAV.getData(offset, SAV.SIZE_STORED);
|
||||
slotSourceOffset = offset;
|
||||
|
||||
// Make a new file name based off the PID
|
||||
byte[] dragdata = SAV.decryptPKM(slotPkmSource);
|
||||
Array.Resize(ref dragdata, SAV.SIZE_STORED);
|
||||
PKM pkx = SAV.getPKM(dragdata);
|
||||
string filename = pkx.FileName;
|
||||
|
||||
// Make File
|
||||
string newfile = Path.Combine(Path.GetTempPath(), Util.CleanFileName(filename));
|
||||
try
|
||||
{
|
||||
File.WriteAllBytes(newfile, dragdata);
|
||||
// Thread Blocks on DoDragDrop
|
||||
((PictureBox)sender).DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move);
|
||||
}
|
||||
catch (Exception x)
|
||||
{
|
||||
Util.Error("Drag & Drop Error:", x.ToString());
|
||||
}
|
||||
slotSourceOffset = 0;
|
||||
|
||||
// Browser apps need time to load data since the file isn't moved to a location on the user's local storage.
|
||||
// Tested 10ms -> too quick, 100ms was fine. 500ms should be safe?
|
||||
new Thread(() =>
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
if (File.Exists(newfile))
|
||||
File.Delete(newfile);
|
||||
}).Start();
|
||||
}
|
||||
catch (ArgumentException x)
|
||||
{ Util.Error("Drag & Drop Error:", x.ToString()); }
|
||||
pkm_from_offset = 0;
|
||||
|
||||
// Browser apps need time to load data since the file isn't moved to a location on the user's local storage.
|
||||
// Tested 10ms -> too quick, 100ms was fine. 500ms should be safe?
|
||||
new Thread(() =>
|
||||
{
|
||||
Thread.Sleep(500);
|
||||
if (File.Exists(newfile))
|
||||
File.Delete(newfile);
|
||||
}).Start();
|
||||
}
|
||||
private void pbBoxSlot_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
int slot = getSlot(sender);
|
||||
int offset = getPKXOffset(slot);
|
||||
int slotDestinationSlotNumber = getSlot(sender);
|
||||
int slotDestinationOffset = getPKXOffset(slotDestinationSlotNumber);
|
||||
|
||||
// Check for In-Dropped files (PKX,SAV,ETC)
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
if (Directory.Exists(files[0])) { loadBoxesFromDB(files[0]); return; }
|
||||
if (pkm_from_offset == 0)
|
||||
if (slotSourceOffset == 0)
|
||||
{
|
||||
if (files.Length <= 0)
|
||||
return;
|
||||
string file = files[0];
|
||||
FileInfo fi = new FileInfo(file);
|
||||
if (!PKX.getIsPKM(fi.Length))
|
||||
if (!PKX.getIsPKM(fi.Length) && !MysteryGift.getIsMysteryGift(fi.Length))
|
||||
{ openQuick(file); return; }
|
||||
|
||||
byte[] data = File.ReadAllBytes(file);
|
||||
|
@ -3347,36 +3402,45 @@ namespace PKHeX
|
|||
{ Console.WriteLine(c); Console.WriteLine(concat); return; }
|
||||
}
|
||||
|
||||
SAV.setStoredSlot(pk, offset);
|
||||
getQuickFiller(SlotPictureBoxes[slot], pk);
|
||||
getSlotColor(slot, Properties.Resources.slotSet);
|
||||
SAV.setStoredSlot(pk, slotDestinationOffset);
|
||||
getQuickFiller(SlotPictureBoxes[slotDestinationSlotNumber], pk);
|
||||
getSlotColor(slotDestinationSlotNumber, Properties.Resources.slotSet);
|
||||
Console.WriteLine(c);
|
||||
}
|
||||
else
|
||||
{
|
||||
PKM pkz = SAV.getStoredSlot(pkm_from_offset);
|
||||
if (ModifierKeys == Keys.Alt && slot > -1) // overwrite delete old slot
|
||||
PKM pkz = SAV.getStoredSlot(slotSourceOffset);
|
||||
if (ModifierKeys == Keys.Alt && slotDestinationSlotNumber > -1) // overwrite delete old slot
|
||||
{
|
||||
// Clear from slot
|
||||
getQuickFiller(SlotPictureBoxes[pkm_from_slot], SAV.BlankPKM); // picturebox
|
||||
SAV.setStoredSlot(SAV.BlankPKM, pkm_from_offset); // savefile
|
||||
getQuickFiller(SlotPictureBoxes[slotSourceSlotNumber], SAV.BlankPKM); // picturebox
|
||||
SAV.setStoredSlot(SAV.BlankPKM, slotSourceOffset); // savefile
|
||||
}
|
||||
else if (ModifierKeys != Keys.Control && slot > -1)
|
||||
else if (ModifierKeys != Keys.Control && slotDestinationSlotNumber > -1)
|
||||
{
|
||||
// Load data from destination
|
||||
PKM pk = SAV.getStoredSlot(offset);
|
||||
if (((PictureBox)sender).Image != null)
|
||||
{
|
||||
// Load data from destination
|
||||
PKM pk = SAV.getStoredSlot(slotDestinationOffset);
|
||||
|
||||
// Swap slot picture
|
||||
getQuickFiller(SlotPictureBoxes[pkm_from_slot], pk);
|
||||
// Set destination pokemon image to source picture box
|
||||
getQuickFiller(SlotPictureBoxes[slotSourceSlotNumber], pk);
|
||||
|
||||
// Swap slot data to source
|
||||
SAV.setStoredSlot(pk, pkm_from_offset);
|
||||
// Set destination pokemon data to source slot
|
||||
SAV.setStoredSlot(pk, slotSourceOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set blank to source slot
|
||||
SAV.setStoredSlot(SAV.BlankPKM, slotSourceOffset);
|
||||
SlotPictureBoxes[slotSourceSlotNumber].Image = null;
|
||||
}
|
||||
}
|
||||
// Copy from temp slot to new.
|
||||
SAV.setStoredSlot(pkz, offset);
|
||||
getQuickFiller(SlotPictureBoxes[slot], pkz);
|
||||
// Copy from temp to destination slot.
|
||||
SAV.setStoredSlot(pkz, slotDestinationOffset);
|
||||
getQuickFiller(SlotPictureBoxes[slotDestinationSlotNumber], pkz);
|
||||
|
||||
pkm_from_offset = 0; // Clear offset value
|
||||
slotSourceOffset = 0; // Clear offset value
|
||||
}
|
||||
}
|
||||
private void pbBoxSlot_DragEnter(object sender, DragEventArgs e)
|
||||
|
@ -3386,10 +3450,22 @@ namespace PKHeX
|
|||
else if (e.Data != null) // within
|
||||
e.Effect = DragDropEffects.Move;
|
||||
}
|
||||
private void pbBoxSlot_QueryContinueDrag(object sender, QueryContinueDragEventArgs e)
|
||||
{
|
||||
if (e.Action == DragAction.Cancel || e.Action == DragAction.Drop)
|
||||
{
|
||||
slotLeftMouseIsDown = false;
|
||||
slotRightMouseIsDown = false;
|
||||
slotDragDropInProgress = false;
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] pkm_from;
|
||||
private int pkm_from_offset;
|
||||
private int pkm_from_slot = -1;
|
||||
private static bool slotLeftMouseIsDown = false;
|
||||
private static bool slotRightMouseIsDown = false;
|
||||
private static bool slotDragDropInProgress = false;
|
||||
private byte[] slotPkmSource;
|
||||
private int slotSourceOffset;
|
||||
private int slotSourceSlotNumber = -1;
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1306,6 +1306,9 @@
|
|||
<metadata name="B_LinkInfo.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="B_CGearSkin.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">
|
||||
<value>True</value>
|
||||
</metadata>
|
|
@ -41,10 +41,14 @@ namespace PKHeX
|
|||
CB_EncounterType.SelectedValue = pk4.Gen4 ? pk4.EncounterType : 0;
|
||||
CB_Ball.SelectedValue = pk4.Ball;
|
||||
|
||||
if (pk4.Met_Month == 0) { pk4.Met_Month = 1; }
|
||||
if (pk4.Met_Day == 0) { pk4.Met_Day = 1; }
|
||||
try { CAL_MetDate.Value = new DateTime(pk4.Met_Year + 2000, pk4.Met_Month, pk4.Met_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk4.MetDate.HasValue)
|
||||
{
|
||||
CAL_MetDate.Value = pk4.MetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_MetDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
|
||||
if (pk4.Egg_Location != 0)
|
||||
{
|
||||
|
@ -53,8 +57,14 @@ namespace PKHeX
|
|||
GB_EggConditions.Enabled = true;
|
||||
|
||||
CB_EggLocation.SelectedValue = pk4.Egg_Location;
|
||||
try { CAL_EggDate.Value = new DateTime(pk4.Egg_Year + 2000, pk4.Egg_Month, pk4.Egg_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk4.EggMetDate.HasValue)
|
||||
{
|
||||
CAL_EggDate.Value = pk4.EggMetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_EggDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
}
|
||||
else { CAL_EggDate.Value = new DateTime(2000, 01, 01); CHK_AsEgg.Checked = GB_EggConditions.Enabled = false; CB_EggLocation.SelectedValue = 0; }
|
||||
|
||||
|
@ -194,30 +204,22 @@ namespace PKHeX
|
|||
pk4.Language = Util.getIndex(CB_Language);
|
||||
|
||||
// Default Dates
|
||||
int egg_year = 2000;
|
||||
int egg_month = 0;
|
||||
int egg_day = 0;
|
||||
DateTime? egg_date = null;
|
||||
int egg_location = 0;
|
||||
if (CHK_AsEgg.Checked) // If encountered as an egg, load the Egg Met data from fields.
|
||||
{
|
||||
egg_year = CAL_EggDate.Value.Year;
|
||||
egg_month = CAL_EggDate.Value.Month;
|
||||
egg_day = CAL_EggDate.Value.Day;
|
||||
egg_date = CAL_EggDate.Value;
|
||||
egg_location = Util.getIndex(CB_EggLocation);
|
||||
}
|
||||
// Egg Met Data
|
||||
pk4.Egg_Year = egg_year - 2000;
|
||||
pk4.Egg_Month = egg_month;
|
||||
pk4.Egg_Day = egg_day;
|
||||
pk4.EggMetDate = egg_date;
|
||||
pk4.Egg_Location = egg_location;
|
||||
// Met Data
|
||||
pk4.Met_Year = CAL_MetDate.Value.Year - 2000;
|
||||
pk4.Met_Month = CAL_MetDate.Value.Month;
|
||||
pk4.Met_Day = CAL_MetDate.Value.Day;
|
||||
pk4.MetDate = CAL_MetDate.Value;
|
||||
pk4.Met_Location = Util.getIndex(CB_MetLocation);
|
||||
|
||||
if (pk4.IsEgg && pk4.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it!
|
||||
pk4.Met_Year = pk4.Met_Month = pk4.Met_Day = 0;
|
||||
pk4.MetDate = null;
|
||||
|
||||
// Toss in Party Stats
|
||||
Array.Resize(ref pk4.Data, pk4.SIZE_PARTY);
|
|
@ -50,10 +50,14 @@ namespace PKHeX
|
|||
CB_EncounterType.SelectedValue = pk5.Gen4 ? pk5.EncounterType : 0;
|
||||
CB_Ball.SelectedValue = pk5.Ball;
|
||||
|
||||
if (pk5.Met_Month == 0) { pk5.Met_Month = 1; }
|
||||
if (pk5.Met_Day == 0) { pk5.Met_Day = 1; }
|
||||
try { CAL_MetDate.Value = new DateTime(pk5.Met_Year + 2000, pk5.Met_Month, pk5.Met_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk5.MetDate.HasValue)
|
||||
{
|
||||
CAL_MetDate.Value = pk5.MetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_MetDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
|
||||
if (pk5.Egg_Location != 0)
|
||||
{
|
||||
|
@ -62,8 +66,14 @@ namespace PKHeX
|
|||
GB_EggConditions.Enabled = true;
|
||||
|
||||
CB_EggLocation.SelectedValue = pk5.Egg_Location;
|
||||
try { CAL_EggDate.Value = new DateTime(pk5.Egg_Year + 2000, pk5.Egg_Month, pk5.Egg_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk5.EggMetDate.HasValue)
|
||||
{
|
||||
CAL_EggDate.Value = pk5.EggMetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_EggDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
}
|
||||
else { CAL_EggDate.Value = new DateTime(2000, 01, 01); CHK_AsEgg.Checked = GB_EggConditions.Enabled = false; CB_EggLocation.SelectedValue = 0; }
|
||||
|
||||
|
@ -200,30 +210,22 @@ namespace PKHeX
|
|||
pk5.CurrentFriendship = Util.ToInt32(TB_Friendship.Text);
|
||||
|
||||
// Default Dates
|
||||
int egg_year = 2000;
|
||||
int egg_month = 0;
|
||||
int egg_day = 0;
|
||||
DateTime? egg_date = null;
|
||||
int egg_location = 0;
|
||||
if (CHK_AsEgg.Checked) // If encountered as an egg, load the Egg Met data from fields.
|
||||
if (CHK_AsEgg.Checked) // If encountered as an egg, load the Egg Met data from fields.
|
||||
{
|
||||
egg_year = CAL_EggDate.Value.Year;
|
||||
egg_month = CAL_EggDate.Value.Month;
|
||||
egg_day = CAL_EggDate.Value.Day;
|
||||
egg_date = CAL_EggDate.Value;
|
||||
egg_location = Util.getIndex(CB_EggLocation);
|
||||
}
|
||||
// Egg Met Data
|
||||
pk5.Egg_Year = egg_year - 2000;
|
||||
pk5.Egg_Month = egg_month;
|
||||
pk5.Egg_Day = egg_day;
|
||||
pk5.EggMetDate = egg_date;
|
||||
pk5.Egg_Location = egg_location;
|
||||
// Met Data
|
||||
pk5.Met_Year = CAL_MetDate.Value.Year - 2000;
|
||||
pk5.Met_Month = CAL_MetDate.Value.Month;
|
||||
pk5.Met_Day = CAL_MetDate.Value.Day;
|
||||
pk5.MetDate = CAL_MetDate.Value;
|
||||
pk5.Met_Location = Util.getIndex(CB_MetLocation);
|
||||
|
||||
if (pk5.IsEgg && pk5.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it!
|
||||
pk5.Met_Year = pk5.Met_Month = pk5.Met_Day = 0;
|
||||
pk5.MetDate = null;
|
||||
|
||||
pk5.Ball = Util.getIndex(CB_Ball);
|
||||
pk5.Met_Level = Util.ToInt32(TB_MetLevel.Text);
|
|
@ -57,10 +57,14 @@ namespace PKHeX
|
|||
CB_EncounterType.SelectedValue = pk6.Gen4 ? pk6.EncounterType : 0;
|
||||
CB_Ball.SelectedValue = pk6.Ball;
|
||||
|
||||
if (pk6.Met_Month == 0) { pk6.Met_Month = 1; }
|
||||
if (pk6.Met_Day == 0) { pk6.Met_Day = 1; }
|
||||
try { CAL_MetDate.Value = new DateTime(pk6.Met_Year + 2000, pk6.Met_Month, pk6.Met_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk6.MetDate.HasValue)
|
||||
{
|
||||
CAL_MetDate.Value = pk6.MetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_MetDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
|
||||
if (pk6.Egg_Location != 0)
|
||||
{
|
||||
|
@ -69,8 +73,14 @@ namespace PKHeX
|
|||
GB_EggConditions.Enabled = true;
|
||||
|
||||
CB_EggLocation.SelectedValue = pk6.Egg_Location;
|
||||
try { CAL_EggDate.Value = new DateTime(pk6.Egg_Year + 2000, pk6.Egg_Month, pk6.Egg_Day); }
|
||||
catch { CAL_MetDate.Value = new DateTime(2000, 1, 1); }
|
||||
if (pk6.EggMetDate.HasValue)
|
||||
{
|
||||
CAL_EggDate.Value = pk6.EggMetDate.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CAL_EggDate.Value = new DateTime(2000, 1, 1);
|
||||
}
|
||||
}
|
||||
else { CAL_EggDate.Value = new DateTime(2000, 01, 01); CHK_AsEgg.Checked = GB_EggConditions.Enabled = false; CB_EggLocation.SelectedValue = 0; }
|
||||
|
||||
|
@ -263,30 +273,22 @@ namespace PKHeX
|
|||
pk6.OT_Name = TB_OT.Text;
|
||||
pk6.CurrentFriendship = Util.ToInt32(TB_Friendship.Text);
|
||||
|
||||
int egg_year = 2000; // Default Dates
|
||||
int egg_month = 0;
|
||||
int egg_day = 0;
|
||||
DateTime? egg_date = null;
|
||||
int egg_location = 0;
|
||||
if (CHK_AsEgg.Checked) // If encountered as an egg, load the Egg Met data from fields.
|
||||
{
|
||||
egg_year = CAL_EggDate.Value.Year;
|
||||
egg_month = CAL_EggDate.Value.Month;
|
||||
egg_day = CAL_EggDate.Value.Day;
|
||||
egg_date = CAL_EggDate.Value;
|
||||
egg_location = Util.getIndex(CB_EggLocation);
|
||||
}
|
||||
// Egg Met Data
|
||||
pk6.Egg_Year = egg_year - 2000;
|
||||
pk6.Egg_Month = egg_month;
|
||||
pk6.Egg_Day = egg_day;
|
||||
pk6.EggMetDate = egg_date;
|
||||
pk6.Egg_Location = egg_location;
|
||||
// Met Data
|
||||
pk6.Met_Year = CAL_MetDate.Value.Year - 2000;
|
||||
pk6.Met_Month = CAL_MetDate.Value.Month;
|
||||
pk6.Met_Day = CAL_MetDate.Value.Day;
|
||||
pk6.MetDate = CAL_MetDate.Value;
|
||||
pk6.Met_Location = Util.getIndex(CB_MetLocation);
|
||||
|
||||
if (pk6.IsEgg && pk6.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it!
|
||||
pk6.Met_Year = pk6.Met_Month = pk6.Met_Day = 0;
|
||||
pk6.MetDate = null;
|
||||
|
||||
// 0xD7 Unknown
|
||||
|
0
Misc/QR.Designer.cs → PKHeX/Misc/QR.Designer.cs
generated
|
@ -5,6 +5,10 @@ namespace PKHeX
|
|||
{
|
||||
public abstract class MysteryGift
|
||||
{
|
||||
internal static bool getIsMysteryGift(long len)
|
||||
{
|
||||
return new[] { WC6.SizeFull, WC6.Size, PGF.Size, PGT.Size, PCD.Size }.Contains((int)len);
|
||||
}
|
||||
internal static MysteryGift getMysteryGift(byte[] data, string ext)
|
||||
{
|
||||
if (data.Length == WC6.SizeFull && ext == ".wc6full")
|
|
@ -90,9 +90,44 @@ namespace PKHeX
|
|||
// Card Attributes
|
||||
public override int Item { get { return BitConverter.ToUInt16(Data, 0x00); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x00); } }
|
||||
|
||||
public ushort Year { get { return BitConverter.ToUInt16(Data, 0xAE); } set { BitConverter.GetBytes(value).CopyTo(Data, 0xAE); } }
|
||||
public byte Month { get { return Data[0xAD]; } set { Data[0xAD] = value; } }
|
||||
public byte Day { get { return Data[0xAC]; } set { Data[0xAC] = value; } }
|
||||
private ushort Year { get { return BitConverter.ToUInt16(Data, 0xAE); } set { BitConverter.GetBytes(value).CopyTo(Data, 0xAE); } }
|
||||
private byte Month { get { return Data[0xAD]; } set { Data[0xAD] = value; } }
|
||||
private byte Day { get { return Data[0xAC]; } set { Data[0xAC] = value; } }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the date of the card.
|
||||
/// </summary>
|
||||
public DateTime? Date
|
||||
{
|
||||
get
|
||||
{
|
||||
// Check to see if date is valid
|
||||
if (!Util.IsDateValid(Year, Month, Day))
|
||||
return null;
|
||||
|
||||
return new DateTime(Year, Month, Day);
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.HasValue)
|
||||
{
|
||||
// Only update the properties if a value is provided.
|
||||
Year = (ushort)value.Value.Year;
|
||||
Month = (byte)value.Value.Month;
|
||||
Day = (byte)value.Value.Day;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clear the Met Date.
|
||||
// If code tries to access MetDate again, null will be returned.
|
||||
Year = 0;
|
||||
Month = 0;
|
||||
Day = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override int CardID
|
||||
{
|
||||
get { return BitConverter.ToUInt16(Data, 0xB0); }
|
||||
|
@ -151,9 +186,7 @@ namespace PKHeX
|
|||
Move3 = Move3,
|
||||
Move4 = Move4,
|
||||
Met_Location = MetLocation,
|
||||
Met_Day = Day,
|
||||
Met_Month = Month,
|
||||
Met_Year = Year - 2000,
|
||||
MetDate = Date,
|
||||
Egg_Location = EggLocation,
|
||||
CNT_Cool = CNT_Cool,
|
||||
CNT_Beauty = CNT_Beauty,
|
||||
|
@ -255,9 +288,7 @@ namespace PKHeX
|
|||
if (IsEgg)
|
||||
{
|
||||
// pk.IsEgg = true;
|
||||
pk.Egg_Day = Day;
|
||||
pk.Egg_Month = Month;
|
||||
pk.Egg_Year = Year - 2000;
|
||||
pk.EggMetDate = Date;
|
||||
// Force hatch
|
||||
pk.IsEgg = false;
|
||||
pk.Met_Location = 4; // Nuvema Town
|
|
@ -181,22 +181,17 @@ namespace PKHeX
|
|||
}
|
||||
|
||||
// Generate Met Info
|
||||
DateTime dt = DateTime.Now;
|
||||
if (IsPokémon)
|
||||
{
|
||||
pk4.Met_Location = pk4.Egg_Location + 3000;
|
||||
pk4.Egg_Location = 0;
|
||||
pk4.Met_Day = dt.Day;
|
||||
pk4.Met_Month = dt.Month;
|
||||
pk4.Met_Year = dt.Year - 2000;
|
||||
pk4.MetDate = DateTime.Now;
|
||||
pk4.IsEgg = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
pk4.Egg_Location = pk4.Egg_Location + 3000;
|
||||
pk4.Egg_Day = dt.Day;
|
||||
pk4.Egg_Month = dt.Month;
|
||||
pk4.Egg_Year = dt.Year - 2000;
|
||||
pk4.MetDate = DateTime.Now;
|
||||
pk4.IsEgg = false;
|
||||
// Met Location is modified when transferred to pk5; don't worry about it.
|
||||
}
|
|
@ -31,18 +31,52 @@ namespace PKHeX
|
|||
public override string CardTitle { // Max len 36 char, followed by null terminator
|
||||
get { return Util.TrimFromZero(Encoding.Unicode.GetString(Data, 2, 72)); }
|
||||
set { Encoding.Unicode.GetBytes(value.PadRight(36, '\0')).CopyTo(Data, 2); } }
|
||||
private uint Date {
|
||||
private uint RawDate {
|
||||
get { return BitConverter.ToUInt32(Data, 0x4C); }
|
||||
set { BitConverter.GetBytes(value).CopyTo(Data, 0x4C); } }
|
||||
public uint Year {
|
||||
get { return Date/10000; }
|
||||
set { Date = value*10000 + Date%10000; } }
|
||||
public uint Month {
|
||||
get { return Date%10000/100; }
|
||||
set { Date = Year*10000 + value*100 + Date%100; } }
|
||||
public uint Day {
|
||||
get { return Date%100; }
|
||||
set { Date = Year*10000 + Month*100 + value; } }
|
||||
private uint Year {
|
||||
get { return RawDate/10000; }
|
||||
set { RawDate = value*10000 + RawDate%10000; } }
|
||||
private uint Month {
|
||||
get { return RawDate%10000/100; }
|
||||
set { RawDate = Year*10000 + value*100 + RawDate%100; } }
|
||||
private uint Day {
|
||||
get { return RawDate%100; }
|
||||
set { RawDate = Year*10000 + Month*100 + value; } }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the date of the card.
|
||||
/// </summary>
|
||||
public DateTime? Date
|
||||
{
|
||||
get
|
||||
{
|
||||
// Check to see if date is valid
|
||||
if (!Util.IsDateValid(Year, Month, Day))
|
||||
return null;
|
||||
|
||||
return new DateTime((int)Year, (int)Month, (int)Day);
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.HasValue)
|
||||
{
|
||||
// Only update the properties if a value is provided.
|
||||
Year = (ushort)value.Value.Year;
|
||||
Month = (byte)value.Value.Month;
|
||||
Day = (byte)value.Value.Day;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clear the Met Date.
|
||||
// If code tries to access MetDate again, null will be returned.
|
||||
Year = 0;
|
||||
Month = 0;
|
||||
Day = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int CardLocation { get { return Data[0x50]; } set { Data[0x50] = (byte)value; } }
|
||||
|
||||
public int CardType { get { return Data[0x51]; } set { Data[0x51] = (byte)value; } }
|
||||
|
@ -281,18 +315,15 @@ namespace PKHeX
|
|||
pk.Move3_PP = pk.getMovePP(Move3, 0);
|
||||
pk.Move4_PP = pk.getMovePP(Move4, 0);
|
||||
|
||||
if (Day + Month + Year == 0) // No datetime set, typical for wc6full
|
||||
if (Date.HasValue)
|
||||
{
|
||||
DateTime dt = DateTime.Now;
|
||||
pk.Met_Day = dt.Day;
|
||||
pk.Met_Month = dt.Month;
|
||||
pk.Met_Year = dt.Year - 2000;
|
||||
pk.MetDate = Date.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
pk.Met_Day = (int)Day;
|
||||
pk.Met_Month = (int)Month;
|
||||
pk.Met_Year = (int)(Year - 2000);
|
||||
// No datetime set, typical for wc6full
|
||||
// Set it to now, instead of zeroing it out.
|
||||
pk.MetDate = DateTime.Now;
|
||||
}
|
||||
|
||||
if (pk.CurrentHandler == 0) // OT
|
||||
|
@ -375,9 +406,7 @@ namespace PKHeX
|
|||
if (IsEgg)
|
||||
{
|
||||
pk.IsEgg = true;
|
||||
pk.Egg_Day = (int) Day;
|
||||
pk.Egg_Month = (int) Month;
|
||||
pk.Egg_Year = (int) Year;
|
||||
pk.EggMetDate = Date;
|
||||
}
|
||||
|
||||
pk.RefreshChecksum();
|
|
@ -61,12 +61,9 @@
|
|||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Legality\Analysis.cs" />
|
||||
|
@ -173,6 +170,13 @@
|
|||
</Compile>
|
||||
<Compile Include="Saves\SaveObjects.cs" />
|
||||
<Compile Include="Saves\SaveUtil.cs" />
|
||||
<Compile Include="Subforms\Save Editors\Gen5\CGearBackground.cs" />
|
||||
<Compile Include="Subforms\Save Editors\Gen5\SAV_CGearSkin.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Subforms\Save Editors\Gen5\SAV_CGearSkin.Designer.cs">
|
||||
<DependentUpon>SAV_CGearSkin.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Subforms\Save Editors\Gen6\SAV_Link6.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -291,6 +295,7 @@
|
|||
</Compile>
|
||||
<Compile Include="Misc\ComboItem.cs" />
|
||||
<Compile Include="Util\DataUtil.cs" />
|
||||
<Compile Include="Util\DateUtil.cs" />
|
||||
<Compile Include="Util\FormUtil.cs" />
|
||||
<Compile Include="Util\ImageUtil.cs" />
|
||||
<Compile Include="Util\PathUtil.cs" />
|
||||
|
@ -324,6 +329,9 @@
|
|||
<EmbeddedResource Include="Subforms\PKM Editors\MemoryAmie.resx">
|
||||
<DependentUpon>MemoryAmie.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Subforms\Save Editors\Gen5\SAV_CGearSkin.resx">
|
||||
<DependentUpon>SAV_CGearSkin.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Subforms\Save Editors\Gen6\SAV_Link6.resx">
|
||||
<DependentUpon>SAV_Link6.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
@ -708,33 +716,34 @@
|
|||
<None Include="Resources\img\box\xy\box_wp03xy.png" />
|
||||
<None Include="Resources\img\box\xy\box_wp02xy.png" />
|
||||
<None Include="Resources\img\box\xy\box_wp01xy.png" />
|
||||
<Content Include="Resources\text\de\text_Pokeblock_de.txt" />
|
||||
<None Include="Resources\img\item\item_tm.png" />
|
||||
<None Include="Resources\text\de\text_Pokeblock_de.txt" />
|
||||
<None Include="Resources\text\de\text_tradeao_de.txt" />
|
||||
<None Include="Resources\text\de\text_tradexy_de.txt" />
|
||||
<Content Include="Resources\text\en\text_Pokeblock_en.txt" />
|
||||
<None Include="Resources\text\en\text_Pokeblock_en.txt" />
|
||||
<None Include="Resources\text\en\text_tradeao_en.txt" />
|
||||
<None Include="Resources\text\en\text_tradexy_en.txt" />
|
||||
<Content Include="Resources\text\es\text_Pokeblock_es.txt" />
|
||||
<None Include="Resources\text\es\text_Pokeblock_es.txt" />
|
||||
<None Include="Resources\text\es\text_tradeao_es.txt" />
|
||||
<None Include="Resources\text\es\text_tradexy_es.txt" />
|
||||
<Content Include="Resources\text\fr\text_Pokeblock_fr.txt" />
|
||||
<None Include="Resources\text\fr\text_Pokeblock_fr.txt" />
|
||||
<None Include="Resources\text\fr\text_tradeao_fr.txt" />
|
||||
<None Include="Resources\text\fr\text_tradexy_fr.txt" />
|
||||
<None Include="Resources\text\gen3\text_ItemsG3_en.txt" />
|
||||
<None Include="Resources\text\gen3\text_rsefrlg_00000_en.txt" />
|
||||
<Content Include="Resources\text\it\text_Pokeblock_it.txt" />
|
||||
<None Include="Resources\text\it\text_Pokeblock_it.txt" />
|
||||
<None Include="Resources\text\it\text_tradeao_it.txt" />
|
||||
<None Include="Resources\text\it\text_tradexy_it.txt" />
|
||||
<Content Include="Resources\text\ja\text_Pokeblock_ja.txt" />
|
||||
<None Include="Resources\text\ja\text_Pokeblock_ja.txt" />
|
||||
<None Include="Resources\text\ja\text_tradeao_ja.txt" />
|
||||
<None Include="Resources\text\ja\text_tradexy_ja.txt" />
|
||||
<Content Include="Resources\text\ko\text_Pokeblock_ko.txt" />
|
||||
<None Include="Resources\text\ko\text_Pokeblock_ko.txt" />
|
||||
<None Include="Resources\text\ko\text_tradeao_ko.txt" />
|
||||
<None Include="Resources\text\ko\text_tradexy_ko.txt" />
|
||||
<None Include="Resources\text\other\const_oras.txt" />
|
||||
<None Include="Resources\text\other\flags_oras.txt" />
|
||||
<None Include="Resources\text\other\flags_xy.txt" />
|
||||
<Content Include="Resources\text\zh\text_Pokeblock_zh.txt" />
|
||||
<None Include="Resources\text\zh\text_Pokeblock_zh.txt" />
|
||||
<None Include="Resources\text\it\lang_it.txt" />
|
||||
<None Include="Resources\img\Pokemon Sprites\414-2.png" />
|
||||
<None Include="Resources\img\Pokemon Sprites\414-1.png" />
|
||||
|
@ -977,7 +986,7 @@
|
|||
<None Include="Resources\img\Pokemon Sprites\18-1.png" />
|
||||
<None Include="Resources\img\Pokemon Sprites\15-1.png" />
|
||||
<None Include="Resources\img\Pokemon Sprites\720-1.png" />
|
||||
<Content Include="Resources\icon.ico" />
|
||||
<None Include="Resources\icon.ico" />
|
||||
<None Include="Resources\img\ribbons\ribbon_45.png" />
|
||||
<None Include="Resources\img\ribbons\ribbon_44.png" />
|
||||
<None Include="Resources\img\ribbons\ribbon_43.png" />
|
|
@ -64,10 +64,10 @@ namespace PKHeX
|
|||
|
||||
public override uint EXP { get { return BitConverter.ToUInt32(Data, 0x24); } set { BitConverter.GetBytes(value).CopyTo(Data, 0x24); } }
|
||||
private byte PPUps { get { return Data[0x28]; } set { Data[0x28] = value; } }
|
||||
public override int Move1_PPUps { get { return (PPUps >> 0) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 0)) | value); } }
|
||||
public override int Move2_PPUps { get { return (PPUps >> 2) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 2)) | value); } }
|
||||
public override int Move3_PPUps { get { return (PPUps >> 4) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 4)) | value); } }
|
||||
public override int Move4_PPUps { get { return (PPUps >> 6) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 6)) | value); } }
|
||||
public override int Move1_PPUps { get { return (PPUps >> 0) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 0)) | value << 0); } }
|
||||
public override int Move2_PPUps { get { return (PPUps >> 2) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 2)) | value << 2); } }
|
||||
public override int Move3_PPUps { get { return (PPUps >> 4) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 4)) | value << 4); } }
|
||||
public override int Move4_PPUps { get { return (PPUps >> 6) & 3; } set { PPUps = (byte)((PPUps & ~(3 << 6)) | value << 6); } }
|
||||
public override int OT_Friendship { get { return Data[0x29]; } set { Data[0x29] = (byte)value; } }
|
||||
// Unused 0x2A 0x2B
|
||||
#endregion
|
||||
|
@ -105,7 +105,7 @@ namespace PKHeX
|
|||
public override int Met_Location { get { return Data[0x45]; } set { Data[0x45] = (byte)value; } }
|
||||
// Origins
|
||||
private ushort Origins { get { return BitConverter.ToUInt16(Data, 0x46); } set { BitConverter.GetBytes(value).CopyTo(Data, 0x46); } }
|
||||
public override int Met_Level { get { return Origins & 0x3F; } set { Origins = (ushort)((Origins & ~0x3F) | value); } }
|
||||
public override int Met_Level { get { return Origins & 0x7F; } set { Origins = (ushort)((Origins & ~0x7F) | value); } }
|
||||
public override int Version { get { return (Origins >> 7) & 0xF; } set { Origins = (ushort)((Origins & ~0x780) | ((value & 0xF) << 7));} }
|
||||
public override int Ball { get { return (Origins >> 11) & 0xF; } set { Origins = (ushort)((Origins & ~0x7800) | ((value & 0xF) << 11)); } }
|
||||
public override int OT_Gender { get { return (Origins >> 15) & 1; } set { Origins = (ushort)(Origins & ~(1 << 15) | ((value & 1) << 15)); } }
|
||||
|
@ -196,7 +196,7 @@ namespace PKHeX
|
|||
SID = SID,
|
||||
EXP = IsEgg ? PKX.getEXP(5, Species) : EXP,
|
||||
IsEgg = false,
|
||||
OT_Friendship = 40,
|
||||
OT_Friendship = 70,
|
||||
MarkCircle = MarkCircle,
|
||||
MarkSquare = MarkSquare,
|
||||
MarkTriangle = MarkTriangle,
|
||||
|
@ -222,10 +222,6 @@ namespace PKHeX
|
|||
Move2_PPUps = Move2_PPUps,
|
||||
Move3_PPUps = Move3_PPUps,
|
||||
Move4_PPUps = Move4_PPUps,
|
||||
Move1_PP = getMovePP(Move1, Move1_PPUps),
|
||||
Move2_PP = getMovePP(Move2, Move2_PPUps),
|
||||
Move3_PP = getMovePP(Move3, Move3_PPUps),
|
||||
Move4_PP = getMovePP(Move4, Move4_PPUps),
|
||||
IV_HP = IV_HP,
|
||||
IV_ATK = IV_ATK,
|
||||
IV_DEF = IV_DEF,
|
||||
|
@ -238,9 +234,7 @@ namespace PKHeX
|
|||
PKRS_Strain = PKRS_Strain,
|
||||
PKRS_Days = PKRS_Days,
|
||||
OT_Gender = OT_Gender,
|
||||
Met_Year = moment.Year - 2000,
|
||||
Met_Month = moment.Month,
|
||||
Met_Day = moment.Day,
|
||||
MetDate = moment,
|
||||
Met_Location = 0x37, // Pal Park
|
||||
|
||||
RibbonChampionG3Hoenn = RibbonChampionG3Hoenn,
|
||||
|
@ -257,6 +251,12 @@ namespace PKHeX
|
|||
RibbonWorld = RibbonWorld,
|
||||
};
|
||||
|
||||
// Fix PP
|
||||
pk4.Move1_PP = pk4.getMovePP(pk4.Move1, pk4.Move1_PPUps);
|
||||
pk4.Move2_PP = pk4.getMovePP(pk4.Move2, pk4.Move2_PPUps);
|
||||
pk4.Move3_PP = pk4.getMovePP(pk4.Move3, pk4.Move3_PPUps);
|
||||
pk4.Move4_PP = pk4.getMovePP(pk4.Move4, pk4.Move4_PPUps);
|
||||
|
||||
if (Met_Location == 0xFF) // Fateful
|
||||
pk4.FatefulEncounter = Met_Location == 0xFF || FatefulEncounter; // obedience flag
|
||||
|
||||
|
@ -296,6 +296,10 @@ namespace PKHeX
|
|||
// Unown Form
|
||||
pk4.AltForm = AltForm;
|
||||
|
||||
int item = HeldItem;
|
||||
if (HeldItem > 0)
|
||||
pk4.HeldItem = item;
|
||||
|
||||
// Remove HM moves
|
||||
int[] banned = { 15, 19, 57, 70, 148, 249, 127, 291 };
|
||||
int[] newMoves = pk4.Moves;
|
|
@ -243,12 +243,12 @@ namespace PKHeX
|
|||
PKX.str2arrayG4(TempNick).CopyTo(Data, 0x68);
|
||||
}
|
||||
}
|
||||
public override int Egg_Year { get { return Data[0x78]; } set { Data[0x78] = (byte)value; } }
|
||||
public override int Egg_Month { get { return Data[0x79]; } set { Data[0x79] = (byte)value; } }
|
||||
public override int Egg_Day { get { return Data[0x7A]; } set { Data[0x7A] = (byte)value; } }
|
||||
public override int Met_Year { get { return Data[0x7B]; } set { Data[0x7B] = (byte)value; } }
|
||||
public override int Met_Month { get { return Data[0x7C]; } set { Data[0x7C] = (byte)value; } }
|
||||
public override int Met_Day { get { return Data[0x7D]; } set { Data[0x7D] = (byte)value; } }
|
||||
protected override int Egg_Year { get { return Data[0x78]; } set { Data[0x78] = (byte)value; } }
|
||||
protected override int Egg_Month { get { return Data[0x79]; } set { Data[0x79] = (byte)value; } }
|
||||
protected override int Egg_Day { get { return Data[0x7A]; } set { Data[0x7A] = (byte)value; } }
|
||||
protected override int Met_Year { get { return Data[0x7B]; } set { Data[0x7B] = (byte)value; } }
|
||||
protected override int Met_Month { get { return Data[0x7C]; } set { Data[0x7C] = (byte)value; } }
|
||||
protected override int Met_Day { get { return Data[0x7D]; } set { Data[0x7D] = (byte)value; } }
|
||||
|
||||
public override int Egg_Location
|
||||
{
|
||||
|
@ -261,10 +261,21 @@ namespace PKHeX
|
|||
}
|
||||
set
|
||||
{
|
||||
if (PtHGSS)
|
||||
if (value == 0)
|
||||
{
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x44);
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x7E);
|
||||
}
|
||||
else if (PtHGSS)
|
||||
{
|
||||
BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x44);
|
||||
BitConverter.GetBytes(0x7D0).CopyTo(Data, 0x7E);
|
||||
BitConverter.GetBytes(0xBBA).CopyTo(Data, 0x7E); // Faraway Place (for DP display)
|
||||
}
|
||||
else if ((value < 2000 && value > 111) || (value < 3000 && value > 2010))
|
||||
{
|
||||
// Met location not in DP, set to Mystery Zone (0, illegal) as opposed to Faraway Place
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x44);
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x7E);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -284,10 +295,21 @@ namespace PKHeX
|
|||
}
|
||||
set
|
||||
{
|
||||
if (PtHGSS)
|
||||
if (value == 0)
|
||||
{
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x46);
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x80);
|
||||
}
|
||||
else if (PtHGSS)
|
||||
{
|
||||
BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x46);
|
||||
BitConverter.GetBytes(0x7D0).CopyTo(Data, 0x80);
|
||||
BitConverter.GetBytes(0xBBA).CopyTo(Data, 0x80); // Faraway Place (for DP display)
|
||||
}
|
||||
else if ((value < 2000 && value > 111) || (value < 3000 && value > 2010))
|
||||
{
|
||||
// Met location not in DP, set to Mystery Zone (0, illegal) as opposed to Faraway Place
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x46);
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(Data, 0x80);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -299,11 +321,26 @@ namespace PKHeX
|
|||
private byte PKRS { get { return Data[0x82]; } set { Data[0x82] = value; } }
|
||||
public override int PKRS_Days { get { return PKRS & 0xF; } set { PKRS = (byte)(PKRS & ~0xF | value); } }
|
||||
public override int PKRS_Strain { get { return PKRS >> 4; } set { PKRS = (byte)(PKRS & 0xF | (value << 4)); } }
|
||||
public override int Ball { get { return Data[0x83]; } set { Data[0x83] = (byte)value; } }
|
||||
public override int Ball
|
||||
{
|
||||
get { return Data[HGSS ? 0x86 : 0x83]; }
|
||||
set
|
||||
{
|
||||
if (HGSS)
|
||||
{
|
||||
Data[0x83] = (byte)(value <= 0x10 ? value : 4); // Ball to display in DP (cap at Cherish)
|
||||
Data[0x86] = (byte)(value <= 0x18 ? value : 4); // Cap at Comp Ball
|
||||
}
|
||||
else
|
||||
{
|
||||
Data[0x83] = (byte)(value <= 0x10 ? value : 4); // Cap at Cherish Ball
|
||||
Data[0x86] = 0; // Unused
|
||||
}
|
||||
}
|
||||
}
|
||||
public override int Met_Level { get { return Data[0x84] & ~0x80; } set { Data[0x84] = (byte)((Data[0x84] & 0x80) | value); } }
|
||||
public override int OT_Gender { get { return Data[0x84] >> 7; } set { Data[0x84] = (byte)((Data[0x84] & ~0x80) | value << 7); } }
|
||||
public override int EncounterType { get { return Data[0x85]; } set { Data[0x85] = (byte)value; } }
|
||||
public int HGSSBall { get { return Data[0x86]; } set { Data[0x86] = (byte)value; } }
|
||||
// Unused 0x87
|
||||
#endregion
|
||||
|
||||
|
@ -374,16 +411,14 @@ namespace PKHeX
|
|||
HeldItem = 0,
|
||||
OT_Friendship = 70,
|
||||
// Apply new met date
|
||||
Met_Year = moment.Year - 2000,
|
||||
Met_Month = moment.Month,
|
||||
Met_Day = moment.Day
|
||||
MetDate = moment
|
||||
};
|
||||
|
||||
// Fix PP
|
||||
pk5.Move1_PP = getMovePP(pk5.Move1_PP, pk5.Move1_PPUps);
|
||||
pk5.Move2_PP = getMovePP(pk5.Move2_PP, pk5.Move2_PPUps);
|
||||
pk5.Move3_PP = getMovePP(pk5.Move3_PP, pk5.Move3_PPUps);
|
||||
pk5.Move4_PP = getMovePP(pk5.Move4_PP, pk5.Move4_PPUps);
|
||||
pk5.Move1_PP = pk5.getMovePP(pk5.Move1_PP, pk5.Move1_PPUps);
|
||||
pk5.Move2_PP = pk5.getMovePP(pk5.Move2_PP, pk5.Move2_PPUps);
|
||||
pk5.Move3_PP = pk5.getMovePP(pk5.Move3_PP, pk5.Move3_PPUps);
|
||||
pk5.Move4_PP = pk5.getMovePP(pk5.Move4_PP, pk5.Move4_PPUps);
|
||||
|
||||
// Disassociate Nature and PID
|
||||
pk5.Nature = (int)(pk5.PID % 25);
|
||||
|
@ -392,14 +427,13 @@ namespace PKHeX
|
|||
BitConverter.GetBytes((uint)0).CopyTo(pk5.Data, 0x44);
|
||||
|
||||
// Met / Crown Data Detection
|
||||
pk5.Met_Location = pk5.FatefulEncounter && Array.IndexOf(new[] {251, 243, 244, 245}, pk5.Species) >= 0
|
||||
pk5.Met_Location = pk5.Gen4 && pk5.FatefulEncounter && Array.IndexOf(new[] {251, 243, 244, 245}, pk5.Species) >= 0
|
||||
? (pk5.Species == 251 ? 30010 : 30012) // Celebi : Beast
|
||||
: 30001; // Pokétransfer (not Crown)
|
||||
|
||||
// Delete HGSS Data
|
||||
BitConverter.GetBytes((ushort)0).CopyTo(pk5.Data, 0x86);
|
||||
if (HGSSBall > 0 && HGSSBall != 4)
|
||||
pk5.Ball = HGSSBall;
|
||||
pk5.Ball = Ball;
|
||||
|
||||
// Transfer Nickname and OT Name
|
||||
pk5.Nickname = Nickname;
|
||||
|
@ -409,9 +443,9 @@ namespace PKHeX
|
|||
pk5.Met_Level = PKX.getLevel(pk5.Species, pk5.EXP);
|
||||
|
||||
// Remove HM moves; Defog should be kept if both are learned.
|
||||
int[] banned = Moves.Contains(250) /*Whirlpool*/ && !Moves.Contains(432) /*Defog*/
|
||||
? new[] {15, 19, 57, 70, 432, 249, 127, 431} // No Defog
|
||||
: new[] {15, 19, 57, 70, 250, 249, 127, 431};// No Whirlpool
|
||||
int[] banned = Moves.Contains(250) && Moves.Contains(432) // Whirlpool & Defog
|
||||
? new[] {15, 19, 57, 70, 250, 249, 127, 431} // No Whirlpool
|
||||
: new[] {15, 19, 57, 70, 249, 127, 431};// Transfer via advantageous game
|
||||
|
||||
int[] newMoves = pk5.Moves;
|
||||
for (int i = 0; i < 4; i++)
|
|
@ -248,12 +248,12 @@ namespace PKHeX
|
|||
Encoding.Unicode.GetBytes(TempNick).CopyTo(Data, 0x68);
|
||||
}
|
||||
}
|
||||
public override int Egg_Year { get { return Data[0x78]; } set { Data[0x78] = (byte)value; } }
|
||||
public override int Egg_Month { get { return Data[0x79]; } set { Data[0x79] = (byte)value; } }
|
||||
public override int Egg_Day { get { return Data[0x7A]; } set { Data[0x7A] = (byte)value; } }
|
||||
public override int Met_Year { get { return Data[0x7B]; } set { Data[0x7B] = (byte)value; } }
|
||||
public override int Met_Month { get { return Data[0x7C]; } set { Data[0x7C] = (byte)value; } }
|
||||
public override int Met_Day { get { return Data[0x7D]; } set { Data[0x7D] = (byte)value; } }
|
||||
protected override int Egg_Year { get { return Data[0x78]; } set { Data[0x78] = (byte)value; } }
|
||||
protected override int Egg_Month { get { return Data[0x79]; } set { Data[0x79] = (byte)value; } }
|
||||
protected override int Egg_Day { get { return Data[0x7A]; } set { Data[0x7A] = (byte)value; } }
|
||||
protected override int Met_Year { get { return Data[0x7B]; } set { Data[0x7B] = (byte)value; } }
|
||||
protected override int Met_Month { get { return Data[0x7C]; } set { Data[0x7C] = (byte)value; } }
|
||||
protected override int Met_Day { get { return Data[0x7D]; } set { Data[0x7D] = (byte)value; } }
|
||||
public override int Egg_Location { get { return BitConverter.ToUInt16(Data, 0x7E); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x7E); } }
|
||||
public override int Met_Location { get { return BitConverter.ToUInt16(Data, 0x80); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0x80); } }
|
||||
private byte PKRS { get { return Data[0x82]; } set { Data[0x82] = value; } }
|
||||
|
@ -370,16 +370,17 @@ namespace PKHeX
|
|||
pk6.Move3 = Move3;
|
||||
pk6.Move4 = Move4;
|
||||
|
||||
pk6.Move1_PP = getMovePP(Move1, Move1_PPUps);
|
||||
pk6.Move2_PP = getMovePP(Move2, Move2_PPUps);
|
||||
pk6.Move3_PP = getMovePP(Move3, Move3_PPUps);
|
||||
pk6.Move4_PP = getMovePP(Move4, Move4_PPUps);
|
||||
|
||||
pk6.Move1_PPUps = Move1_PPUps;
|
||||
pk6.Move2_PPUps = Move2_PPUps;
|
||||
pk6.Move3_PPUps = Move3_PPUps;
|
||||
pk6.Move4_PPUps = Move4_PPUps;
|
||||
|
||||
// Fix PP
|
||||
pk6.Move1_PP = pk6.getMovePP(pk6.Move1, pk6.Move1_PPUps);
|
||||
pk6.Move2_PP = pk6.getMovePP(pk6.Move2, pk6.Move2_PPUps);
|
||||
pk6.Move3_PP = pk6.getMovePP(pk6.Move3, pk6.Move3_PPUps);
|
||||
pk6.Move4_PP = pk6.getMovePP(pk6.Move4, pk6.Move4_PPUps);
|
||||
|
||||
pk6.IV_HP = IV_HP;
|
||||
pk6.IV_ATK = IV_ATK;
|
||||
pk6.IV_DEF = IV_DEF;
|
||||
|
@ -403,12 +404,8 @@ namespace PKHeX
|
|||
pk6.OT_Name = OT_Name;
|
||||
|
||||
// Dates are kept upon transfer
|
||||
pk6.Met_Year = Met_Year;
|
||||
pk6.Met_Month = Met_Month;
|
||||
pk6.Met_Day = Met_Day;
|
||||
pk6.Egg_Year = Egg_Year;
|
||||
pk6.Egg_Month = Egg_Month;
|
||||
pk6.Egg_Day = Egg_Day;
|
||||
pk6.MetDate = MetDate;
|
||||
pk6.EggMetDate = EggMetDate;
|
||||
|
||||
// Locations are kept upon transfer
|
||||
pk6.Met_Location = Met_Location;
|
|
@ -365,12 +365,12 @@ namespace PKHeX
|
|||
public int OT_Memory { get { return Data[0xCD]; } set { Data[0xCD] = (byte)value; } }
|
||||
public int OT_TextVar { get { return BitConverter.ToUInt16(Data, 0xCE); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0xCE); } }
|
||||
public int OT_Feeling { get { return Data[0xD0]; } set { Data[0xD0] = (byte)value; } }
|
||||
public override int Egg_Year { get { return Data[0xD1]; } set { Data[0xD1] = (byte)value; } }
|
||||
public override int Egg_Month { get { return Data[0xD2]; } set { Data[0xD2] = (byte)value; } }
|
||||
public override int Egg_Day { get { return Data[0xD3]; } set { Data[0xD3] = (byte)value; } }
|
||||
public override int Met_Year { get { return Data[0xD4]; } set { Data[0xD4] = (byte)value; } }
|
||||
public override int Met_Month { get { return Data[0xD5]; } set { Data[0xD5] = (byte)value; } }
|
||||
public override int Met_Day { get { return Data[0xD6]; } set { Data[0xD6] = (byte)value; } }
|
||||
protected override int Egg_Year { get { return Data[0xD1]; } set { Data[0xD1] = (byte)value; } }
|
||||
protected override int Egg_Month { get { return Data[0xD2]; } set { Data[0xD2] = (byte)value; } }
|
||||
protected override int Egg_Day { get { return Data[0xD3]; } set { Data[0xD3] = (byte)value; } }
|
||||
protected override int Met_Year { get { return Data[0xD4]; } set { Data[0xD4] = (byte)value; } }
|
||||
protected override int Met_Month { get { return Data[0xD5]; } set { Data[0xD5] = (byte)value; } }
|
||||
protected override int Met_Day { get { return Data[0xD6]; } set { Data[0xD6] = (byte)value; } }
|
||||
public byte _0xD7 { get { return Data[0xD7]; } set { Data[0xD7] = value; } }
|
||||
public override int Egg_Location { get { return BitConverter.ToUInt16(Data, 0xD8); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0xD8); } }
|
||||
public override int Met_Location { get { return BitConverter.ToUInt16(Data, 0xDA); } set { BitConverter.GetBytes((ushort)value).CopyTo(Data, 0xDA); } }
|
|
@ -125,12 +125,96 @@ namespace PKHeX
|
|||
public abstract int OT_Friendship { get; set; }
|
||||
|
||||
// Future Properties
|
||||
public virtual int Met_Year { get { return 0; } set { } }
|
||||
public virtual int Met_Month { get { return 0; } set { } }
|
||||
public virtual int Met_Day { get { return 0; } set { } }
|
||||
public virtual int Egg_Year { get { return 0; } set { } }
|
||||
public virtual int Egg_Month { get { return 0; } set { } }
|
||||
public virtual int Egg_Day { get { return 0; } set { } }
|
||||
protected virtual int Met_Year { get { return 0; } set { } }
|
||||
protected virtual int Met_Month { get { return 0; } set { } }
|
||||
protected virtual int Met_Day { get { return 0; } set { } }
|
||||
|
||||
/// <summary>
|
||||
/// The date the Pokémon was met.
|
||||
/// </summary>
|
||||
/// <returns>A DateTime representing the date the Pokémon was met, or null if either the <see cref="PKM"/> format does not support dates or the stored date is invalid.</returns>
|
||||
/// <remarks>Not all <see cref="PKM"/> types support the <see cref="MetDate"/> property. In these cases, this property will return null.
|
||||
///
|
||||
/// If null is assigned to this property, it will be cleared.</remarks>
|
||||
public virtual DateTime? MetDate
|
||||
{
|
||||
get
|
||||
{
|
||||
// Check to see if date is valid
|
||||
if (!Util.IsDateValid(2000 + Met_Year, Met_Month, Met_Day))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new DateTime(2000 + Met_Year, Met_Month, Met_Day);
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.HasValue)
|
||||
{
|
||||
// Only update the properties if a value is provided.
|
||||
Met_Year = value.Value.Year - 2000;
|
||||
Met_Month = value.Value.Month;
|
||||
Met_Day = value.Value.Day;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clear the Met Date.
|
||||
// If code tries to access MetDate again, null will be returned.
|
||||
Met_Year = 0;
|
||||
Met_Month = 0;
|
||||
Met_Day = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual int Egg_Year { get { return 0; } set { } }
|
||||
protected virtual int Egg_Month { get { return 0; } set { } }
|
||||
protected virtual int Egg_Day { get { return 0; } set { } }
|
||||
|
||||
/// <summary>
|
||||
/// The date a Pokémon was met as an egg.
|
||||
/// </summary>
|
||||
/// <returns>A DateTime representing the date the Pokémon was met as an egg, or null if the <see cref="PKM"/> format does not support dates.</returns>
|
||||
/// <remarks>Not all <see cref="PKM"/> types support the <see cref="EggMetDate"/> property. In these cases, this property will return null.
|
||||
///
|
||||
/// If null is assigned to this property, it will be cleared.</remarks>
|
||||
public virtual DateTime? EggMetDate
|
||||
{
|
||||
get
|
||||
{
|
||||
// Check to see if date is valid
|
||||
if (!Util.IsDateValid(2000 + Egg_Year, Egg_Month, Egg_Day))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new DateTime(2000 + Egg_Year, Egg_Month, Egg_Day);
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.HasValue)
|
||||
{
|
||||
// Only update the properties if a value is provided.
|
||||
Egg_Year = value.Value.Year - 2000;
|
||||
Egg_Month = value.Value.Month;
|
||||
Egg_Day = value.Value.Day;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clear the Met Date.
|
||||
// If code tries to access MetDate again, null will be returned.
|
||||
Egg_Year = 0;
|
||||
Egg_Month = 0;
|
||||
Egg_Day = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual int OT_Affection { get { return 0; } set { } }
|
||||
public virtual int RelearnMove1 { get { return 0; } set { } }
|
||||
public virtual int RelearnMove2 { get { return 0; } set { } }
|
||||
|
@ -147,11 +231,23 @@ namespace PKHeX
|
|||
public bool XY => Version == (int)GameVersion.X || Version == (int)GameVersion.Y;
|
||||
public bool AO => Version == (int)GameVersion.AS || Version == (int)GameVersion.OR;
|
||||
public bool SM => Version == (int)GameVersion.SN || Version == (int)GameVersion.MN;
|
||||
public bool PtHGSS => new[] {GameVersion.Pt, GameVersion.HG, GameVersion.SS}.Contains((GameVersion)Version);
|
||||
protected bool PtHGSS => GameVersion.Pt == (GameVersion)Version || HGSS;
|
||||
public bool HGSS => new[] {GameVersion.HG, GameVersion.SS}.Contains((GameVersion)Version);
|
||||
public bool Gen5 => Version >= 20 && Version <= 23;
|
||||
public bool Gen4 => Version >= 10 && Version < 12 || Version >= 7 && Version <= 8;
|
||||
public bool Gen3 => Version >= 1 && Version <= 5 || Version == 15;
|
||||
public bool GenU => !(Gen6 || Gen5 || Gen4 || Gen3);
|
||||
public int GenNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Gen6) return 6;
|
||||
if (Gen5) return 5;
|
||||
if (Gen4) return 4;
|
||||
if (Gen3) return 3;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
public bool PKRS_Infected => PKRS_Strain > 0;
|
||||
public bool PKRS_Cured => PKRS_Days == 0 && PKRS_Strain > 0;
|
||||
public bool ChecksumValid => Checksum == CalculateChecksum();
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace PKHeX
|
||||
{
|
||||
internal static class PKMConverter
|
||||
public static class PKMConverter
|
||||
{
|
||||
internal static int Country = 49;
|
||||
internal static int Region = 7;
|
||||
|
@ -19,7 +19,12 @@ namespace PKHeX
|
|||
OT_Gender = TRAINERGENDER;
|
||||
}
|
||||
|
||||
private static int getPKMDataFormat(byte[] data)
|
||||
/// <summary>
|
||||
/// Gets the generation of the Pokemon data.
|
||||
/// </summary>
|
||||
/// <param name="data">Raw data representing a Pokemon.</param>
|
||||
/// <returns>An integer indicating the generation of the PKM file, or -1 if the data is invalid.</returns>
|
||||
public static int getPKMDataFormat(byte[] data)
|
||||
{
|
||||
if (!PKX.getIsPKM(data.Length))
|
||||
return -1;
|
||||
|
@ -53,7 +58,14 @@ namespace PKHeX
|
|||
}
|
||||
return -1;
|
||||
}
|
||||
internal static PKM getPKMfromBytes(byte[] data, string ident = null)
|
||||
|
||||
/// <summary>
|
||||
/// Creates an instance of <see cref="PKM"/> from the given data.
|
||||
/// </summary>
|
||||
/// <param name="data">Raw data of the Pokemon file.</param>
|
||||
/// <param name="ident">Optional identifier for the Pokemon. Usually the full path of the source file.</param>
|
||||
/// <returns>An instance of <see cref="PKM"/> created from the given <paramref name="data"/>, or null if <paramref name="data"/> is invalid.</returns>
|
||||
public static PKM getPKMfromBytes(byte[] data, string ident = null)
|
||||
{
|
||||
checkEncrypted(ref data);
|
||||
switch (getPKMDataFormat(data))
|
|
@ -7,7 +7,7 @@ using PKHeX.Properties;
|
|||
|
||||
namespace PKHeX
|
||||
{
|
||||
internal static class PKX
|
||||
public static class PKX
|
||||
{
|
||||
internal const int SIZE_3PARTY = 100;
|
||||
internal const int SIZE_3STORED = 80;
|
||||
|
@ -25,7 +25,12 @@ namespace PKHeX
|
|||
internal const int SIZE_6STORED = 0xE8;
|
||||
internal const int SIZE_6BLOCK = 56;
|
||||
|
||||
internal static bool getIsPKM(long len)
|
||||
/// <summary>
|
||||
/// Determines if the given length is valid for a Pokemon file.
|
||||
/// </summary>
|
||||
/// <param name="len">Length of the data to check.</param>
|
||||
/// <returns>A boolean indicating whether or not the length is valid for a Pokemon file.</returns>
|
||||
public static bool getIsPKM(long len)
|
||||
{
|
||||
return new[] {SIZE_3STORED, SIZE_3PARTY, SIZE_4STORED, SIZE_4PARTY, SIZE_5PARTY, SIZE_6STORED, SIZE_6PARTY}.Contains((int)len);
|
||||
}
|
||||
|
@ -36,14 +41,14 @@ namespace PKHeX
|
|||
// Relies on Util for some common operations.
|
||||
|
||||
// Data
|
||||
internal static uint LCRNG(uint seed)
|
||||
public static uint LCRNG(uint seed)
|
||||
{
|
||||
const uint a = 0x41C64E6D;
|
||||
const uint c = 0x00006073;
|
||||
|
||||
return seed * a + c;
|
||||
}
|
||||
internal static uint LCRNG(ref uint seed)
|
||||
public static uint LCRNG(ref uint seed)
|
||||
{
|
||||
const uint a = 0x41C64E6D;
|
||||
const uint c = 0x00006073;
|
||||
|
@ -156,34 +161,34 @@ namespace PKHeX
|
|||
{1000000, 600000, 1640000, 1059860, 800000, 1250000},
|
||||
};
|
||||
#endregion
|
||||
|
||||
internal static readonly string[][] SpeciesLang =
|
||||
|
||||
public static readonly string[][] SpeciesLang =
|
||||
{
|
||||
Util.getStringList("species", "ja"), // none
|
||||
Util.getStringList("species", "ja"), // 1
|
||||
Util.getStringList("species", "en"), // 2
|
||||
Util.getStringList("species", "fr"), // 3
|
||||
Util.getStringList("species", "it"), // 4
|
||||
Util.getStringList("species", "de"), // 5
|
||||
Util.getStringList("species", "es"), // none
|
||||
Util.getStringList("species", "es"), // 7
|
||||
Util.getStringList("species", "ko"), // 8
|
||||
Util.getSpeciesList("ja"), // none
|
||||
Util.getSpeciesList("ja"), // 1
|
||||
Util.getSpeciesList("en"), // 2
|
||||
Util.getSpeciesList("fr"), // 3
|
||||
Util.getSpeciesList("it"), // 4
|
||||
Util.getSpeciesList("de"), // 5
|
||||
Util.getSpeciesList("es"), // none
|
||||
Util.getSpeciesList("es"), // 7
|
||||
Util.getSpeciesList("ko"), // 8
|
||||
};
|
||||
|
||||
internal static string getSpeciesName(int species, int lang)
|
||||
public static string getSpeciesName(int species, int lang)
|
||||
{
|
||||
try { return SpeciesLang[lang][species]; }
|
||||
catch { return ""; }
|
||||
}
|
||||
internal static bool getIsNicknamed(int species, string nick)
|
||||
public static bool getIsNicknamed(int species, string nick)
|
||||
{
|
||||
try { return SpeciesLang.All(list => list[species].ToUpper() != nick); }
|
||||
catch { return false; }
|
||||
}
|
||||
internal static readonly PersonalTable Personal = PersonalTable.AO;
|
||||
public static readonly PersonalTable Personal = PersonalTable.AO;
|
||||
|
||||
// Stat Fetching
|
||||
internal static byte[] getRandomEVs()
|
||||
public static byte[] getRandomEVs()
|
||||
{
|
||||
byte[] evs = new byte[6];
|
||||
do {
|
||||
|
@ -197,7 +202,7 @@ namespace PKHeX
|
|||
Util.Shuffle(evs);
|
||||
return evs;
|
||||
}
|
||||
internal static int getLevel(int species, uint exp)
|
||||
public static int getLevel(int species, uint exp)
|
||||
{
|
||||
int growth = Personal[species].EXPGrowth;
|
||||
int tl = 1; // Initial Level. Iterate upwards to find the level
|
||||
|
@ -205,13 +210,13 @@ namespace PKHeX
|
|||
if (tl == 100) return 100;
|
||||
return --tl;
|
||||
}
|
||||
internal static uint getEXP(int level, int species)
|
||||
public static uint getEXP(int level, int species)
|
||||
{
|
||||
if (level <= 1) return 0;
|
||||
if (level > 100) level = 100;
|
||||
return ExpTable[level, Personal[species].EXPGrowth];
|
||||
}
|
||||
internal static int getGender(string s)
|
||||
public static int getGender(string s)
|
||||
{
|
||||
if (s == null)
|
||||
return -1;
|
||||
|
@ -222,7 +227,7 @@ namespace PKHeX
|
|||
return 2;
|
||||
}
|
||||
|
||||
internal static string[] getCountryRegionText(int country, int region, string lang)
|
||||
public static string[] getCountryRegionText(int country, int region, string lang)
|
||||
{
|
||||
// Get Language we're fetching for
|
||||
int index = Array.IndexOf(new[] { "ja", "en", "fr", "de", "it", "es", "zh", "ko"}, lang);
|
||||
|
@ -275,7 +280,7 @@ namespace PKHeX
|
|||
return data;
|
||||
}
|
||||
|
||||
internal static string getLocation(PKM pk, bool eggmet)
|
||||
public static string getLocation(PKM pk, bool eggmet)
|
||||
{
|
||||
int locval = eggmet ? pk.Egg_Location : pk.Met_Location;
|
||||
if (pk.Format == 3)
|
||||
|
@ -302,7 +307,7 @@ namespace PKHeX
|
|||
}
|
||||
return null; // Shouldn't happen.
|
||||
}
|
||||
internal static string[] getQRText(PKM pkm)
|
||||
public static string[] getQRText(PKM pkm)
|
||||
{
|
||||
string[] response = new string[3];
|
||||
// Summarize
|
||||
|
@ -332,7 +337,7 @@ namespace PKHeX
|
|||
}
|
||||
|
||||
// PKX Manipulation
|
||||
internal static readonly byte[][] blockPosition =
|
||||
public static readonly byte[][] blockPosition =
|
||||
{
|
||||
new byte[] {0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 2, 3, 1, 1, 2, 3, 2, 3, 1, 1, 2, 3, 2, 3},
|
||||
new byte[] {1, 1, 2, 3, 2, 3, 0, 0, 0, 0, 0, 0, 2, 3, 1, 1, 3, 2, 2, 3, 1, 1, 3, 2},
|
||||
|
@ -340,11 +345,11 @@ namespace PKHeX
|
|||
new byte[] {3, 2, 3, 2, 1, 1, 3, 2, 3, 2, 1, 1, 3, 2, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0},
|
||||
};
|
||||
|
||||
internal static readonly byte[] blockPositionInvert =
|
||||
public static readonly byte[] blockPositionInvert =
|
||||
{
|
||||
0, 1, 2, 4, 3, 5, 6, 7, 12, 18, 13, 19, 8, 10, 14, 20, 16, 22, 9, 11, 15, 21, 17, 23
|
||||
};
|
||||
internal static byte[] shuffleArray(byte[] data, uint sv)
|
||||
public static byte[] shuffleArray(byte[] data, uint sv)
|
||||
{
|
||||
byte[] sdata = new byte[data.Length];
|
||||
Array.Copy(data, sdata, 8); // Copy unshuffled bytes
|
||||
|
@ -359,7 +364,7 @@ namespace PKHeX
|
|||
|
||||
return sdata;
|
||||
}
|
||||
internal static byte[] decryptArray(byte[] ekx)
|
||||
public static byte[] decryptArray(byte[] ekx)
|
||||
{
|
||||
byte[] pkx = (byte[])ekx.Clone();
|
||||
|
||||
|
@ -383,7 +388,7 @@ namespace PKHeX
|
|||
|
||||
return pkx;
|
||||
}
|
||||
internal static byte[] encryptArray(byte[] pkx)
|
||||
public static byte[] encryptArray(byte[] pkx)
|
||||
{
|
||||
// Shuffle
|
||||
uint pv = BitConverter.ToUInt32(pkx, 0);
|
||||
|
@ -410,7 +415,7 @@ namespace PKHeX
|
|||
// Done
|
||||
return ekx;
|
||||
}
|
||||
internal static ushort getCHK(byte[] data)
|
||||
public static ushort getCHK(byte[] data)
|
||||
{
|
||||
ushort chk = 0;
|
||||
for (int i = 8; i < 232; i += 2) // Loop through the entire PKX
|
||||
|
@ -419,7 +424,7 @@ namespace PKHeX
|
|||
return chk;
|
||||
}
|
||||
|
||||
internal static uint getRandomPID(int species, int cg, int origin, int nature, int form, uint OLDPID)
|
||||
public static uint getRandomPID(int species, int cg, int origin, int nature, int form, uint OLDPID)
|
||||
{
|
||||
uint bits = OLDPID & 0x00010001;
|
||||
int gt = Personal[species].Gender;
|
||||
|
@ -455,9 +460,9 @@ namespace PKHeX
|
|||
return pid; // PID Passes
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Data Requests
|
||||
internal static Image getSprite(int species, int form, int gender, int item, bool isegg, bool shiny)
|
||||
public static Image getSprite(int species, int form, int gender, int item, bool isegg, bool shiny, int generation = -1)
|
||||
{
|
||||
if (species == 0)
|
||||
return (Image)Resources.ResourceManager.GetObject("_0");
|
||||
|
@ -499,14 +504,17 @@ namespace PKHeX
|
|||
if (item > 0)
|
||||
{
|
||||
Image itemimg = (Image)Resources.ResourceManager.GetObject("item_" + item) ?? Resources.helditem;
|
||||
if ((generation == 3 || generation == 4) && 328 <= item && item <= 419) // gen3/4 TM
|
||||
itemimg = Resources.item_tm;
|
||||
|
||||
// Redraw
|
||||
baseImage = Util.LayerImage(baseImage, itemimg, 22 + (15 - itemimg.Width) / 2, 15 + (15 - itemimg.Height), 1);
|
||||
}
|
||||
return baseImage;
|
||||
}
|
||||
internal static Image getSprite(PKM pkm)
|
||||
public static Image getSprite(PKM pkm)
|
||||
{
|
||||
return getSprite(pkm.Species, pkm.AltForm, pkm.Gender, pkm.HeldItem, pkm.IsEgg, pkm.IsShiny);
|
||||
return getSprite(pkm.Species, pkm.AltForm, pkm.Gender, pkm.HeldItem, pkm.IsEgg, pkm.IsShiny, pkm.Format);
|
||||
}
|
||||
|
||||
// Font Related
|
||||
|
@ -521,7 +529,7 @@ namespace PKHeX
|
|||
return s_FontCollection.Families;
|
||||
}
|
||||
}
|
||||
internal static Font getPKXFont(float size)
|
||||
public static Font getPKXFont(float size)
|
||||
{
|
||||
return new Font(FontFamilies[0], size);
|
||||
}
|
||||
|
@ -538,9 +546,9 @@ namespace PKHeX
|
|||
}
|
||||
catch { Util.Error("Unable to add ingame font."); }
|
||||
}
|
||||
|
||||
|
||||
// Personal.dat
|
||||
internal static string[] getFormList(int species, string[] t, string[] f, string[] g)
|
||||
public static string[] getFormList(int species, string[] t, string[] f, string[] g)
|
||||
{
|
||||
// Mega List
|
||||
if (Array.IndexOf(new[]
|
||||
|
@ -863,13 +871,13 @@ namespace PKHeX
|
|||
/// <param name="type">Hidden Power Type</param>
|
||||
/// <param name="ivs">Order: HP,ATK,DEF,SPEED,SPA,SPD</param>
|
||||
/// <returns>Hidden Power Type</returns>
|
||||
internal static int[] setHPIVs(int type, int[] ivs)
|
||||
public static int[] setHPIVs(int type, int[] ivs)
|
||||
{
|
||||
for (int i = 0; i < 6; i++)
|
||||
ivs[i] = (ivs[i] & 0x1E) + hpivs[type, i];
|
||||
return ivs;
|
||||
}
|
||||
internal static readonly int[,] hpivs = {
|
||||
public static readonly int[,] hpivs = {
|
||||
{ 1, 1, 0, 0, 0, 0 }, // Fighting
|
||||
{ 0, 0, 0, 0, 0, 1 }, // Flying
|
||||
{ 1, 1, 0, 0, 0, 1 }, // Poison
|
||||
|
@ -888,7 +896,7 @@ namespace PKHeX
|
|||
{ 1, 1, 1, 1, 1, 1 }, // Dark
|
||||
};
|
||||
|
||||
internal static string TrimFromFFFF(string input)
|
||||
public static string TrimFromFFFF(string input)
|
||||
{
|
||||
int index = input.IndexOf((char)0xFFFF);
|
||||
return index < 0 ? input : input.Substring(0, index);
|
||||
|
@ -896,7 +904,7 @@ namespace PKHeX
|
|||
|
||||
// Past Gen Manipulation
|
||||
|
||||
internal static byte[] shuffleArray45(byte[] data, uint sv)
|
||||
public static byte[] shuffleArray45(byte[] data, uint sv)
|
||||
{
|
||||
byte[] sdata = new byte[data.Length];
|
||||
Array.Copy(data, sdata, 8); // Copy unshuffled bytes
|
||||
|
@ -912,7 +920,7 @@ namespace PKHeX
|
|||
return sdata;
|
||||
}
|
||||
|
||||
internal static byte[] decryptArray45(byte[] ekm)
|
||||
public static byte[] decryptArray45(byte[] ekm)
|
||||
{
|
||||
byte[] pkm = (byte[])ekm.Clone();
|
||||
|
||||
|
@ -938,7 +946,7 @@ namespace PKHeX
|
|||
return pkm;
|
||||
}
|
||||
|
||||
internal static byte[] encryptArray45(byte[] pkm)
|
||||
public static byte[] encryptArray45(byte[] pkm)
|
||||
{
|
||||
uint pv = BitConverter.ToUInt32(pkm, 0);
|
||||
uint sv = ((pv & 0x3E000) >> 0xD) % 24;
|
||||
|
@ -965,26 +973,26 @@ namespace PKHeX
|
|||
// Done
|
||||
return ekm;
|
||||
}
|
||||
|
||||
internal static int getUnownForm(uint PID)
|
||||
|
||||
public static int getUnownForm(uint PID)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(PID);
|
||||
return (((data[3] & 3) << 6) + ((data[2] & 3) << 4) + ((data[1] & 3) << 2) + ((data[0] & 3) << 0)) % 28;
|
||||
}
|
||||
|
||||
internal static ushort val2charG4(ushort val)
|
||||
public static ushort val2charG4(ushort val)
|
||||
{
|
||||
int index = Array.IndexOf(G4Values, val);
|
||||
return index > -1 ? G4Chars[index] : (ushort)0xFFFF;
|
||||
}
|
||||
|
||||
internal static ushort char2valG4(ushort chr)
|
||||
public static ushort char2valG4(ushort chr)
|
||||
{
|
||||
int index = Array.IndexOf(G4Chars, chr);
|
||||
return index > -1 ? G4Values[index] : (ushort)0xFFFF;
|
||||
}
|
||||
|
||||
internal static string array2strG4(byte[] strdata)
|
||||
public static string array2strG4(byte[] strdata)
|
||||
{
|
||||
string s = "";
|
||||
for (int i = 0; i < strdata.Length; i += 2)
|
||||
|
@ -998,7 +1006,7 @@ namespace PKHeX
|
|||
return s;
|
||||
}
|
||||
|
||||
internal static byte[] str2arrayG4(string str)
|
||||
public static byte[] str2arrayG4(string str)
|
||||
{
|
||||
byte[] strdata = new byte[str.Length * 2 + 2]; // +2 for 0xFFFF
|
||||
for (int i = 0; i < str.Length; i++)
|
||||
|
@ -1014,16 +1022,16 @@ namespace PKHeX
|
|||
}
|
||||
|
||||
// Gen3 && 3->4 Conversion has two character tables, and translates to the same character map.
|
||||
internal static ushort getG4Val(byte val, bool jp) { return jp ? G34_4J[val] : G34_4E[val]; }
|
||||
internal static ushort getG3Char(byte val, bool jp) { return val2charG4(getG4Val(val, jp)); }
|
||||
public static ushort getG4Val(byte val, bool jp) { return jp ? G34_4J[val] : G34_4E[val]; }
|
||||
public static ushort getG3Char(byte val, bool jp) { return val2charG4(getG4Val(val, jp)); }
|
||||
|
||||
internal static byte setG3Char(ushort chr, bool jp)
|
||||
public static byte setG3Char(ushort chr, bool jp)
|
||||
{
|
||||
int index = Array.IndexOf(jp ? G34_4J : G34_4E, char2valG4(chr));
|
||||
return (byte)(index > -1 ? index : 0xFF);
|
||||
}
|
||||
|
||||
internal static string getG3Str(byte[] strdata, bool jp)
|
||||
public static string getG3Str(byte[] strdata, bool jp)
|
||||
{
|
||||
return strdata
|
||||
.TakeWhile(val => val < 247) // Take valid values
|
||||
|
@ -1032,7 +1040,7 @@ namespace PKHeX
|
|||
.Aggregate("", (current, chr) => current + (char)chr);
|
||||
}
|
||||
|
||||
internal static byte[] setG3Str(string str, bool jp)
|
||||
public static byte[] setG3Str(string str, bool jp)
|
||||
{
|
||||
byte[] strdata = new byte[str.Length + 1]; // +1 for 0xFF
|
||||
for (int i = 0; i < str.Length; i++)
|
||||
|
@ -1043,23 +1051,24 @@ namespace PKHeX
|
|||
{ Array.Resize(ref strdata, i); break; }
|
||||
strdata[i] = val;
|
||||
}
|
||||
strdata[str.Length] = 0xFF;
|
||||
if (strdata.Length > 0)
|
||||
strdata[strdata.Length - 1] = 0xFF;
|
||||
return strdata;
|
||||
}
|
||||
|
||||
internal static int getG4Species(int g3index)
|
||||
public static int getG4Species(int g3index)
|
||||
{
|
||||
int index = Array.IndexOf(oldindex, g3index);
|
||||
return newindex[index > -1 ? index : 0];
|
||||
}
|
||||
|
||||
internal static int getG3Species(int g4index)
|
||||
public static int getG3Species(int g4index)
|
||||
{
|
||||
int index = Array.IndexOf(newindex, g4index);
|
||||
return oldindex[index > -1 ? index : 0];
|
||||
}
|
||||
|
||||
internal static int getGender(int species, uint PID)
|
||||
public static int getGender(int species, uint PID)
|
||||
{
|
||||
int genderratio = Personal[species].Gender;
|
||||
switch (genderratio)
|
||||
|
@ -1469,48 +1478,46 @@ namespace PKHeX
|
|||
|
||||
internal static readonly ushort[] G34_4E =
|
||||
{
|
||||
478, 351, 352, 353, 358, 359, 360, 361, 362, 363, 020, 365, 366, 369, 370,
|
||||
371, 415, 376, 377, 378, 368, 382, 383, 384, 046, 358, 359, 392, 393, 394,
|
||||
395, 396, 397, 398, 401, 402, 403, 416, 408, 409, 410, 400, 420, 419, 479,
|
||||
450, 445, 003, 004, 006, 008, 010, 068, 449, 072, 013, 015, 017, 019, 021,
|
||||
023, 025, 027, 029, 031, 033, 035, 038, 040, 042, 049, 052, 055, 058, 061,
|
||||
050, 053, 056, 059, 062, 036, 426, 425, 480, 481, 091, 092, 094, 096, 098,
|
||||
364, 100, 102, 106, 108, 110, 112, 114, 117, 119, 121, 123, 124, 125, 385,
|
||||
127, 128, 131, 134, 137, 140, 396, 144, 145, 146, 147, 149, 151, 153, 154,
|
||||
155, 156, 157, 158, 159, 160, 161, 082, 084, 086, 088, 090, 148, 150, 152,
|
||||
093, 095, 097, 099, 101, 103, 105, 107, 109, 111, 113, 115, 118, 120, 122,
|
||||
129, 132, 135, 138, 141, 130, 133, 136, 139, 142, 116, 289, 290, 291, 292,
|
||||
293, 294, 295, 296, 297, 298, 427, 428, 430, 241, 230, 431, 436, 437, 434,
|
||||
435, 443, 444, 424, 429, 242, 433, 299, 300, 301, 302, 303, 304, 305, 306,
|
||||
307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
|
||||
322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
|
||||
337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 289,
|
||||
452, 355, 373, 379, 387, 405, 411
|
||||
478, 351, 352, 353, 358, 359, 360, 361, 362, 363, 020, 365, 366, 369, 370, 371, // 0
|
||||
415, 376, 377, 378, 368, 382, 383, 384, 046, 358, 359, 392, 393, 394, 395, 396, // 1
|
||||
397, 398, 401, 402, 403, 416, 408, 409, 410, 400, 420, 419, 479, 450, 445, 003, // 2
|
||||
004, 006, 008, 010, 068, 449, 072, 013, 015, 017, 019, 021, 023, 025, 027, 029, // 3
|
||||
031, 033, 035, 038, 040, 042, 049, 052, 055, 058, 061, 050, 053, 056, 059, 062, // 4
|
||||
036, 426, 425, 480, 481, 091, 092, 094, 096, 098, 364, 100, 102, 106, 108, 110, // 5
|
||||
112, 114, 117, 119, 121, 123, 124, 125, 385, 127, 128, 131, 134, 137, 140, 396, // 6
|
||||
144, 145, 146, 147, 149, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 082, // 7
|
||||
084, 086, 088, 090, 148, 150, 152, 093, 095, 097, 099, 101, 103, 105, 107, 109, // 8
|
||||
111, 113, 115, 118, 120, 122, 129, 132, 135, 138, 141, 130, 133, 136, 139, 142, // 9
|
||||
116, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 427, 428, 430, 446, 230, // A
|
||||
431, 436, 437, 434, 435, 443, 444, 424, 429, 242, 433, 299, 300, 301, 302, 303, // B
|
||||
304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, // C
|
||||
320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, // D
|
||||
336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 289, // E
|
||||
452, 355, 373, 379, 387, 405, 411 // F
|
||||
};
|
||||
|
||||
internal static readonly ushort[] G34_4J =
|
||||
{
|
||||
001, 003, 005, 007, 009, 011, 012, 014, 016, 018, 020, 022, 024, 026, 028,
|
||||
030, 032, 034, 037, 039, 041, 043, 044, 045, 046, 047, 048, 051, 054, 057,
|
||||
060, 063, 064, 065, 066, 067, 069, 071, 073, 074, 075, 076, 077, 078, 079,
|
||||
080, 081, 002, 004, 006, 008, 010, 068, 070, 072, 013, 015, 017, 019, 021,
|
||||
023, 025, 027, 029, 031, 033, 035, 038, 040, 042, 049, 052, 055, 058, 061,
|
||||
050, 053, 056, 059, 062, 036, 083, 085, 087, 089, 091, 092, 094, 096, 098,
|
||||
100, 102, 104, 106, 108, 110, 112, 114, 117, 119, 121, 123, 124, 125, 126,
|
||||
127, 128, 131, 134, 137, 140, 143, 144, 145, 146, 147, 149, 151, 153, 154,
|
||||
155, 156, 157, 158, 159, 160, 161, 082, 084, 086, 088, 090, 148, 150, 152,
|
||||
093, 095, 097, 099, 101, 103, 105, 107, 109, 111, 113, 115, 118, 120, 122,
|
||||
129, 132, 135, 138, 141, 130, 133, 136, 139, 142, 116, 162, 163, 164, 165,
|
||||
166, 167, 168, 169, 170, 171, 225, 226, 228, 241, 230, 229, 234, 235, 232,
|
||||
233, 443, 444, 424, 430, 242, 433, 172, 173, 174, 175, 176, 177, 178, 179,
|
||||
180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
|
||||
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
|
||||
210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 289,
|
||||
452, 355, 373, 379, 387, 405, 411
|
||||
001, 003, 005, 007, 009, 011, 012, 014, 016, 018, 020, 022, 024, 026, 028, 030, // 0
|
||||
032, 034, 037, 039, 041, 043, 044, 045, 046, 047, 048, 051, 054, 057, 060, 063, // 1
|
||||
064, 065, 066, 067, 069, 071, 073, 074, 075, 076, 077, 078, 079, 080, 081, 002, // 2
|
||||
004, 006, 008, 010, 068, 070, 072, 013, 015, 017, 019, 021, 023, 025, 027, 029, // 3
|
||||
031, 033, 035, 038, 040, 042, 049, 052, 055, 058, 061, 050, 053, 056, 059, 062, // 4
|
||||
036, 083, 085, 087, 089, 091, 092, 094, 096, 098, 100, 102, 104, 106, 108, 110, // 5
|
||||
112, 114, 117, 119, 121, 123, 124, 125, 126, 127, 128, 131, 134, 137, 140, 143, // 6
|
||||
144, 145, 146, 147, 149, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 082, // 7
|
||||
084, 086, 088, 090, 148, 150, 152, 093, 095, 097, 099, 101, 103, 105, 107, 109, // 8
|
||||
111, 113, 115, 118, 120, 122, 129, 132, 135, 138, 141, 130, 133, 136, 139, 142, // 9
|
||||
116, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 225, 226, 228, 446, 230, // A
|
||||
229, 234, 235, 232, 233, 443, 444, 424, 430, 242, 433, 172, 173, 174, 175, 176, // B
|
||||
177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, // C
|
||||
193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, // D
|
||||
209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 289, // E
|
||||
452, 355, 373, 379, 387, 405, 411 // F
|
||||
};
|
||||
#endregion
|
||||
|
||||
internal static readonly byte[][] G4TransferTrashBytes = {
|
||||
public static readonly byte[][] G4TransferTrashBytes = {
|
||||
new byte[] { }, // Unused
|
||||
new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
new byte[] { 0x18, 0x20, 0x0D, 0x02, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA1, 0x0C, 0x02, 0xE0, 0xFF },
|
||||
|
@ -1521,7 +1528,7 @@ namespace PKHeX
|
|||
new byte[] { 0x74, 0x20, 0x0D, 0x02, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xA1, 0x0C, 0x02, 0xE0, 0xFF },
|
||||
};
|
||||
|
||||
internal static byte[] decryptArray3(byte[] ekm)
|
||||
public static byte[] decryptArray3(byte[] ekm)
|
||||
{
|
||||
if (ekm.Length != SIZE_3PARTY && ekm.Length != SIZE_3STORED)
|
||||
return null;
|
||||
|
@ -1535,7 +1542,7 @@ namespace PKHeX
|
|||
ekm[i] ^= xorkey[i % 4];
|
||||
return shuffleArray3(ekm, PID%24);
|
||||
}
|
||||
internal static byte[] shuffleArray3(byte[] data, uint sv)
|
||||
public static byte[] shuffleArray3(byte[] data, uint sv)
|
||||
{
|
||||
byte[] sdata = new byte[data.Length];
|
||||
Array.Copy(data, sdata, 32); // Copy unshuffled bytes
|
||||
|
@ -1550,7 +1557,7 @@ namespace PKHeX
|
|||
|
||||
return sdata;
|
||||
}
|
||||
internal static byte[] encryptArray3(byte[] pkm)
|
||||
public static byte[] encryptArray3(byte[] pkm)
|
||||
{
|
||||
if (pkm.Length != SIZE_3PARTY && pkm.Length != SIZE_3STORED)
|
||||
return null;
|
||||
|
@ -1566,7 +1573,7 @@ namespace PKHeX
|
|||
return ekm;
|
||||
}
|
||||
|
||||
internal static ushort getG4Item(ushort g3val)
|
||||
public static ushort getG4Item(ushort g3val)
|
||||
{
|
||||
ushort[] arr =
|
||||
{
|
||||
|
@ -1577,7 +1584,7 @@ namespace PKHeX
|
|||
66,67,68,69,43,44,70,71,72,73,
|
||||
74,75,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,45,46,47,48,49,50,51,
|
||||
52,53,0xFFFF,55,56,57,58,59,60,0xFFFF,
|
||||
52,53,0xFFFF,55,56,57,58,59,60,61,
|
||||
63,64,0xFFFF,76,77,78,79,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,80,81,82,83,84,85,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,86,87,0xFFFF,88,89,90,91,
|
||||
|
@ -1596,6 +1603,15 @@ namespace PKHeX
|
|||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,260,261,262,263,264,
|
||||
|
||||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
|
||||
328,329,330,331,332,333,334,335,336,337,
|
||||
338,339,340,341,342,343,344,345,346,347,
|
||||
348,349,350,351,352,353,354,355,356,357,
|
||||
358,359,360,361,362,363,364,365,366,367,
|
||||
368,369,370,371,372,373,374,375,376,377,
|
||||
};
|
||||
if (g3val > arr.Length)
|
||||
return 0xFFFF;
|
|
@ -9,11 +9,11 @@ namespace PKHeX
|
|||
internal static readonly string[] StatNames = { "HP", "Atk", "Def", "SpA", "SpD", "Spe" };
|
||||
public static readonly string[] types = Util.getStringList("types", "en");
|
||||
public static readonly string[] forms = Util.getStringList("forms", "en");
|
||||
private static readonly string[] species = Util.getStringList("species", "en");
|
||||
private static readonly string[] species = Util.getSpeciesList("en");
|
||||
private static readonly string[] items = Util.getStringList("items", "en");
|
||||
private static readonly string[] natures = Util.getStringList("natures", "en");
|
||||
private static readonly string[] moves = Util.getStringList("moves", "en");
|
||||
private static readonly string[] abilities = Util.getStringList("abilities", "en");
|
||||
private static readonly string[] moves = Util.getMovesList("en");
|
||||
private static readonly string[] abilities = Util.getAbilitiesList("en");
|
||||
private static readonly string[] hptypes = types.Skip(1).ToArray();
|
||||
|
||||
// Default Set Data
|
||||
|
@ -96,7 +96,7 @@ namespace PKHeX
|
|||
string[] tmp = spec.Split(new[] { "-" }, StringSplitOptions.None);
|
||||
if (tmp.Length < 2) return;
|
||||
Species = Array.IndexOf(species, tmp[0].Replace(" ", ""));
|
||||
Form = tmp[1].Replace(" ", "");
|
||||
Form = tmp[1].Trim();
|
||||
if (tmp.Length > 2)
|
||||
Form += " " + tmp[2];
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ namespace PKHeX
|
|||
{
|
||||
string[] tmp = spec.Split(new[] { "-" }, StringSplitOptions.None);
|
||||
Species = Array.IndexOf(species, tmp[0].Replace(" ", ""));
|
||||
Form = tmp[1].Replace(" ", "");
|
||||
Form = tmp[1].Trim();
|
||||
if (tmp.Length > 2)
|
||||
Form += " " + tmp[2];
|
||||
}
|
|
@ -15132,6 +15132,16 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap item_tm {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("item_tm", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to ! PKHeX Interface Customization File
|
||||
///! Languages: Save this file accordingly and put it in the same folder as PKHeX's executable.
|
||||
|
@ -15181,11 +15191,11 @@ namespace PKHeX.Properties {
|
|||
/// <summary>
|
||||
/// Looks up a localized string similar to ! PKHeX Interface Customization File
|
||||
///! Languages: Save this file accordingly and put it in the same folder as PKHeX's executable.
|
||||
///! lang_en.txt = English
|
||||
///! lang_jp.txt = Japanese
|
||||
///! lang_en.txt = Inglés
|
||||
///! lang_jp.txt = Japonés
|
||||
///! lang_fr.txt = French
|
||||
///! lang_de.txt = German
|
||||
///! lang_es.txt = Spanish
|
||||
///! lang_de.txt = Alemán
|
||||
///! lang_es.txt = Español
|
||||
///! lang_it.txt = Italian
|
||||
///! lang_ko.txt = Korean
|
||||
///! lang_zh.txt = Chinese
|
||||
|
@ -15193,7 +15203,7 @@ namespace PKHeX.Properties {
|
|||
///! Make sure that each edit has a ' = ' between Control name and new Text!
|
||||
///!
|
||||
///! -----------------------------------------------------
|
||||
///- DO NOT CHANGE THI [rest of string was truncated]";.
|
||||
///- DO NOT CHANGE THIS [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string lang_es {
|
||||
get {
|
||||
|
@ -20500,18 +20510,18 @@ namespace PKHeX.Properties {
|
|||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to None
|
||||
///Rock Smash (HGSS)
|
||||
///Tall Grass
|
||||
///Golpe roca (HGSS)
|
||||
///Hierba Alta
|
||||
///
|
||||
///Dialga/Palkia
|
||||
///Cave/Hall of Origin
|
||||
///Cueva/Sala del Origen
|
||||
///
|
||||
///Surfing/Fishing
|
||||
///Surfeando/Pescando
|
||||
///
|
||||
///Building/Enigma Stone
|
||||
///Marsh/Safari
|
||||
///Edificio/Misticristal
|
||||
///Pantano/Safari
|
||||
///
|
||||
///Starter/Fossil/Gift (DP)
|
||||
///Inicial/Fosil/Regalo (DP)
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -20522,8 +20532,8 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///Distortion World (Pt)
|
||||
///Starter/Fossil/Gift (Pt/DP Trio).
|
||||
///Mundo Distorsion (Pt)
|
||||
///Inicial/Fosil/Regalo (Pt/DP Trio).
|
||||
/// </summary>
|
||||
internal static string text_encountertype_es {
|
||||
get {
|
||||
|
@ -20697,7 +20707,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -20949,9 +20959,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_de {
|
||||
get {
|
||||
|
@ -20960,7 +20968,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -21212,9 +21220,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_en {
|
||||
get {
|
||||
|
@ -21223,7 +21229,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -21474,10 +21480,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// [rest of string was truncated]";.
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_es {
|
||||
get {
|
||||
|
@ -21486,7 +21489,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -21736,10 +21739,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// [rest of string was truncated]";.
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_fr {
|
||||
get {
|
||||
|
@ -21748,7 +21748,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -21999,10 +21999,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// [rest of string was truncated]";.
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_it {
|
||||
get {
|
||||
|
@ -22011,7 +22008,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -22262,9 +22259,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_ja {
|
||||
get {
|
||||
|
@ -22273,7 +22268,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -22525,9 +22520,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_ko {
|
||||
get {
|
||||
|
@ -22536,7 +22529,7 @@ namespace PKHeX.Properties {
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to
|
||||
/// Looks up a localized string similar to Spiky
|
||||
///
|
||||
///
|
||||
///
|
||||
|
@ -22787,10 +22780,7 @@ namespace PKHeX.Properties {
|
|||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// [rest of string was truncated]";.
|
||||
///
/// [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string text_forms_zh {
|
||||
get {
|
||||
|
@ -22878,8 +22868,8 @@ namespace PKHeX.Properties {
|
|||
///RojoFuego
|
||||
///VerdeHoja
|
||||
///
|
||||
///HeartGold
|
||||
///SoulSilver
|
||||
///Oro HeartGold
|
||||
///Plata SoulSilver
|
||||
///
|
||||
///Diamante
|
||||
///Perla
|
||||
|
@ -22897,8 +22887,8 @@ namespace PKHeX.Properties {
|
|||
///Negra2
|
||||
///X
|
||||
///Y
|
||||
///AS
|
||||
///OR.
|
||||
///Zafiro Alfa
|
||||
///Rubí Omega.
|
||||
/// </summary>
|
||||
internal static string text_games_es {
|
||||
get {
|
|
@ -6382,4 +6382,7 @@
|
|||
<data name="slotView1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\box\slotView.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="item_tm" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\item\item_tm.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
PKHeX/Resources/byte/wc6.pkl
Normal file
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 283 B After Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 291 B |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
Before Width: | Height: | Size: 286 B After Width: | Height: | Size: 286 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 407 B |
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 351 B |
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 308 B |
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 327 B |
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 434 B |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 474 B |
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 402 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 424 B After Width: | Height: | Size: 424 B |
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 430 B |
Before Width: | Height: | Size: 537 B After Width: | Height: | Size: 537 B |