From 11b2dc35d7fb3dcaebdf4c00e5b607db4ddf857c Mon Sep 17 00:00:00 2001 From: Kurt Date: Mon, 22 May 2017 21:55:05 -0700 Subject: [PATCH] Refactor main form into smaller pieces pkm editor, sav editor, menus, and a manager to glue the storage slots together decouples the pkm/sav editors from a static savefile reference. improves dragdrop/click view/set/delete indication, hides unavailable contextmenuitems, and fixes a few incorrect references. Box Subviewer slots now have all the indication/events that the main save editor slots have. pls report behavior bugs :+1: --- PKHeX.Core/Game/GameInfo.cs | 5 +- PKHeX.Core/PKM/BK4.cs | 302 +- PKHeX.Core/PKM/CK3.cs | 12 + PKHeX.Core/PKM/PK1.cs | 12 + PKHeX.Core/PKM/PK2.cs | 12 + PKHeX.Core/PKM/PK3.cs | 12 + PKHeX.Core/PKM/PK4.cs | 13 + PKHeX.Core/PKM/PK5.cs | 12 + PKHeX.Core/PKM/PK6.cs | 12 + PKHeX.Core/PKM/PK7.cs | 12 + PKHeX.Core/PKM/PKM.cs | 33 + PKHeX.Core/PKM/XK3.cs | 11 + PKHeX.Core/Saves/SaveFile.cs | 7 +- PKHeX.Core/Util/ReflectUtil.cs | 6 +- .../PKM Editor/ContextMenuPKM.Designer.cs | 86 + .../Controls/PKM Editor/ContextMenuPKM.cs | 20 + .../Controls/PKM Editor/ContextMenuPKM.resx | 123 + .../PKM Editor/EditCK3.cs} | 4 +- .../PKM Editor/EditPK1.cs} | 4 +- .../PKM Editor/EditPK2.cs} | 4 +- .../PKM Editor/EditPK3.cs} | 4 +- PKHeX.WinForms/Controls/PKM Editor/EditPK4.cs | 244 + .../PKM Editor/EditPK5.cs} | 6 +- .../PKM Editor/EditPK6.cs} | 6 +- .../PKM Editor/EditPK7.cs} | 6 +- .../PKM Editor/EditXK3.cs} | 4 +- .../Controls/PKM Editor/PKMEditor.Designer.cs | 3880 +++++++++++ .../Controls/PKM Editor/PKMEditor.cs | 1976 ++++++ .../Controls/PKM Editor/PKMEditor.resx | 1097 +++ .../Controls/SAV Editor/BoxEditor.Designer.cs | 584 ++ .../Controls/SAV Editor/BoxEditor.cs | 234 + .../Controls/SAV Editor/BoxEditor.resx | 291 + .../SAV Editor/ContextMenuSAV.Designer.cs | 98 + .../Controls/SAV Editor/ContextMenuSAV.cs | 202 + .../Controls/SAV Editor/ContextMenuSAV.resx | 123 + .../Controls/SAV Editor/SAVEditor.Designer.cs | 1144 ++++ .../Controls/SAV Editor/SAVEditor.cs | 1067 +++ .../Controls/SAV Editor/SAVEditor.resx | 655 ++ .../Controls/SAV Editor/SlotChange.cs | 18 + .../Controls/SAV Editor/SlotChangeInfo.cs | 34 + .../Controls/SAV Editor/SlotChangeManager.cs | 367 + PKHeX.WinForms/MainWindow/DragDropManager.cs | 94 - PKHeX.WinForms/MainWindow/Main.Designer.cs | 6059 +---------------- PKHeX.WinForms/MainWindow/Main.cs | 4113 ++--------- PKHeX.WinForms/MainWindow/Main.resx | 2123 +----- PKHeX.WinForms/MainWindow/MainPK4.cs | 477 -- PKHeX.WinForms/MainWindow/SlotChange.cs | 10 - PKHeX.WinForms/PKHeX.WinForms.csproj | 86 +- PKHeX.WinForms/Subforms/KChart.cs | 21 +- .../Subforms/PKM Editors/BatchEditor.cs | 22 +- .../Subforms/PKM Editors/MemoryAmie.cs | 9 +- .../Subforms/PKM Editors/RibbonEditor.cs | 6 +- .../PKM Editors/SuperTrainingEditor.cs | 7 +- PKHeX.WinForms/Subforms/PKM Editors/Text.cs | 23 +- PKHeX.WinForms/Subforms/SAV_Database.cs | 32 +- PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs | 19 +- .../Subforms/Save Editors/Gen3/SAV_Misc3.cs | 9 +- .../Subforms/Save Editors/Gen3/SAV_RTC3.cs | 9 +- .../Save Editors/Gen4/SAV_HoneyTree.cs | 9 +- .../Subforms/Save Editors/Gen4/SAV_Misc4.cs | 9 +- .../Save Editors/Gen4/SAV_Pokedex4.cs | 10 +- .../Save Editors/Gen5/SAV_CGearSkin.cs | 26 +- .../Save Editors/Gen5/SAV_Pokedex5.cs | 10 +- .../Save Editors/Gen6/SAV_BerryFieldXY.cs | 6 +- .../Save Editors/Gen6/SAV_BoxLayout.cs | 9 +- .../Save Editors/Gen6/SAV_HallOfFame.cs | 11 +- .../Subforms/Save Editors/Gen6/SAV_Link6.cs | 8 +- .../Subforms/Save Editors/Gen6/SAV_OPower.cs | 11 +- .../Save Editors/Gen6/SAV_PokeBlockORAS.cs | 8 +- .../Save Editors/Gen6/SAV_PokedexORAS.cs | 10 +- .../Save Editors/Gen6/SAV_PokedexXY.cs | 9 +- .../Save Editors/Gen6/SAV_Pokepuff.cs | 9 +- .../Save Editors/Gen6/SAV_SecretBase.cs | 9 +- .../Save Editors/Gen6/SAV_SuperTrain.cs | 9 +- .../Subforms/Save Editors/Gen6/SAV_Trainer.cs | 21 +- .../Save Editors/Gen7/SAV_HallOfFame7.cs | 9 +- .../Save Editors/Gen7/SAV_Pokebean.cs | 9 +- .../Save Editors/Gen7/SAV_PokedexSM.cs | 10 +- .../Save Editors/Gen7/SAV_Trainer7.cs | 11 +- .../Save Editors/Gen7/SAV_ZygardeCell.cs | 9 +- .../Save Editors/SAV_BoxViewer.Designer.cs | 557 +- .../Subforms/Save Editors/SAV_BoxViewer.cs | 357 +- .../Subforms/Save Editors/SAV_EventFlags.cs | 9 +- .../Subforms/Save Editors/SAV_Inventory.cs | 9 +- .../Save Editors/SAV_SimplePokedex.cs | 9 +- .../Save Editors/SAV_SimpleTrainer.cs | 11 +- .../Subforms/Save Editors/SAV_Wondercard.cs | 27 +- PKHeX.WinForms/Util/PKMUtil.cs | 6 +- PKHeX.WinForms/Util/WinFormsUtil.cs | 3 + Tests/PKHeX.Tests/PKM/DateTestPKM.cs | 12 + 90 files changed, 13462 insertions(+), 13631 deletions(-) create mode 100644 PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.Designer.cs create mode 100644 PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.cs create mode 100644 PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.resx rename PKHeX.WinForms/{MainWindow/MainCK3.cs => Controls/PKM Editor/EditCK3.cs} (99%) rename PKHeX.WinForms/{MainWindow/MainPK1.cs => Controls/PKM Editor/EditPK1.cs} (98%) rename PKHeX.WinForms/{MainWindow/MainPK2.cs => Controls/PKM Editor/EditPK2.cs} (98%) rename PKHeX.WinForms/{MainWindow/MainPK3.cs => Controls/PKM Editor/EditPK3.cs} (99%) create mode 100644 PKHeX.WinForms/Controls/PKM Editor/EditPK4.cs rename PKHeX.WinForms/{MainWindow/MainPK5.cs => Controls/PKM Editor/EditPK5.cs} (98%) rename PKHeX.WinForms/{MainWindow/MainPK6.cs => Controls/PKM Editor/EditPK6.cs} (99%) rename PKHeX.WinForms/{MainWindow/MainPK7.cs => Controls/PKM Editor/EditPK7.cs} (99%) rename PKHeX.WinForms/{MainWindow/MainXK3.cs => Controls/PKM Editor/EditXK3.cs} (99%) create mode 100644 PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs create mode 100644 PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs create mode 100644 PKHeX.WinForms/Controls/PKM Editor/PKMEditor.resx create mode 100644 PKHeX.WinForms/Controls/SAV Editor/BoxEditor.Designer.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/BoxEditor.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/BoxEditor.resx create mode 100644 PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.Designer.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.resx create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SlotChange.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SlotChangeInfo.cs create mode 100644 PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs delete mode 100644 PKHeX.WinForms/MainWindow/DragDropManager.cs delete mode 100644 PKHeX.WinForms/MainWindow/MainPK4.cs delete mode 100644 PKHeX.WinForms/MainWindow/SlotChange.cs diff --git a/PKHeX.Core/Game/GameInfo.cs b/PKHeX.Core/Game/GameInfo.cs index 658d82915..4d36a8ed1 100644 --- a/PKHeX.Core/Game/GameInfo.cs +++ b/PKHeX.Core/Game/GameInfo.cs @@ -7,8 +7,11 @@ namespace PKHeX.Core public static class GameInfo { private static readonly string[] ptransp = { "ポケシフター", "Poké Transfer", "Poké Fret", "Pokétrasporto", "Poképorter", "Pokétransfer", "포케시프터", "宝可传送", "寶可傳送", "ポケシフター" }; - public static readonly string[] lang_val = { "ja", "en", "fr", "it", "de", "es", "ko", "zh", "zh2", "pt" }; + private static readonly string[] lang_val = { "ja", "en", "fr", "it", "de", "es", "ko", "zh", "zh2", "pt" }; private const string DefaultLanguage = "en"; + public static string CurrentLanguage { get; set; } = DefaultLanguage; + public static int Language(string lang = null) => Array.IndexOf(lang_val, lang ?? CurrentLanguage); + public static string Language2Char(uint lang) => lang > lang_val.Length ? DefaultLanguage : lang_val[lang]; private static readonly GameStrings[] Languages = new GameStrings[lang_val.Length]; // Lazy fetch implementation diff --git a/PKHeX.Core/PKM/BK4.cs b/PKHeX.Core/PKM/BK4.cs index 21974e885..e673d6304 100644 --- a/PKHeX.Core/PKM/BK4.cs +++ b/PKHeX.Core/PKM/BK4.cs @@ -1,21 +1,11 @@ using System; -using System.Linq; namespace PKHeX.Core { - public class BK4 : PKM // Big Endian 4th Generation PKM File + public class BK4 : PK4 // Big Endian 4th Generation PKM File { - public static readonly byte[] ExtraBytes = - { - 0x42, 0x43, 0x5E, 0x63, 0x64, 0x65, 0x66, 0x67, 0x87 - }; - public sealed override int SIZE_PARTY => PKX.SIZE_4PARTY; - public override int SIZE_STORED => PKX.SIZE_4STORED; - public override int Format => 4; - public override PersonalInfo PersonalInfo => PersonalTable.HGSS[Species]; - + // Note: Only overrides that are different from PK4 are included. public override byte[] DecryptedBoxData => EncryptedBoxData; - public override bool Valid => ChecksumValid || Sanity == 0 && Species <= 493; public BK4(byte[] decryptedData = null, string ident = null) @@ -24,7 +14,7 @@ public BK4(byte[] decryptedData = null, string ident = null) uint sv = ((PID & 0x3E000) >> 0xD) % 24; Data = PKX.shuffleArray45(Data, sv); Identifier = ident; - if (Sanity != 0 && Species <= 493 && !ChecksumValid) // We can only hope + if (Sanity != 0 && Species <= MaxSpeciesID && !ChecksumValid) // We can only hope RefreshChecksum(); if (Valid && Sanity == 0) Sanity = 0x4000; @@ -40,12 +30,6 @@ public BK4(byte[] decryptedData = null, string ident = null) public override byte[] Nickname_Trash { get => getData(0x48, 24); set { if (value?.Length == 24) value.CopyTo(Data, 0x48); } } public override byte[] OT_Trash { get => getData(0x68, 16); set { if (value?.Length == 16) value.CopyTo(Data, 0x68); } } - // Future Attributes - public override uint EncryptionConstant { get => PID; set { } } - public override int Nature { get => (int)(PID % 25); set { } } - public override int CurrentFriendship { get => OT_Friendship; set => OT_Friendship = value; } - public override int CurrentHandler { get => 0; set { } } - // Structure public override uint PID { get => BigEndian.ToUInt32(Data, 0x00); set => BigEndian.GetBytes(value).CopyTo(Data, 0x00); } public override ushort Sanity { get => BigEndian.ToUInt16(Data, 0x04); set => BigEndian.GetBytes(value).CopyTo(Data, 0x04); } @@ -61,59 +45,43 @@ public override uint EXP get => BigEndian.ToUInt32(Data, 0x10); set => BigEndian.GetBytes(value).CopyTo(Data, 0x10); } - public override int OT_Friendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int Ability { get => Data[0x15]; set => Data[0x15] = (byte)value; } - public override int MarkValue { get => Data[0x16]; protected set => Data[0x16] = (byte)value; } - public override int Language { get => Data[0x17]; set => Data[0x17] = (byte)value; } - public override int EV_HP { get => Data[0x18]; set => Data[0x18] = (byte)value; } - public override int EV_ATK { get => Data[0x19]; set => Data[0x19] = (byte)value; } - public override int EV_DEF { get => Data[0x1A]; set => Data[0x1A] = (byte)value; } - public override int EV_SPE { get => Data[0x1B]; set => Data[0x1B] = (byte)value; } - public override int EV_SPA { get => Data[0x1C]; set => Data[0x1C] = (byte)value; } - public override int EV_SPD { get => Data[0x1D]; set => Data[0x1D] = (byte)value; } - public override int CNT_Cool { get => Data[0x1E]; set => Data[0x1E] = (byte)value; } - public override int CNT_Beauty { get => Data[0x1F]; set => Data[0x1F] = (byte)value; } - public override int CNT_Cute { get => Data[0x20]; set => Data[0x20] = (byte)value; } - public override int CNT_Smart { get => Data[0x21]; set => Data[0x21] = (byte)value; } - public override int CNT_Tough { get => Data[0x22]; set => Data[0x22] = (byte)value; } - public override int CNT_Sheen { get => Data[0x23]; set => Data[0x23] = (byte)value; } private byte RIB0 { get => Data[0x24]; set => Data[0x24] = value; } // Sinnoh 1 private byte RIB1 { get => Data[0x25]; set => Data[0x25] = value; } // Sinnoh 2 private byte RIB2 { get => Data[0x26]; set => Data[0x26] = value; } // Unova 1 private byte RIB3 { get => Data[0x27]; set => Data[0x27] = value; } // Unova 2 - public bool RibbonChampionSinnoh { get => (RIB0 & (1 << 0)) == 1 << 0; set => RIB0 = (byte)(RIB0 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonAbility { get => (RIB0 & (1 << 1)) == 1 << 1; set => RIB0 = (byte)(RIB0 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonAbilityGreat { get => (RIB0 & (1 << 2)) == 1 << 2; set => RIB0 = (byte)(RIB0 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonAbilityDouble { get => (RIB0 & (1 << 3)) == 1 << 3; set => RIB0 = (byte)(RIB0 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonAbilityMulti { get => (RIB0 & (1 << 4)) == 1 << 4; set => RIB0 = (byte)(RIB0 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonAbilityPair { get => (RIB0 & (1 << 5)) == 1 << 5; set => RIB0 = (byte)(RIB0 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonAbilityWorld { get => (RIB0 & (1 << 6)) == 1 << 6; set => RIB0 = (byte)(RIB0 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonAlert { get => (RIB0 & (1 << 7)) == 1 << 7; set => RIB0 = (byte)(RIB0 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonShock { get => (RIB1 & (1 << 0)) == 1 << 0; set => RIB1 = (byte)(RIB1 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonDowncast { get => (RIB1 & (1 << 1)) == 1 << 1; set => RIB1 = (byte)(RIB1 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonCareless { get => (RIB1 & (1 << 2)) == 1 << 2; set => RIB1 = (byte)(RIB1 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonRelax { get => (RIB1 & (1 << 3)) == 1 << 3; set => RIB1 = (byte)(RIB1 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonSnooze { get => (RIB1 & (1 << 4)) == 1 << 4; set => RIB1 = (byte)(RIB1 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonSmile { get => (RIB1 & (1 << 5)) == 1 << 5; set => RIB1 = (byte)(RIB1 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonGorgeous { get => (RIB1 & (1 << 6)) == 1 << 6; set => RIB1 = (byte)(RIB1 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonRoyal { get => (RIB1 & (1 << 7)) == 1 << 7; set => RIB1 = (byte)(RIB1 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonGorgeousRoyal { get => (RIB2 & (1 << 0)) == 1 << 0; set => RIB2 = (byte)(RIB2 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonFootprint { get => (RIB2 & (1 << 1)) == 1 << 1; set => RIB2 = (byte)(RIB2 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonRecord { get => (RIB2 & (1 << 2)) == 1 << 2; set => RIB2 = (byte)(RIB2 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonEvent { get => (RIB2 & (1 << 3)) == 1 << 3; set => RIB2 = (byte)(RIB2 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonLegend { get => (RIB2 & (1 << 4)) == 1 << 4; set => RIB2 = (byte)(RIB2 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonChampionWorld { get => (RIB2 & (1 << 5)) == 1 << 5; set => RIB2 = (byte)(RIB2 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonBirthday { get => (RIB2 & (1 << 6)) == 1 << 6; set => RIB2 = (byte)(RIB2 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonSpecial { get => (RIB2 & (1 << 7)) == 1 << 7; set => RIB2 = (byte)(RIB2 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonSouvenir { get => (RIB3 & (1 << 0)) == 1 << 0; set => RIB3 = (byte)(RIB3 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonWishing { get => (RIB3 & (1 << 1)) == 1 << 1; set => RIB3 = (byte)(RIB3 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonClassic { get => (RIB3 & (1 << 2)) == 1 << 2; set => RIB3 = (byte)(RIB3 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonPremier { get => (RIB3 & (1 << 3)) == 1 << 3; set => RIB3 = (byte)(RIB3 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RIB3_4 { get => (RIB3 & (1 << 4)) == 1 << 4; set => RIB3 = (byte)(RIB3 & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused - public bool RIB3_5 { get => (RIB3 & (1 << 5)) == 1 << 5; set => RIB3 = (byte)(RIB3 & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused - public bool RIB3_6 { get => (RIB3 & (1 << 6)) == 1 << 6; set => RIB3 = (byte)(RIB3 & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused - public bool RIB3_7 { get => (RIB3 & (1 << 7)) == 1 << 7; set => RIB3 = (byte)(RIB3 & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused + public new bool RibbonChampionSinnoh { get => (RIB0 & (1 << 0)) == 1 << 0; set => RIB0 = (byte)(RIB0 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonAbility { get => (RIB0 & (1 << 1)) == 1 << 1; set => RIB0 = (byte)(RIB0 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonAbilityGreat { get => (RIB0 & (1 << 2)) == 1 << 2; set => RIB0 = (byte)(RIB0 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonAbilityDouble { get => (RIB0 & (1 << 3)) == 1 << 3; set => RIB0 = (byte)(RIB0 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonAbilityMulti { get => (RIB0 & (1 << 4)) == 1 << 4; set => RIB0 = (byte)(RIB0 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonAbilityPair { get => (RIB0 & (1 << 5)) == 1 << 5; set => RIB0 = (byte)(RIB0 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonAbilityWorld { get => (RIB0 & (1 << 6)) == 1 << 6; set => RIB0 = (byte)(RIB0 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonAlert { get => (RIB0 & (1 << 7)) == 1 << 7; set => RIB0 = (byte)(RIB0 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonShock { get => (RIB1 & (1 << 0)) == 1 << 0; set => RIB1 = (byte)(RIB1 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonDowncast { get => (RIB1 & (1 << 1)) == 1 << 1; set => RIB1 = (byte)(RIB1 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonCareless { get => (RIB1 & (1 << 2)) == 1 << 2; set => RIB1 = (byte)(RIB1 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonRelax { get => (RIB1 & (1 << 3)) == 1 << 3; set => RIB1 = (byte)(RIB1 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonSnooze { get => (RIB1 & (1 << 4)) == 1 << 4; set => RIB1 = (byte)(RIB1 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonSmile { get => (RIB1 & (1 << 5)) == 1 << 5; set => RIB1 = (byte)(RIB1 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonGorgeous { get => (RIB1 & (1 << 6)) == 1 << 6; set => RIB1 = (byte)(RIB1 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonRoyal { get => (RIB1 & (1 << 7)) == 1 << 7; set => RIB1 = (byte)(RIB1 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonGorgeousRoyal { get => (RIB2 & (1 << 0)) == 1 << 0; set => RIB2 = (byte)(RIB2 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonFootprint { get => (RIB2 & (1 << 1)) == 1 << 1; set => RIB2 = (byte)(RIB2 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonRecord { get => (RIB2 & (1 << 2)) == 1 << 2; set => RIB2 = (byte)(RIB2 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonEvent { get => (RIB2 & (1 << 3)) == 1 << 3; set => RIB2 = (byte)(RIB2 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonLegend { get => (RIB2 & (1 << 4)) == 1 << 4; set => RIB2 = (byte)(RIB2 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonChampionWorld { get => (RIB2 & (1 << 5)) == 1 << 5; set => RIB2 = (byte)(RIB2 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonBirthday { get => (RIB2 & (1 << 6)) == 1 << 6; set => RIB2 = (byte)(RIB2 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonSpecial { get => (RIB2 & (1 << 7)) == 1 << 7; set => RIB2 = (byte)(RIB2 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonSouvenir { get => (RIB3 & (1 << 0)) == 1 << 0; set => RIB3 = (byte)(RIB3 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonWishing { get => (RIB3 & (1 << 1)) == 1 << 1; set => RIB3 = (byte)(RIB3 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonClassic { get => (RIB3 & (1 << 2)) == 1 << 2; set => RIB3 = (byte)(RIB3 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonPremier { get => (RIB3 & (1 << 3)) == 1 << 3; set => RIB3 = (byte)(RIB3 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RIB3_4 { get => (RIB3 & (1 << 4)) == 1 << 4; set => RIB3 = (byte)(RIB3 & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused + public new bool RIB3_5 { get => (RIB3 & (1 << 5)) == 1 << 5; set => RIB3 = (byte)(RIB3 & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused + public new bool RIB3_6 { get => (RIB3 & (1 << 6)) == 1 << 6; set => RIB3 = (byte)(RIB3 & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused + public new bool RIB3_7 { get => (RIB3 & (1 << 7)) == 1 << 7; set => RIB3 = (byte)(RIB3 & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused #endregion #region Block B @@ -121,15 +89,7 @@ public override uint EXP public override int Move2 { get => BigEndian.ToUInt16(Data, 0x2A); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x2A); } public override int Move3 { get => BigEndian.ToUInt16(Data, 0x2C); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x2C); } public override int Move4 { get => BigEndian.ToUInt16(Data, 0x2E); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x2E); } - public override int Move1_PP { get => Data[0x30]; set => Data[0x30] = (byte)value; } - public override int Move2_PP { get => Data[0x31]; set => Data[0x31] = (byte)value; } - public override int Move3_PP { get => Data[0x32]; set => Data[0x32] = (byte)value; } - public override int Move4_PP { get => Data[0x33]; set => Data[0x33] = (byte)value; } - public override int Move1_PPUps { get => Data[0x34]; set => Data[0x34] = (byte)value; } - public override int Move2_PPUps { get => Data[0x35]; set => Data[0x35] = (byte)value; } - public override int Move3_PPUps { get => Data[0x36]; set => Data[0x36] = (byte)value; } - public override int Move4_PPUps { get => Data[0x37]; set => Data[0x37] = (byte)value; } - public uint IV32 { get => BigEndian.ToUInt32(Data, 0x38); set => BigEndian.GetBytes(value).CopyTo(Data, 0x38); } + public new uint IV32 { get => BigEndian.ToUInt32(Data, 0x38); set => BigEndian.GetBytes(value).CopyTo(Data, 0x38); } public override int IV_HP { get => (int)(IV32 >> 02) & 0x1F; set => IV32 = (uint)((IV32 & ~(0x1F << 02)) | (uint)((value > 31 ? 31 : value) << 02)); } public override int IV_ATK { get => (int)(IV32 >> 07) & 0x1F; set => IV32 = (uint)((IV32 & ~(0x1F << 07)) | (uint)((value > 31 ? 31 : value) << 07)); } public override int IV_DEF { get => (int)(IV32 >> 12) & 0x1F; set => IV32 = (uint)((IV32 & ~(0x1F << 12)) | (uint)((value > 31 ? 31 : value) << 12)); } @@ -143,43 +103,38 @@ public override uint EXP private byte RIB5 { get => Data[0x3D]; set => Data[0x3D] = value; } // Hoenn 1b private byte RIB6 { get => Data[0x3E]; set => Data[0x3E] = value; } // Hoenn 2a private byte RIB7 { get => Data[0x3F]; set => Data[0x3F] = value; } // Hoenn 2b - public bool RibbonG3Cool { get => (RIB4 & (1 << 0)) == 1 << 0; set => RIB4 = (byte)(RIB4 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG3CoolSuper { get => (RIB4 & (1 << 1)) == 1 << 1; set => RIB4 = (byte)(RIB4 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG3CoolHyper { get => (RIB4 & (1 << 2)) == 1 << 2; set => RIB4 = (byte)(RIB4 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG3CoolMaster { get => (RIB4 & (1 << 3)) == 1 << 3; set => RIB4 = (byte)(RIB4 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonG3Beauty { get => (RIB4 & (1 << 4)) == 1 << 4; set => RIB4 = (byte)(RIB4 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonG3BeautySuper { get => (RIB4 & (1 << 5)) == 1 << 5; set => RIB4 = (byte)(RIB4 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonG3BeautyHyper { get => (RIB4 & (1 << 6)) == 1 << 6; set => RIB4 = (byte)(RIB4 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonG3BeautyMaster { get => (RIB4 & (1 << 7)) == 1 << 7; set => RIB4 = (byte)(RIB4 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonG3Cute { get => (RIB5 & (1 << 0)) == 1 << 0; set => RIB5 = (byte)(RIB5 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG3CuteSuper { get => (RIB5 & (1 << 1)) == 1 << 1; set => RIB5 = (byte)(RIB5 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG3CuteHyper { get => (RIB5 & (1 << 2)) == 1 << 2; set => RIB5 = (byte)(RIB5 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG3CuteMaster { get => (RIB5 & (1 << 3)) == 1 << 3; set => RIB5 = (byte)(RIB5 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonG3Smart { get => (RIB5 & (1 << 4)) == 1 << 4; set => RIB5 = (byte)(RIB5 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonG3SmartSuper { get => (RIB5 & (1 << 5)) == 1 << 5; set => RIB5 = (byte)(RIB5 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonG3SmartHyper { get => (RIB5 & (1 << 6)) == 1 << 6; set => RIB5 = (byte)(RIB5 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonG3SmartMaster { get => (RIB5 & (1 << 7)) == 1 << 7; set => RIB5 = (byte)(RIB5 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonG3Tough { get => (RIB6 & (1 << 0)) == 1 << 0; set => RIB6 = (byte)(RIB6 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG3ToughSuper { get => (RIB6 & (1 << 1)) == 1 << 1; set => RIB6 = (byte)(RIB6 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG3ToughHyper { get => (RIB6 & (1 << 2)) == 1 << 2; set => RIB6 = (byte)(RIB6 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG3ToughMaster { get => (RIB6 & (1 << 3)) == 1 << 3; set => RIB6 = (byte)(RIB6 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonChampionG3Hoenn { get => (RIB6 & (1 << 4)) == 1 << 4; set => RIB6 = (byte)(RIB6 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonWinning { get => (RIB6 & (1 << 5)) == 1 << 5; set => RIB6 = (byte)(RIB6 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonVictory { get => (RIB6 & (1 << 6)) == 1 << 6; set => RIB6 = (byte)(RIB6 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonArtist { get => (RIB6 & (1 << 7)) == 1 << 7; set => RIB6 = (byte)(RIB6 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonEffort { get => (RIB7 & (1 << 0)) == 1 << 0; set => RIB7 = (byte)(RIB7 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonChampionBattle { get => (RIB7 & (1 << 1)) == 1 << 1; set => RIB7 = (byte)(RIB7 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonChampionRegional{ get => (RIB7 & (1 << 2)) == 1 << 2; set => RIB7 = (byte)(RIB7 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonChampionNational{ get => (RIB7 & (1 << 3)) == 1 << 3; set => RIB7 = (byte)(RIB7 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonCountry { get => (RIB7 & (1 << 4)) == 1 << 4; set => RIB7 = (byte)(RIB7 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonNational { get => (RIB7 & (1 << 5)) == 1 << 5; set => RIB7 = (byte)(RIB7 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonEarth { get => (RIB7 & (1 << 6)) == 1 << 6; set => RIB7 = (byte)(RIB7 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonWorld { get => (RIB7 & (1 << 7)) == 1 << 7; set => RIB7 = (byte)(RIB7 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - - public override bool FatefulEncounter { get => (Data[0x40] & 0x80) == 0x80; set => Data[0x40] = (byte)(Data[0x40] & ~0x80 | (value ? 0x80 : 0)); } - public override int Gender { get => (Data[0x40] >> 5) & 0x3; set => Data[0x40] = (byte)(Data[0x40] & ~0x60 | ((value & 3) << 5)); } - public override int AltForm { get => Data[0x40] & 0x1F; set => Data[0x40] = (byte)(Data[0x40] & ~0x1F | (value & 0x1F)); } - // 0x43-0x47 Unused + public new bool RibbonG3Cool { get => (RIB4 & (1 << 0)) == 1 << 0; set => RIB4 = (byte)(RIB4 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG3CoolSuper { get => (RIB4 & (1 << 1)) == 1 << 1; set => RIB4 = (byte)(RIB4 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG3CoolHyper { get => (RIB4 & (1 << 2)) == 1 << 2; set => RIB4 = (byte)(RIB4 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG3CoolMaster { get => (RIB4 & (1 << 3)) == 1 << 3; set => RIB4 = (byte)(RIB4 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonG3Beauty { get => (RIB4 & (1 << 4)) == 1 << 4; set => RIB4 = (byte)(RIB4 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonG3BeautySuper { get => (RIB4 & (1 << 5)) == 1 << 5; set => RIB4 = (byte)(RIB4 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonG3BeautyHyper { get => (RIB4 & (1 << 6)) == 1 << 6; set => RIB4 = (byte)(RIB4 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonG3BeautyMaster { get => (RIB4 & (1 << 7)) == 1 << 7; set => RIB4 = (byte)(RIB4 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonG3Cute { get => (RIB5 & (1 << 0)) == 1 << 0; set => RIB5 = (byte)(RIB5 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG3CuteSuper { get => (RIB5 & (1 << 1)) == 1 << 1; set => RIB5 = (byte)(RIB5 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG3CuteHyper { get => (RIB5 & (1 << 2)) == 1 << 2; set => RIB5 = (byte)(RIB5 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG3CuteMaster { get => (RIB5 & (1 << 3)) == 1 << 3; set => RIB5 = (byte)(RIB5 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonG3Smart { get => (RIB5 & (1 << 4)) == 1 << 4; set => RIB5 = (byte)(RIB5 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonG3SmartSuper { get => (RIB5 & (1 << 5)) == 1 << 5; set => RIB5 = (byte)(RIB5 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonG3SmartHyper { get => (RIB5 & (1 << 6)) == 1 << 6; set => RIB5 = (byte)(RIB5 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonG3SmartMaster { get => (RIB5 & (1 << 7)) == 1 << 7; set => RIB5 = (byte)(RIB5 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonG3Tough { get => (RIB6 & (1 << 0)) == 1 << 0; set => RIB6 = (byte)(RIB6 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG3ToughSuper { get => (RIB6 & (1 << 1)) == 1 << 1; set => RIB6 = (byte)(RIB6 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG3ToughHyper { get => (RIB6 & (1 << 2)) == 1 << 2; set => RIB6 = (byte)(RIB6 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG3ToughMaster { get => (RIB6 & (1 << 3)) == 1 << 3; set => RIB6 = (byte)(RIB6 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonChampionG3Hoenn { get => (RIB6 & (1 << 4)) == 1 << 4; set => RIB6 = (byte)(RIB6 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonWinning { get => (RIB6 & (1 << 5)) == 1 << 5; set => RIB6 = (byte)(RIB6 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonVictory { get => (RIB6 & (1 << 6)) == 1 << 6; set => RIB6 = (byte)(RIB6 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonArtist { get => (RIB6 & (1 << 7)) == 1 << 7; set => RIB6 = (byte)(RIB6 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonEffort { get => (RIB7 & (1 << 0)) == 1 << 0; set => RIB7 = (byte)(RIB7 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonChampionBattle { get => (RIB7 & (1 << 1)) == 1 << 1; set => RIB7 = (byte)(RIB7 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonChampionRegional{ get => (RIB7 & (1 << 2)) == 1 << 2; set => RIB7 = (byte)(RIB7 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonChampionNational{ get => (RIB7 & (1 << 3)) == 1 << 3; set => RIB7 = (byte)(RIB7 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonCountry { get => (RIB7 & (1 << 4)) == 1 << 4; set => RIB7 = (byte)(RIB7 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonNational { get => (RIB7 & (1 << 5)) == 1 << 5; set => RIB7 = (byte)(RIB7 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonEarth { get => (RIB7 & (1 << 6)) == 1 << 6; set => RIB7 = (byte)(RIB7 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonWorld { get => (RIB7 & (1 << 7)) == 1 << 7; set => RIB7 = (byte)(RIB7 & ~(1 << 7) | (value ? 1 << 7 : 0)); } #endregion #region Block C @@ -190,49 +145,42 @@ public override uint EXP private byte RIB9 { get => Data[0x61]; set => Data[0x61] = value; } // Sinnoh 4 private byte RIBA { get => Data[0x62]; set => Data[0x62] = value; } // Sinnoh 5 private byte RIBB { get => Data[0x63]; set => Data[0x63] = value; } // Sinnoh 6 - public bool RibbonG4Cool { get => (RIB8 & (1 << 0)) == 1 << 0; set => RIB8 = (byte)(RIB8 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG4CoolGreat { get => (RIB8 & (1 << 1)) == 1 << 1; set => RIB8 = (byte)(RIB8 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG4CoolUltra { get => (RIB8 & (1 << 2)) == 1 << 2; set => RIB8 = (byte)(RIB8 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG4CoolMaster { get => (RIB8 & (1 << 3)) == 1 << 3; set => RIB8 = (byte)(RIB8 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonG4Beauty { get => (RIB8 & (1 << 4)) == 1 << 4; set => RIB8 = (byte)(RIB8 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonG4BeautyGreat { get => (RIB8 & (1 << 5)) == 1 << 5; set => RIB8 = (byte)(RIB8 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonG4BeautyUltra { get => (RIB8 & (1 << 6)) == 1 << 6; set => RIB8 = (byte)(RIB8 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonG4BeautyMaster { get => (RIB8 & (1 << 7)) == 1 << 7; set => RIB8 = (byte)(RIB8 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonG4Cute { get => (RIB9 & (1 << 0)) == 1 << 0; set => RIB9 = (byte)(RIB9 & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG4CuteGreat { get => (RIB9 & (1 << 1)) == 1 << 1; set => RIB9 = (byte)(RIB9 & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG4CuteUltra { get => (RIB9 & (1 << 2)) == 1 << 2; set => RIB9 = (byte)(RIB9 & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG4CuteMaster { get => (RIB9 & (1 << 3)) == 1 << 3; set => RIB9 = (byte)(RIB9 & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RibbonG4Smart { get => (RIB9 & (1 << 4)) == 1 << 4; set => RIB9 = (byte)(RIB9 & ~(1 << 4) | (value ? 1 << 4 : 0)); } - public bool RibbonG4SmartGreat { get => (RIB9 & (1 << 5)) == 1 << 5; set => RIB9 = (byte)(RIB9 & ~(1 << 5) | (value ? 1 << 5 : 0)); } - public bool RibbonG4SmartUltra { get => (RIB9 & (1 << 6)) == 1 << 6; set => RIB9 = (byte)(RIB9 & ~(1 << 6) | (value ? 1 << 6 : 0)); } - public bool RibbonG4SmartMaster { get => (RIB9 & (1 << 7)) == 1 << 7; set => RIB9 = (byte)(RIB9 & ~(1 << 7) | (value ? 1 << 7 : 0)); } - public bool RibbonG4Tough { get => (RIBA & (1 << 0)) == 1 << 0; set => RIBA = (byte)(RIBA & ~(1 << 0) | (value ? 1 << 0 : 0)); } - public bool RibbonG4ToughGreat { get => (RIBA & (1 << 1)) == 1 << 1; set => RIBA = (byte)(RIBA & ~(1 << 1) | (value ? 1 << 1 : 0)); } - public bool RibbonG4ToughUltra { get => (RIBA & (1 << 2)) == 1 << 2; set => RIBA = (byte)(RIBA & ~(1 << 2) | (value ? 1 << 2 : 0)); } - public bool RibbonG4ToughMaster { get => (RIBA & (1 << 3)) == 1 << 3; set => RIBA = (byte)(RIBA & ~(1 << 3) | (value ? 1 << 3 : 0)); } - public bool RIBA_4 { get => (RIBA & (1 << 4)) == 1 << 4; set => RIBA = (byte)(RIBA & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused - public bool RIBA_5 { get => (RIBA & (1 << 5)) == 1 << 5; set => RIBA = (byte)(RIBA & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused - public bool RIBA_6 { get => (RIBA & (1 << 6)) == 1 << 6; set => RIBA = (byte)(RIBA & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused - public bool RIBA_7 { get => (RIBA & (1 << 7)) == 1 << 7; set => RIBA = (byte)(RIBA & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused - public bool RIBB_0 { get => (RIBB & (1 << 0)) == 1 << 0; set => RIBB = (byte)(RIBB & ~(1 << 0) | (value ? 1 << 0 : 0)); } // Unused - public bool RIBB_1 { get => (RIBB & (1 << 1)) == 1 << 1; set => RIBB = (byte)(RIBB & ~(1 << 1) | (value ? 1 << 1 : 0)); } // Unused - public bool RIBB_2 { get => (RIBB & (1 << 2)) == 1 << 2; set => RIBB = (byte)(RIBB & ~(1 << 2) | (value ? 1 << 2 : 0)); } // Unused - public bool RIBB_3 { get => (RIBB & (1 << 3)) == 1 << 3; set => RIBB = (byte)(RIBB & ~(1 << 3) | (value ? 1 << 3 : 0)); } // Unused - public bool RIBB_4 { get => (RIBB & (1 << 4)) == 1 << 4; set => RIBB = (byte)(RIBB & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused - public bool RIBB_5 { get => (RIBB & (1 << 5)) == 1 << 5; set => RIBB = (byte)(RIBB & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused - public bool RIBB_6 { get => (RIBB & (1 << 6)) == 1 << 6; set => RIBB = (byte)(RIBB & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused - public bool RIBB_7 { get => (RIBB & (1 << 7)) == 1 << 7; set => RIBB = (byte)(RIBB & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused - // 0x64-0x67 Unused + public new bool RibbonG4Cool { get => (RIB8 & (1 << 0)) == 1 << 0; set => RIB8 = (byte)(RIB8 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG4CoolGreat { get => (RIB8 & (1 << 1)) == 1 << 1; set => RIB8 = (byte)(RIB8 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG4CoolUltra { get => (RIB8 & (1 << 2)) == 1 << 2; set => RIB8 = (byte)(RIB8 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG4CoolMaster { get => (RIB8 & (1 << 3)) == 1 << 3; set => RIB8 = (byte)(RIB8 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonG4Beauty { get => (RIB8 & (1 << 4)) == 1 << 4; set => RIB8 = (byte)(RIB8 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonG4BeautyGreat { get => (RIB8 & (1 << 5)) == 1 << 5; set => RIB8 = (byte)(RIB8 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonG4BeautyUltra { get => (RIB8 & (1 << 6)) == 1 << 6; set => RIB8 = (byte)(RIB8 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonG4BeautyMaster { get => (RIB8 & (1 << 7)) == 1 << 7; set => RIB8 = (byte)(RIB8 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonG4Cute { get => (RIB9 & (1 << 0)) == 1 << 0; set => RIB9 = (byte)(RIB9 & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG4CuteGreat { get => (RIB9 & (1 << 1)) == 1 << 1; set => RIB9 = (byte)(RIB9 & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG4CuteUltra { get => (RIB9 & (1 << 2)) == 1 << 2; set => RIB9 = (byte)(RIB9 & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG4CuteMaster { get => (RIB9 & (1 << 3)) == 1 << 3; set => RIB9 = (byte)(RIB9 & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RibbonG4Smart { get => (RIB9 & (1 << 4)) == 1 << 4; set => RIB9 = (byte)(RIB9 & ~(1 << 4) | (value ? 1 << 4 : 0)); } + public new bool RibbonG4SmartGreat { get => (RIB9 & (1 << 5)) == 1 << 5; set => RIB9 = (byte)(RIB9 & ~(1 << 5) | (value ? 1 << 5 : 0)); } + public new bool RibbonG4SmartUltra { get => (RIB9 & (1 << 6)) == 1 << 6; set => RIB9 = (byte)(RIB9 & ~(1 << 6) | (value ? 1 << 6 : 0)); } + public new bool RibbonG4SmartMaster { get => (RIB9 & (1 << 7)) == 1 << 7; set => RIB9 = (byte)(RIB9 & ~(1 << 7) | (value ? 1 << 7 : 0)); } + public new bool RibbonG4Tough { get => (RIBA & (1 << 0)) == 1 << 0; set => RIBA = (byte)(RIBA & ~(1 << 0) | (value ? 1 << 0 : 0)); } + public new bool RibbonG4ToughGreat { get => (RIBA & (1 << 1)) == 1 << 1; set => RIBA = (byte)(RIBA & ~(1 << 1) | (value ? 1 << 1 : 0)); } + public new bool RibbonG4ToughUltra { get => (RIBA & (1 << 2)) == 1 << 2; set => RIBA = (byte)(RIBA & ~(1 << 2) | (value ? 1 << 2 : 0)); } + public new bool RibbonG4ToughMaster { get => (RIBA & (1 << 3)) == 1 << 3; set => RIBA = (byte)(RIBA & ~(1 << 3) | (value ? 1 << 3 : 0)); } + public new bool RIBA_4 { get => (RIBA & (1 << 4)) == 1 << 4; set => RIBA = (byte)(RIBA & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused + public new bool RIBA_5 { get => (RIBA & (1 << 5)) == 1 << 5; set => RIBA = (byte)(RIBA & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused + public new bool RIBA_6 { get => (RIBA & (1 << 6)) == 1 << 6; set => RIBA = (byte)(RIBA & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused + public new bool RIBA_7 { get => (RIBA & (1 << 7)) == 1 << 7; set => RIBA = (byte)(RIBA & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused + public new bool RIBB_0 { get => (RIBB & (1 << 0)) == 1 << 0; set => RIBB = (byte)(RIBB & ~(1 << 0) | (value ? 1 << 0 : 0)); } // Unused + public new bool RIBB_1 { get => (RIBB & (1 << 1)) == 1 << 1; set => RIBB = (byte)(RIBB & ~(1 << 1) | (value ? 1 << 1 : 0)); } // Unused + public new bool RIBB_2 { get => (RIBB & (1 << 2)) == 1 << 2; set => RIBB = (byte)(RIBB & ~(1 << 2) | (value ? 1 << 2 : 0)); } // Unused + public new bool RIBB_3 { get => (RIBB & (1 << 3)) == 1 << 3; set => RIBB = (byte)(RIBB & ~(1 << 3) | (value ? 1 << 3 : 0)); } // Unused + public new bool RIBB_4 { get => (RIBB & (1 << 4)) == 1 << 4; set => RIBB = (byte)(RIBB & ~(1 << 4) | (value ? 1 << 4 : 0)); } // Unused + public new bool RIBB_5 { get => (RIBB & (1 << 5)) == 1 << 5; set => RIBB = (byte)(RIBB & ~(1 << 5) | (value ? 1 << 5 : 0)); } // Unused + public new bool RIBB_6 { get => (RIBB & (1 << 6)) == 1 << 6; set => RIBB = (byte)(RIBB & ~(1 << 6) | (value ? 1 << 6 : 0)); } // Unused + public new bool RIBB_7 { get => (RIBB & (1 << 7)) == 1 << 7; set => RIBB = (byte)(RIBB & ~(1 << 7) | (value ? 1 << 7 : 0)); } // Unused #endregion #region Block D public override string OT_Name { get => getString(0x68, 16); set => setString(value, 7).CopyTo(Data, 0x68); } - public override int Egg_Year { get => Data[0x78]; set => Data[0x78] = (byte)value; } - public override int Egg_Month { get => Data[0x79]; set => Data[0x79] = (byte)value; } - public override int Egg_Day { get => Data[0x7A]; set => Data[0x7A] = (byte)value; } - public override int Met_Year { get => Data[0x7B]; set => Data[0x7B] = (byte)value; } - public override int Met_Month { get => Data[0x7C]; set => Data[0x7C] = (byte)value; } - public override int Met_Day { get => Data[0x7D]; set => Data[0x7D] = (byte)value; } public override int Egg_Location { @@ -294,35 +242,6 @@ public override int Met_Location } } } - private byte PKRS { get => Data[0x82]; set => Data[0x82] = value; } - public override int PKRS_Days { get => PKRS & 0xF; set => PKRS = (byte)(PKRS & ~0xF | value); } - public override int PKRS_Strain { get => PKRS >> 4; set => PKRS = (byte)(PKRS & 0xF | (value << 4)); } - public override int Ball - { - get => Math.Max(Data[0x86], Data[0x83]); - // Pokemon obtained in HGSS have the HGSS ball set (@0x86) - // However, this info is not set when receiving a wondercard! - // The PGT contains a preformatted PK4 file, which is slightly modified. - // No HGSS balls were used, and no HGSS ball info is set. - - // Sneaky way = return the higher of the two values. - - set - { - // Ball to display in DPPt - Data[0x83] = (byte)(value <= 0x10 ? value : 4); // Cap at Cherish Ball - - // HGSS Exclusive Balls -- If the user wants to screw things up, let them. Any legality checking could catch hax. - if (value > 0x10 || (HGSS && !FatefulEncounter)) - Data[0x86] = (byte)(value <= 0x18 ? value : 4); // Cap at Comp Ball - else - Data[0x86] = 0; // Unused - } - } - public override int Met_Level { get => Data[0x84] >> 1; set => Data[0x84] = (byte)((Data[0x84] & 0x1) | value << 1); } - public override int OT_Gender { get => Data[0x84] & 1; set => Data[0x84] = (byte)((Data[0x84] & ~0x1) | value & 1); } - public override int EncounterType { get => Data[0x85]; set => Data[0x85] = (byte)value; } - // Unused 0x87 #endregion public override int Stat_Level { get => Data[0x8C]; set => Data[0x8C] = (byte)value; } @@ -333,27 +252,6 @@ public override int Ball public override int Stat_SPE { get => BigEndian.ToUInt16(Data, 0x96); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x96); } public override int Stat_SPA { get => BigEndian.ToUInt16(Data, 0x98); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x98); } public override int Stat_SPD { get => BigEndian.ToUInt16(Data, 0x9A); set => BigEndian.GetBytes((ushort)value).CopyTo(Data, 0x9A); } - - public override int PSV => (int)((PID >> 16 ^ PID & 0xFFFF) >> 3); - public override int TSV => (TID ^ SID) >> 3; - public override int Characteristic - { - get - { - // Characteristic with PID%6 - int pm6 = (int)(PID % 6); // PID MOD 6 - int maxIV = IVs.Max(); - int pm6stat = 0; - - for (int i = 0; i < 6; i++) - { - pm6stat = (pm6 + i) % 6; - if (IVs[pm6stat] == maxIV) - break; // P%6 is this stat - } - return pm6stat * 5 + maxIV % 5; - } - } // Methods protected override ushort CalculateChecksum() diff --git a/PKHeX.Core/PKM/CK3.cs b/PKHeX.Core/PKM/CK3.cs index b2f347c69..6c1dabe49 100644 --- a/PKHeX.Core/PKM/CK3.cs +++ b/PKHeX.Core/PKM/CK3.cs @@ -195,5 +195,17 @@ public override byte[] Encrypt() { return (byte[])Data.Clone(); } + + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_3; + public override int MaxSpeciesID => Legal.MaxSpeciesID_3; + public override int MaxAbilityID => Legal.MaxAbilityID_3; + public override int MaxItemID => Legal.MaxItemID_3; + public override int MaxBallID => Legal.MaxBallID_3; + public override int MaxGameID => 5; + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 7; + public override int NickLength => 10; } } diff --git a/PKHeX.Core/PKM/PK1.cs b/PKHeX.Core/PKM/PK1.cs index 98b93058a..12309aae1 100644 --- a/PKHeX.Core/PKM/PK1.cs +++ b/PKHeX.Core/PKM/PK1.cs @@ -263,6 +263,18 @@ public override bool getGenderIsValid() #endregion public bool CatchRateIsItem = false; + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_1; + public override int MaxSpeciesID => Legal.MaxSpeciesID_1; + public override int MaxAbilityID => Legal.MaxAbilityID_1; + public override int MaxItemID => Legal.MaxItemID_1; + public override int MaxBallID => -1; + public override int MaxGameID => -1; + public override int MaxIV => 15; + public override int MaxEV => ushort.MaxValue; + public override int OTLength => Japanese ? 5 : 7; + public override int NickLength => Japanese ? 5 : 10; + public PK2 convertToPK2() { PK2 pk2 = new PK2(null, Identifier, Japanese) {Species = Species}; diff --git a/PKHeX.Core/PKM/PK2.cs b/PKHeX.Core/PKM/PK2.cs index 9778003c8..fcae31d35 100644 --- a/PKHeX.Core/PKM/PK2.cs +++ b/PKHeX.Core/PKM/PK2.cs @@ -333,6 +333,18 @@ public override int HPType public override int CNT_Sheen { get => 0; set { } } #endregion + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_2; + public override int MaxSpeciesID => Legal.MaxSpeciesID_2; + public override int MaxAbilityID => Legal.MaxAbilityID_2; + public override int MaxItemID => Legal.MaxItemID_2; + public override int MaxBallID => -1; + public override int MaxGameID => -1; + public override int MaxIV => 15; + public override int MaxEV => ushort.MaxValue; + public override int OTLength => Japanese ? 5 : 7; + public override int NickLength => Japanese ? 5 : 10; + public PK1 convertToPK1() { PK1 pk1 = new PK1(null, Identifier, Japanese); diff --git a/PKHeX.Core/PKM/PK3.cs b/PKHeX.Core/PKM/PK3.cs index 8b26ca3cd..89923193f 100644 --- a/PKHeX.Core/PKM/PK3.cs +++ b/PKHeX.Core/PKM/PK3.cs @@ -162,6 +162,18 @@ public PK3(byte[] decryptedData = null, string ident = null) public override bool WasIngameTrade => Met_Location == 254; // Trade public override bool WasGiftEgg => IsEgg && Met_Location == 253; // Gift Egg, indistinguible from normal eggs after hatch public override bool WasEventEgg => IsEgg && Met_Location == 255; // Event Egg, indistinguible from normal eggs after hatch + + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_3; + public override int MaxSpeciesID => Legal.MaxSpeciesID_3; + public override int MaxAbilityID => Legal.MaxAbilityID_3; + public override int MaxItemID => Legal.MaxItemID_3; + public override int MaxBallID => Legal.MaxBallID_3; + public override int MaxGameID => 5; + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 7; + public override int NickLength => 10; public override byte[] Encrypt() { diff --git a/PKHeX.Core/PKM/PK4.cs b/PKHeX.Core/PKM/PK4.cs index a46b0203f..d3d0af30b 100644 --- a/PKHeX.Core/PKM/PK4.cs +++ b/PKHeX.Core/PKM/PK4.cs @@ -347,6 +347,19 @@ public override int Characteristic public override bool WasEvent => Met_Location >= 3000 && Met_Location <= 3076 || FatefulEncounter; public override bool WasIngameTrade => Met_Location == 2001; // Trade public override bool WasEventEgg => WasEgg && Species == 490; // Manaphy was the only generation 4 released event egg + + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_4; + public override int MaxSpeciesID => Legal.MaxSpeciesID_4; + public override int MaxAbilityID => Legal.MaxAbilityID_4; + public override int MaxItemID => Legal.MaxItemID_4_HGSS; + public override int MaxBallID => Legal.MaxBallID_4; + public override int MaxGameID => 15; // Colo/XD + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 7; + public override int NickLength => 10; + // Methods public override byte[] Encrypt() { diff --git a/PKHeX.Core/PKM/PK5.cs b/PKHeX.Core/PKM/PK5.cs index 98b31ced2..7d08d11d9 100644 --- a/PKHeX.Core/PKM/PK5.cs +++ b/PKHeX.Core/PKM/PK5.cs @@ -268,6 +268,18 @@ public override int Characteristic // Legality Extensions public override bool WasEgg => GenNumber < 5 ? base.WasEgg : Legal.EggLocations5.Contains(Egg_Location); + + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_5; + public override int MaxSpeciesID => Legal.MaxSpeciesID_5; + public override int MaxAbilityID => Legal.MaxAbilityID_5; + public override int MaxItemID => Legal.MaxItemID_5_B2W2; + public override int MaxBallID => Legal.MaxBallID_5; + public override int MaxGameID => Legal.MaxGameID_5; // B2 + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 7; + public override int NickLength => 10; // Methods public override byte[] Encrypt() diff --git a/PKHeX.Core/PKM/PK6.cs b/PKHeX.Core/PKM/PK6.cs index bfcd95b53..19beff8c8 100644 --- a/PKHeX.Core/PKM/PK6.cs +++ b/PKHeX.Core/PKM/PK6.cs @@ -565,6 +565,18 @@ public void TradeMemory(bool Bank) public override bool WasTradedEgg => Egg_Location == 30002 || GenNumber == 4 && Egg_Location == 2002; public override bool WasIngameTrade => Met_Location == 30001 || GenNumber == 4 && Egg_Location == 2001; + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_6_AO; + public override int MaxSpeciesID => Legal.MaxSpeciesID_6; + public override int MaxAbilityID => Legal.MaxAbilityID_6_AO; + public override int MaxItemID => Legal.MaxItemID_6_AO; + public override int MaxBallID => Legal.MaxBallID_6; + public override int MaxGameID => Legal.MaxGameID_6; // OR + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 12; + public override int NickLength => 12; + public PK7 convertToPK7() { PK7 pk7 = new PK7(Data) diff --git a/PKHeX.Core/PKM/PK7.cs b/PKHeX.Core/PKM/PK7.cs index 9cfa05dcb..e2e91cbd8 100644 --- a/PKHeX.Core/PKM/PK7.cs +++ b/PKHeX.Core/PKM/PK7.cs @@ -599,5 +599,17 @@ public void TradeMemory(bool Bank) public override bool WasEventEgg => GenNumber < 5 ? base.WasEventEgg : ((Egg_Location > 40000 && Egg_Location < 50000) || (FatefulEncounter && Egg_Location == 30002)) && Met_Level == 1; public override bool WasTradedEgg => Egg_Location == 30002 || GenNumber == 4 && Egg_Location == 2002; public override bool WasIngameTrade => Met_Location == 30001 || GenNumber == 4 && Egg_Location == 2001; + + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_7; + public override int MaxSpeciesID => Legal.MaxSpeciesID_7; + public override int MaxAbilityID => Legal.MaxAbilityID_7; + public override int MaxItemID => Legal.MaxItemID_7; + public override int MaxBallID => Legal.MaxBallID_7; + public override int MaxGameID => Legal.MaxGameID_7; + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 12; + public override int NickLength => 12; } } diff --git a/PKHeX.Core/PKM/PKM.cs b/PKHeX.Core/PKM/PKM.cs index 5e7a3bc6a..81a683eea 100644 --- a/PKHeX.Core/PKM/PKM.cs +++ b/PKHeX.Core/PKM/PKM.cs @@ -267,6 +267,18 @@ public byte[] Write() // Exposed but not Present in all public abstract int CurrentHandler { get; set; } + // Maximums + public abstract int MaxMoveID { get; } + public abstract int MaxSpeciesID { get; } + public abstract int MaxItemID { get; } + public abstract int MaxAbilityID { get; } + public abstract int MaxBallID { get; } + public abstract int MaxGameID { get; } + public abstract int MaxIV { get; } + public abstract int MaxEV { get; } + public abstract int OTLength { get; } + public abstract int NickLength { get; } + // Derived public int SpecForm { get => Species + (AltForm << 11); set { Species = value & 0x7FF; AltForm = value >> 11; } } public virtual int SpriteItem => HeldItem; @@ -789,6 +801,27 @@ public void setPIDUnown3(int form) { do PID = Util.rnd32(); while (PKX.getUnownForm(PID) != form); } + + /// + /// Randomizes the IVs within game constraints. + /// + /// Randomized IVs if desired. + public int[] randomizeIVs() + { + int[] ivs = new int[6]; + for (int i = 0; i < 6; i++) + ivs[i] = (int)(Util.rnd32() & MaxIV); + + bool IV3 = GenNumber >= 6 && (Legal.Legends.Contains(Species) || Legal.SubLegends.Contains(Species)); + if (IV3) + { + for (int i = 0; i < 3; i++) + ivs[i] = MaxIV; + Util.Shuffle(ivs); // Randomize IV order + } + IVs = ivs; + return ivs; + } /// /// Converts a or to . diff --git a/PKHeX.Core/PKM/XK3.cs b/PKHeX.Core/PKM/XK3.cs index ceec3ea54..17ea94a73 100644 --- a/PKHeX.Core/PKM/XK3.cs +++ b/PKHeX.Core/PKM/XK3.cs @@ -201,5 +201,16 @@ public override byte[] Encrypt() { return (byte[])Data.Clone(); } + // Maximums + public override int MaxMoveID => Legal.MaxMoveID_3; + public override int MaxSpeciesID => Legal.MaxSpeciesID_3; + public override int MaxAbilityID => Legal.MaxAbilityID_3; + public override int MaxItemID => Legal.MaxItemID_3; + public override int MaxBallID => Legal.MaxBallID_3; + public override int MaxGameID => 5; + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int OTLength => 7; + public override int NickLength => 10; } } diff --git a/PKHeX.Core/Saves/SaveFile.cs b/PKHeX.Core/Saves/SaveFile.cs index d3720e2a3..8ce5c6cd4 100644 --- a/PKHeX.Core/Saves/SaveFile.cs +++ b/PKHeX.Core/Saves/SaveFile.cs @@ -194,7 +194,7 @@ public PKM[] PartyData if (value.Any(pk => PKMType != pk.GetType())) throw new ArgumentException($"Not {PKMType} array."); if (value[0].Species == 0) - throw new ArgumentException("Can't have an empty first slot." + value.Length); + Console.WriteLine($"Empty first slot, received {value.Length}."); PKM[] newParty = value.Where(pk => pk.Species != 0).ToArray(); @@ -235,7 +235,7 @@ public bool[] EventFlags bool[] Flags = new bool[EventFlagMax]; for (int i = 0; i < Flags.Length; i++) - Flags[i] = (Data[EventFlag + i / 8] >> i % 8 & 0x1) == 1; + Flags[i] = (Data[EventFlag + i >> 3] >> (i & 7) & 0x1) == 1; return Flags; } set @@ -245,7 +245,7 @@ public bool[] EventFlags if (value.Length != EventFlagMax) return; - byte[] data = new byte[value.Length / 8]; + byte[] data = new byte[value.Length>>3]; for (int i = 0; i < value.Length; i++) if (value[i]) data[i >> 3] |= (byte)(1 << (i & 7)); @@ -329,6 +329,7 @@ public virtual MysteryGiftAlbum GiftAlbum public virtual int SecondsToFame { get; set; } public virtual uint Money { get; set; } public abstract int BoxCount { get; } + public int SlotCount => BoxCount * BoxSlotCount; public virtual int PartyCount { get; protected set; } public virtual int MultiplayerSpriteID { get => 0; set { } } diff --git a/PKHeX.Core/Util/ReflectUtil.cs b/PKHeX.Core/Util/ReflectUtil.cs index 68be8653b..465128ee8 100644 --- a/PKHeX.Core/Util/ReflectUtil.cs +++ b/PKHeX.Core/Util/ReflectUtil.cs @@ -11,6 +11,8 @@ public static class ReflectUtil public static bool GetValueEquals(object obj, string propertyName, object value) { PropertyInfo pi = obj.GetType().GetTypeInfo().GetDeclaredProperty(propertyName); + if (pi == null) + return false; var v = pi.GetValue(obj, null); var c = ConvertValue(value, pi.PropertyType); return v.Equals(c); @@ -50,9 +52,9 @@ public static bool HasProperty(this Type type, string name) { return type.GetTypeInfo().GetDeclaredProperty(name) != null; } - public static bool HasPropertyAll(this Type type, string name) + public static bool HasPropertyAll(this Type type, Type Base, string name) { - return type.GetTypeInfo().GetDeclaredProperty(name) != null; + return HasProperty(type, name) || HasProperty(Base, name); } private static object ConvertValue(object value, Type type) diff --git a/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.Designer.cs new file mode 100644 index 000000000..3d626801c --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.Designer.cs @@ -0,0 +1,86 @@ +namespace PKHeX.WinForms.Controls +{ + partial class ContextMenuPKM + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.mnuL = new System.Windows.Forms.ContextMenuStrip(this.components); + this.mnuLLegality = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuLQR = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuLSave = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuL.SuspendLayout(); + this.SuspendLayout(); + // + // mnuL + // + this.mnuL.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuLLegality, + this.mnuLQR, + this.mnuLSave}); + this.mnuL.Name = "mnuL"; + this.mnuL.Size = new System.Drawing.Size(153, 92); + // + // mnuLLegality + // + this.mnuLLegality.Name = "mnuLLegality"; + this.mnuLLegality.Size = new System.Drawing.Size(152, 22); + this.mnuLLegality.Text = "Legality"; + this.mnuLLegality.Click += new System.EventHandler(this.ClickShowLegality); + // + // mnuLQR + // + this.mnuLQR.Name = "mnuLQR"; + this.mnuLQR.Size = new System.Drawing.Size(152, 22); + this.mnuLQR.Text = "QR!"; + this.mnuLQR.Click += new System.EventHandler(this.ClickShowQR); + // + // mnuLSave + // + this.mnuLSave.Name = "mnuLSave"; + this.mnuLSave.Size = new System.Drawing.Size(152, 22); + this.mnuLSave.Text = "Save as..."; + this.mnuLSave.Click += new System.EventHandler(this.ClickSaveAs); + // + // ContextMenuPKM + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Name = "ContextMenuPKM"; + this.mnuL.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + public System.Windows.Forms.ContextMenuStrip mnuL; + private System.Windows.Forms.ToolStripMenuItem mnuLLegality; + private System.Windows.Forms.ToolStripMenuItem mnuLQR; + private System.Windows.Forms.ToolStripMenuItem mnuLSave; + } +} diff --git a/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.cs b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.cs new file mode 100644 index 000000000..c882e33d8 --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.cs @@ -0,0 +1,20 @@ +using System; +using System.Windows.Forms; + +namespace PKHeX.WinForms.Controls +{ + public partial class ContextMenuPKM : UserControl + { + public ContextMenuPKM() + { + InitializeComponent(); + } + + public event EventHandler RequestEditorLegality; + public event EventHandler RequestEditorQR; + public event EventHandler RequestEditorSaveAs; + private void ClickShowLegality(object sender, EventArgs e) => RequestEditorLegality?.Invoke(sender, e); + private void ClickShowQR(object sender, EventArgs e) => RequestEditorQR?.Invoke(sender, e); + private void ClickSaveAs(object sender, EventArgs e) => RequestEditorSaveAs?.Invoke(sender, e); + } +} diff --git a/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.resx b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.resx new file mode 100644 index 000000000..fe1b83305 --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/ContextMenuPKM.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/PKHeX.WinForms/MainWindow/MainCK3.cs b/PKHeX.WinForms/Controls/PKM Editor/EditCK3.cs similarity index 99% rename from PKHeX.WinForms/MainWindow/MainCK3.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditCK3.cs index 89efdb173..39ddfd4a8 100644 --- a/PKHeX.WinForms/MainWindow/MainCK3.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditCK3.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsCK3() { diff --git a/PKHeX.WinForms/MainWindow/MainPK1.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK1.cs similarity index 98% rename from PKHeX.WinForms/MainWindow/MainPK1.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK1.cs index e8c66b489..60cdfccfe 100644 --- a/PKHeX.WinForms/MainWindow/MainPK1.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK1.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK1() { diff --git a/PKHeX.WinForms/MainWindow/MainPK2.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK2.cs similarity index 98% rename from PKHeX.WinForms/MainWindow/MainPK2.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK2.cs index 87e5416b5..315ba487f 100644 --- a/PKHeX.WinForms/MainWindow/MainPK2.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK2.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK2() { diff --git a/PKHeX.WinForms/MainWindow/MainPK3.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs similarity index 99% rename from PKHeX.WinForms/MainWindow/MainPK3.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs index 29de177c3..a9d552d1f 100644 --- a/PKHeX.WinForms/MainWindow/MainPK3.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK3() { diff --git a/PKHeX.WinForms/Controls/PKM Editor/EditPK4.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK4.cs new file mode 100644 index 000000000..9c6b93460 --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK4.cs @@ -0,0 +1,244 @@ +using System; +using PKHeX.Core; + +namespace PKHeX.WinForms.Controls +{ + public partial class PKMEditor + { + // Main Series + private void populateFieldsPK4() + { + var pk4 = pkm; + if (pk4?.Format != 4) + return; + + // Do first + pk4.Stat_Level = PKX.getLevel(pk4.Species, pk4.EXP); + if (pk4.Stat_Level == 100 && !HaX) + pk4.EXP = PKX.getEXP(pk4.Stat_Level, pk4.Species); + + CB_Species.SelectedValue = pk4.Species; + TB_Level.Text = pk4.Stat_Level.ToString(); + TB_EXP.Text = pk4.EXP.ToString(); + + // Load rest + CHK_Fateful.Checked = pk4.FatefulEncounter; + CHK_IsEgg.Checked = pk4.IsEgg; + CHK_Nicknamed.Checked = pk4.IsNicknamed; + Label_OTGender.Text = gendersymbols[pk4.OT_Gender]; + Label_OTGender.ForeColor = getGenderColor(pk4.OT_Gender); + TB_PID.Text = pk4.PID.ToString("X8"); + CB_HeldItem.SelectedValue = pk4.HeldItem; + CB_Nature.SelectedValue = pk4.Nature; + TB_TID.Text = pk4.TID.ToString("00000"); + TB_SID.Text = pk4.SID.ToString("00000"); + TB_Nickname.Text = pk4.Nickname; + TB_OT.Text = pk4.OT_Name; + TB_Friendship.Text = pk4.CurrentFriendship.ToString(); + GB_OT.BackgroundImage = null; + CB_Language.SelectedValue = pk4.Language; + CB_GameOrigin.SelectedValue = pk4.Version; + CB_EncounterType.SelectedValue = pk4.Gen4 ? pk4.EncounterType : 0; + CB_Ball.SelectedValue = pk4.Ball; + + CAL_MetDate.Value = pk4.MetDate ?? new DateTime(2000, 1, 1); + + if (pk4.Egg_Location != 0) + { + // Was obtained initially as an egg. + CHK_AsEgg.Checked = true; + GB_EggConditions.Enabled = true; + + CB_EggLocation.SelectedValue = pk4.Egg_Location; + CAL_EggDate.Value = pk4.EggMetDate ?? 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; } + + CB_MetLocation.SelectedValue = pk4.Met_Location; + + TB_MetLevel.Text = pk4.Met_Level.ToString(); + + // Reset Label and ComboBox visibility, as well as non-data checked status. + Label_PKRS.Visible = CB_PKRSStrain.Visible = CHK_Infected.Checked = pk4.PKRS_Strain != 0; + Label_PKRSdays.Visible = CB_PKRSDays.Visible = pk4.PKRS_Days != 0; + + // Set SelectedIndexes for PKRS + CB_PKRSStrain.SelectedIndex = pk4.PKRS_Strain; + CHK_Cured.Checked = pk4.PKRS_Strain > 0 && pk4.PKRS_Days == 0; + CB_PKRSDays.SelectedIndex = Math.Min(CB_PKRSDays.Items.Count - 1, pk4.PKRS_Days); // to strip out bad hacked 'rus + + TB_Cool.Text = pk4.CNT_Cool.ToString(); + TB_Beauty.Text = pk4.CNT_Beauty.ToString(); + TB_Cute.Text = pk4.CNT_Cute.ToString(); + TB_Smart.Text = pk4.CNT_Smart.ToString(); + TB_Tough.Text = pk4.CNT_Tough.ToString(); + TB_Sheen.Text = pk4.CNT_Sheen.ToString(); + + TB_HPIV.Text = pk4.IV_HP.ToString(); + TB_ATKIV.Text = pk4.IV_ATK.ToString(); + TB_DEFIV.Text = pk4.IV_DEF.ToString(); + TB_SPEIV.Text = pk4.IV_SPE.ToString(); + TB_SPAIV.Text = pk4.IV_SPA.ToString(); + TB_SPDIV.Text = pk4.IV_SPD.ToString(); + CB_HPType.SelectedValue = pk4.HPType; + + TB_HPEV.Text = pk4.EV_HP.ToString(); + TB_ATKEV.Text = pk4.EV_ATK.ToString(); + TB_DEFEV.Text = pk4.EV_DEF.ToString(); + TB_SPEEV.Text = pk4.EV_SPE.ToString(); + TB_SPAEV.Text = pk4.EV_SPA.ToString(); + TB_SPDEV.Text = pk4.EV_SPD.ToString(); + + CB_Move1.SelectedValue = pk4.Move1; + CB_Move2.SelectedValue = pk4.Move2; + CB_Move3.SelectedValue = pk4.Move3; + CB_Move4.SelectedValue = pk4.Move4; + CB_PPu1.SelectedIndex = pk4.Move1_PPUps; + CB_PPu2.SelectedIndex = pk4.Move2_PPUps; + CB_PPu3.SelectedIndex = pk4.Move3_PPUps; + CB_PPu4.SelectedIndex = pk4.Move4_PPUps; + TB_PP1.Text = pk4.Move1_PP.ToString(); + TB_PP2.Text = pk4.Move2_PP.ToString(); + TB_PP3.Text = pk4.Move3_PP.ToString(); + TB_PP4.Text = pk4.Move4_PP.ToString(); + + // Set Form if count is enough, else cap. + CB_Form.SelectedIndex = CB_Form.Items.Count > pk4.AltForm ? pk4.AltForm : CB_Form.Items.Count - 1; + + // Load Extrabyte Value + TB_ExtraByte.Text = pk4.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString(); + + updateStats(); + + TB_EXP.Text = pk4.EXP.ToString(); + Label_Gender.Text = gendersymbols[pk4.Gender]; + Label_Gender.ForeColor = getGenderColor(pk4.Gender); + + if (HaX) + DEV_Ability.SelectedValue = pk4.Ability; + else + { + int[] abils = pk4.PersonalInfo.Abilities; + int abil = Array.IndexOf(abils, pk4.Ability); + + if (abil < 0) + CB_Ability.SelectedIndex = 0; + else if (abils[0] == abils[1] || abils[1] == 0) + CB_Ability.SelectedIndex = pk4.PIDAbility; + else + CB_Ability.SelectedIndex = abil >= CB_Ability.Items.Count ? 0 : abil; + } + } + private PKM preparePK4() + { + var pk4 = pkm; + if (pk4?.Format != 4) + return null; + + pk4.Species = WinFormsUtil.getIndex(CB_Species); + pk4.HeldItem = WinFormsUtil.getIndex(CB_HeldItem); + pk4.TID = Util.ToInt32(TB_TID.Text); + pk4.SID = Util.ToInt32(TB_SID.Text); + pk4.EXP = Util.ToUInt32(TB_EXP.Text); + pk4.PID = Util.getHEXval(TB_PID.Text); + + if (CB_Ability.Text.Length >= 4) + { + pk4.Ability = (byte)Array.IndexOf(GameInfo.Strings.abilitylist, CB_Ability.Text.Remove(CB_Ability.Text.Length - 4)); + } + + pk4.FatefulEncounter = CHK_Fateful.Checked; + pk4.Gender = PKX.getGender(Label_Gender.Text); + pk4.AltForm = (MT_Form.Enabled ? Convert.ToInt32(MT_Form.Text) : CB_Form.Enabled ? CB_Form.SelectedIndex : 0) & 0x1F; + pk4.EV_HP = Util.ToInt32(TB_HPEV.Text); + pk4.EV_ATK = Util.ToInt32(TB_ATKEV.Text); + pk4.EV_DEF = Util.ToInt32(TB_DEFEV.Text); + pk4.EV_SPE = Util.ToInt32(TB_SPEEV.Text); + pk4.EV_SPA = Util.ToInt32(TB_SPAEV.Text); + pk4.EV_SPD = Util.ToInt32(TB_SPDEV.Text); + + pk4.CNT_Cool = Util.ToInt32(TB_Cool.Text); + pk4.CNT_Beauty = Util.ToInt32(TB_Beauty.Text); + pk4.CNT_Cute = Util.ToInt32(TB_Cute.Text); + pk4.CNT_Smart = Util.ToInt32(TB_Smart.Text); + pk4.CNT_Tough = Util.ToInt32(TB_Tough.Text); + pk4.CNT_Sheen = Util.ToInt32(TB_Sheen.Text); + + pk4.PKRS_Days = CB_PKRSDays.SelectedIndex; + pk4.PKRS_Strain = CB_PKRSStrain.SelectedIndex; + pk4.Nickname = TB_Nickname.Text; + pk4.Move1 = WinFormsUtil.getIndex(CB_Move1); + pk4.Move2 = WinFormsUtil.getIndex(CB_Move2); + pk4.Move3 = WinFormsUtil.getIndex(CB_Move3); + pk4.Move4 = WinFormsUtil.getIndex(CB_Move4); + pk4.Move1_PP = WinFormsUtil.getIndex(CB_Move1) > 0 ? Util.ToInt32(TB_PP1.Text) : 0; + pk4.Move2_PP = WinFormsUtil.getIndex(CB_Move2) > 0 ? Util.ToInt32(TB_PP2.Text) : 0; + pk4.Move3_PP = WinFormsUtil.getIndex(CB_Move3) > 0 ? Util.ToInt32(TB_PP3.Text) : 0; + pk4.Move4_PP = WinFormsUtil.getIndex(CB_Move4) > 0 ? Util.ToInt32(TB_PP4.Text) : 0; + pk4.Move1_PPUps = WinFormsUtil.getIndex(CB_Move1) > 0 ? CB_PPu1.SelectedIndex : 0; + pk4.Move2_PPUps = WinFormsUtil.getIndex(CB_Move2) > 0 ? CB_PPu2.SelectedIndex : 0; + pk4.Move3_PPUps = WinFormsUtil.getIndex(CB_Move3) > 0 ? CB_PPu3.SelectedIndex : 0; + pk4.Move4_PPUps = WinFormsUtil.getIndex(CB_Move4) > 0 ? CB_PPu4.SelectedIndex : 0; + + pk4.IV_HP = Util.ToInt32(TB_HPIV.Text); + pk4.IV_ATK = Util.ToInt32(TB_ATKIV.Text); + pk4.IV_DEF = Util.ToInt32(TB_DEFIV.Text); + pk4.IV_SPE = Util.ToInt32(TB_SPEIV.Text); + pk4.IV_SPA = Util.ToInt32(TB_SPAIV.Text); + pk4.IV_SPD = Util.ToInt32(TB_SPDIV.Text); + pk4.IsEgg = CHK_IsEgg.Checked; + pk4.IsNicknamed = CHK_Nicknamed.Checked; + + pk4.OT_Name = TB_OT.Text; + pk4.CurrentFriendship = Util.ToInt32(TB_Friendship.Text); + + pk4.Ball = WinFormsUtil.getIndex(CB_Ball); + pk4.Met_Level = Util.ToInt32(TB_MetLevel.Text); + pk4.OT_Gender = PKX.getGender(Label_OTGender.Text); + pk4.EncounterType = WinFormsUtil.getIndex(CB_EncounterType); + pk4.Version = WinFormsUtil.getIndex(CB_GameOrigin); + pk4.Language = WinFormsUtil.getIndex(CB_Language); + + // Default Dates + 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_date = CAL_EggDate.Value; + egg_location = WinFormsUtil.getIndex(CB_EggLocation); + } + // Egg Met Data + pk4.EggMetDate = egg_date; + pk4.Egg_Location = egg_location; + // Met Data + pk4.MetDate = CAL_MetDate.Value; + pk4.Met_Location = WinFormsUtil.getIndex(CB_MetLocation); + + if (pk4.IsEgg && pk4.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it! + pk4.MetDate = null; + + // Toss in Party Stats + Array.Resize(ref pk4.Data, pk4.SIZE_PARTY); + pk4.Stat_Level = Util.ToInt32(TB_Level.Text); + pk4.Stat_HPCurrent = Util.ToInt32(Stat_HP.Text); + pk4.Stat_HPMax = Util.ToInt32(Stat_HP.Text); + pk4.Stat_ATK = Util.ToInt32(Stat_ATK.Text); + pk4.Stat_DEF = Util.ToInt32(Stat_DEF.Text); + pk4.Stat_SPE = Util.ToInt32(Stat_SPE.Text); + pk4.Stat_SPA = Util.ToInt32(Stat_SPA.Text); + pk4.Stat_SPD = Util.ToInt32(Stat_SPD.Text); + + if (HaX) + { + pk4.Ability = (byte)WinFormsUtil.getIndex(DEV_Ability); + pk4.Stat_Level = (byte)Math.Min(Convert.ToInt32(MT_Level.Text), byte.MaxValue); + } + + // Fix Moves if a slot is empty + pk4.FixMoves(); + + pk4.RefreshChecksum(); + return pk4; + } + } +} diff --git a/PKHeX.WinForms/MainWindow/MainPK5.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK5.cs similarity index 98% rename from PKHeX.WinForms/MainWindow/MainPK5.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK5.cs index a4a9713eb..b834ce927 100644 --- a/PKHeX.WinForms/MainWindow/MainPK5.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK5.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK5() { @@ -129,7 +129,7 @@ private void populateFieldsPK5() CB_Ability.SelectedIndex = CB_Ability.Items.Count - 1; else { - int[] abils = SAV.Personal.getAbilities(pk5.Species, pk5.AltForm); + int[] abils = pkm.PersonalInfo.Abilities; int abil = Array.IndexOf(abils, pk5.Ability); if (abil < 0) diff --git a/PKHeX.WinForms/MainWindow/MainPK6.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK6.cs similarity index 99% rename from PKHeX.WinForms/MainWindow/MainPK6.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK6.cs index 6cdb48bc4..2094be064 100644 --- a/PKHeX.WinForms/MainWindow/MainPK6.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK6.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK6() { @@ -322,7 +322,7 @@ private PKM preparePK6() pk6.FixRelearn(); // Fix Handler (Memories & OT) -- no foreign memories for Pokemon without a foreign trainer (none for eggs) - if (Menu_ModifyPKM.Checked) + if (ModifyPKM) pk6.FixMemories(); // PKX is now filled diff --git a/PKHeX.WinForms/MainWindow/MainPK7.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK7.cs similarity index 99% rename from PKHeX.WinForms/MainWindow/MainPK7.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditPK7.cs index df81da3d0..c17327358 100644 --- a/PKHeX.WinForms/MainWindow/MainPK7.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK7.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsPK7() { @@ -322,7 +322,7 @@ private PKM preparePK7() pk7.FixRelearn(); // Fix Handler (Memories & OT) -- no foreign memories for Pokemon without a foreign trainer (none for eggs) - if (Menu_ModifyPKM.Checked) + if (ModifyPKM) pk7.FixMemories(); // PKX is now filled diff --git a/PKHeX.WinForms/MainWindow/MainXK3.cs b/PKHeX.WinForms/Controls/PKM Editor/EditXK3.cs similarity index 99% rename from PKHeX.WinForms/MainWindow/MainXK3.cs rename to PKHeX.WinForms/Controls/PKM Editor/EditXK3.cs index 71b46b324..6ebaf7478 100644 --- a/PKHeX.WinForms/MainWindow/MainXK3.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditXK3.cs @@ -1,9 +1,9 @@ using System; using PKHeX.Core; -namespace PKHeX.WinForms +namespace PKHeX.WinForms.Controls { - public partial class Main + public partial class PKMEditor { private void populateFieldsXK3() { diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs new file mode 100644 index 000000000..e2b521b3b --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs @@ -0,0 +1,3880 @@ +namespace PKHeX.WinForms.Controls +{ + partial class PKMEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PKMEditor)); + this.tabMain = new System.Windows.Forms.TabControl(); + this.Tab_Main = new System.Windows.Forms.TabPage(); + this.FLP_Main = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_PID = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_PIDLeft = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_PID = new System.Windows.Forms.Label(); + this.BTN_Shinytize = new System.Windows.Forms.Button(); + this.Label_IsShiny = new System.Windows.Forms.PictureBox(); + this.FLP_PIDRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_PID = new System.Windows.Forms.TextBox(); + this.Label_Gender = new System.Windows.Forms.Label(); + this.BTN_RerollPID = new System.Windows.Forms.Button(); + this.FLP_Species = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Species = new System.Windows.Forms.Label(); + this.CB_Species = new System.Windows.Forms.ComboBox(); + this.FLP_Nickname = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_NicknameLeft = new System.Windows.Forms.FlowLayoutPanel(); + this.CHK_Nicknamed = new System.Windows.Forms.CheckBox(); + this.TB_Nickname = new System.Windows.Forms.TextBox(); + this.FLP_EXPLevel = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_EXP = new System.Windows.Forms.Label(); + this.FLP_EXPLevelRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_EXP = new System.Windows.Forms.MaskedTextBox(); + this.Label_CurLevel = new System.Windows.Forms.Label(); + this.TB_Level = new System.Windows.Forms.MaskedTextBox(); + this.MT_Level = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Nature = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Nature = new System.Windows.Forms.Label(); + this.CB_Nature = new System.Windows.Forms.ComboBox(); + this.FLP_HeldItem = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_HeldItem = new System.Windows.Forms.Label(); + this.CB_HeldItem = new System.Windows.Forms.ComboBox(); + this.FLP_FriendshipForm = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_FriendshipFormLeft = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Friendship = new System.Windows.Forms.Label(); + this.Label_HatchCounter = new System.Windows.Forms.Label(); + this.FLP_FriendshipFormRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_Friendship = new System.Windows.Forms.MaskedTextBox(); + this.Label_Form = new System.Windows.Forms.Label(); + this.CB_Form = new System.Windows.Forms.ComboBox(); + this.MT_Form = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Ability = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Ability = new System.Windows.Forms.Label(); + this.FLP_AbilityRight = new System.Windows.Forms.FlowLayoutPanel(); + this.CB_Ability = new System.Windows.Forms.ComboBox(); + this.DEV_Ability = new System.Windows.Forms.ComboBox(); + this.TB_AbilityNumber = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Language = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Language = new System.Windows.Forms.Label(); + this.CB_Language = new System.Windows.Forms.ComboBox(); + this.FLP_EggPKRS = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_EggPKRSLeft = new System.Windows.Forms.FlowLayoutPanel(); + this.CHK_IsEgg = new System.Windows.Forms.CheckBox(); + this.FLP_EggPKRSRight = new System.Windows.Forms.FlowLayoutPanel(); + this.CHK_Infected = new System.Windows.Forms.CheckBox(); + this.CHK_Cured = new System.Windows.Forms.CheckBox(); + this.FLP_PKRS = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_PKRS = new System.Windows.Forms.Label(); + this.FLP_PKRSRight = new System.Windows.Forms.FlowLayoutPanel(); + this.CB_PKRSStrain = new System.Windows.Forms.ComboBox(); + this.Label_PKRSdays = new System.Windows.Forms.Label(); + this.CB_PKRSDays = new System.Windows.Forms.ComboBox(); + this.FLP_Country = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Country = new System.Windows.Forms.Label(); + this.CB_Country = new System.Windows.Forms.ComboBox(); + this.FLP_SubRegion = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_SubRegion = new System.Windows.Forms.Label(); + this.CB_SubRegion = new System.Windows.Forms.ComboBox(); + this.FLP_3DSRegion = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_3DSRegion = new System.Windows.Forms.Label(); + this.CB_3DSReg = new System.Windows.Forms.ComboBox(); + this.FLP_NSparkle = new System.Windows.Forms.FlowLayoutPanel(); + this.L_NSparkle = new System.Windows.Forms.Label(); + this.CHK_NSparkle = new System.Windows.Forms.CheckBox(); + this.FLP_ShadowID = new System.Windows.Forms.FlowLayoutPanel(); + this.L_ShadowID = new System.Windows.Forms.Label(); + this.NUD_ShadowID = new System.Windows.Forms.NumericUpDown(); + this.FLP_Purification = new System.Windows.Forms.FlowLayoutPanel(); + this.L_HeartGauge = new System.Windows.Forms.Label(); + this.NUD_Purification = new System.Windows.Forms.NumericUpDown(); + this.CHK_Shadow = new System.Windows.Forms.CheckBox(); + this.Tab_Met = new System.Windows.Forms.TabPage(); + this.CHK_AsEgg = new System.Windows.Forms.CheckBox(); + this.GB_EggConditions = new System.Windows.Forms.GroupBox(); + this.CB_EggLocation = new System.Windows.Forms.ComboBox(); + this.CAL_EggDate = new System.Windows.Forms.DateTimePicker(); + this.Label_EggDate = new System.Windows.Forms.Label(); + this.Label_EggLocation = new System.Windows.Forms.Label(); + this.FLP_Met = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_OriginGame = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_OriginGame = new System.Windows.Forms.Label(); + this.CB_GameOrigin = new System.Windows.Forms.ComboBox(); + this.FLP_MetLocation = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_MetLocation = new System.Windows.Forms.Label(); + this.CB_MetLocation = new System.Windows.Forms.ComboBox(); + this.FLP_Ball = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_BallLeft = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Ball = new System.Windows.Forms.Label(); + this.PB_Ball = new System.Windows.Forms.PictureBox(); + this.CB_Ball = new System.Windows.Forms.ComboBox(); + this.FLP_MetLevel = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_MetLevel = new System.Windows.Forms.Label(); + this.TB_MetLevel = new System.Windows.Forms.MaskedTextBox(); + this.FLP_MetDate = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_MetDate = new System.Windows.Forms.Label(); + this.CAL_MetDate = new System.Windows.Forms.DateTimePicker(); + this.FLP_Fateful = new System.Windows.Forms.FlowLayoutPanel(); + this.PAN_Fateful = new System.Windows.Forms.Panel(); + this.CHK_Fateful = new System.Windows.Forms.CheckBox(); + this.FLP_EncounterType = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_EncounterType = new System.Windows.Forms.Label(); + this.CB_EncounterType = new System.Windows.Forms.ComboBox(); + this.FLP_TimeOfDay = new System.Windows.Forms.FlowLayoutPanel(); + this.L_MetTimeOfDay = new System.Windows.Forms.Label(); + this.CB_MetTimeOfDay = new System.Windows.Forms.ComboBox(); + this.Tab_Stats = new System.Windows.Forms.TabPage(); + this.PAN_Contest = new System.Windows.Forms.Panel(); + this.TB_Sheen = new System.Windows.Forms.MaskedTextBox(); + this.TB_Tough = new System.Windows.Forms.MaskedTextBox(); + this.TB_Smart = new System.Windows.Forms.MaskedTextBox(); + this.TB_Cute = new System.Windows.Forms.MaskedTextBox(); + this.TB_Beauty = new System.Windows.Forms.MaskedTextBox(); + this.TB_Cool = new System.Windows.Forms.MaskedTextBox(); + this.Label_Sheen = new System.Windows.Forms.Label(); + this.Label_Tough = new System.Windows.Forms.Label(); + this.Label_Smart = new System.Windows.Forms.Label(); + this.Label_Cute = new System.Windows.Forms.Label(); + this.Label_Beauty = new System.Windows.Forms.Label(); + this.Label_Cool = new System.Windows.Forms.Label(); + this.Label_ContestStats = new System.Windows.Forms.Label(); + this.FLP_Stats = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_StatHeader = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_HackedStats = new System.Windows.Forms.FlowLayoutPanel(); + this.CHK_HackedStats = new System.Windows.Forms.CheckBox(); + this.FLP_StatsHeaderRight = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_IVs = new System.Windows.Forms.Label(); + this.Label_EVs = new System.Windows.Forms.Label(); + this.Label_Stats = new System.Windows.Forms.Label(); + this.FLP_HP = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_HP = new System.Windows.Forms.Label(); + this.FLP_HPRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_HPIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_HPEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_HP = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Atk = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_ATK = new System.Windows.Forms.Label(); + this.FLP_AtkRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_ATKIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_ATKEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_ATK = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Def = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_DEF = new System.Windows.Forms.Label(); + this.FLP_DefRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_DEFIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_DEFEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_DEF = new System.Windows.Forms.MaskedTextBox(); + this.FLP_SpA = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_SpALeft = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_SPA = new System.Windows.Forms.Label(); + this.Label_SPC = new System.Windows.Forms.Label(); + this.FLP_SpARight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_SPAIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_SPAEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_SPA = new System.Windows.Forms.MaskedTextBox(); + this.FLP_SpD = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_SPD = new System.Windows.Forms.Label(); + this.FLP_SpDRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_SPDIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_SPDEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_SPD = new System.Windows.Forms.MaskedTextBox(); + this.FLP_Spe = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_SPE = new System.Windows.Forms.Label(); + this.FLP_SpeRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_SPEIV = new System.Windows.Forms.MaskedTextBox(); + this.TB_SPEEV = new System.Windows.Forms.MaskedTextBox(); + this.Stat_SPE = new System.Windows.Forms.MaskedTextBox(); + this.FLP_StatsTotal = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_Total = new System.Windows.Forms.Label(); + this.FLP_StatsTotalRight = new System.Windows.Forms.FlowLayoutPanel(); + this.TB_IVTotal = new System.Windows.Forms.TextBox(); + this.TB_EVTotal = new System.Windows.Forms.TextBox(); + this.L_Potential = new System.Windows.Forms.Label(); + this.FLP_HPType = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_HiddenPowerPrefix = new System.Windows.Forms.Label(); + this.CB_HPType = new System.Windows.Forms.ComboBox(); + this.FLP_Characteristic = new System.Windows.Forms.FlowLayoutPanel(); + this.Label_CharacteristicPrefix = new System.Windows.Forms.Label(); + this.L_Characteristic = new System.Windows.Forms.Label(); + this.BTN_RandomEVs = new System.Windows.Forms.Button(); + this.BTN_RandomIVs = new System.Windows.Forms.Button(); + this.Tab_Attacks = new System.Windows.Forms.TabPage(); + this.PB_WarnMove4 = new System.Windows.Forms.PictureBox(); + this.PB_WarnMove3 = new System.Windows.Forms.PictureBox(); + this.PB_WarnMove2 = new System.Windows.Forms.PictureBox(); + this.PB_WarnMove1 = new System.Windows.Forms.PictureBox(); + this.GB_RelearnMoves = new System.Windows.Forms.GroupBox(); + this.PB_WarnRelearn4 = new System.Windows.Forms.PictureBox(); + this.PB_WarnRelearn3 = new System.Windows.Forms.PictureBox(); + this.PB_WarnRelearn2 = new System.Windows.Forms.PictureBox(); + this.PB_WarnRelearn1 = new System.Windows.Forms.PictureBox(); + this.CB_RelearnMove4 = new System.Windows.Forms.ComboBox(); + this.CB_RelearnMove3 = new System.Windows.Forms.ComboBox(); + this.CB_RelearnMove2 = new System.Windows.Forms.ComboBox(); + this.CB_RelearnMove1 = new System.Windows.Forms.ComboBox(); + this.GB_CurrentMoves = new System.Windows.Forms.GroupBox(); + this.TB_PP4 = new System.Windows.Forms.MaskedTextBox(); + this.TB_PP3 = new System.Windows.Forms.MaskedTextBox(); + this.TB_PP2 = new System.Windows.Forms.MaskedTextBox(); + this.TB_PP1 = new System.Windows.Forms.MaskedTextBox(); + this.Label_CurPP = new System.Windows.Forms.Label(); + this.Label_PPups = new System.Windows.Forms.Label(); + this.CB_PPu4 = new System.Windows.Forms.ComboBox(); + this.CB_PPu3 = new System.Windows.Forms.ComboBox(); + this.CB_PPu2 = new System.Windows.Forms.ComboBox(); + this.CB_Move4 = new System.Windows.Forms.ComboBox(); + this.CB_PPu1 = new System.Windows.Forms.ComboBox(); + this.CB_Move3 = new System.Windows.Forms.ComboBox(); + this.CB_Move2 = new System.Windows.Forms.ComboBox(); + this.CB_Move1 = new System.Windows.Forms.ComboBox(); + this.Tab_OTMisc = new System.Windows.Forms.TabPage(); + this.FLP_PKMEditors = new System.Windows.Forms.FlowLayoutPanel(); + this.BTN_Ribbons = new System.Windows.Forms.Button(); + this.BTN_Medals = new System.Windows.Forms.Button(); + this.BTN_History = new System.Windows.Forms.Button(); + this.TB_EC = new System.Windows.Forms.TextBox(); + this.GB_nOT = new System.Windows.Forms.GroupBox(); + this.Label_CTGender = new System.Windows.Forms.Label(); + this.TB_OTt2 = new System.Windows.Forms.TextBox(); + this.Label_PrevOT = new System.Windows.Forms.Label(); + this.BTN_RerollEC = new System.Windows.Forms.Button(); + this.GB_Markings = new System.Windows.Forms.GroupBox(); + this.PB_MarkHorohoro = new System.Windows.Forms.PictureBox(); + this.PB_MarkVC = new System.Windows.Forms.PictureBox(); + this.PB_MarkAlola = new System.Windows.Forms.PictureBox(); + this.PB_Mark6 = new System.Windows.Forms.PictureBox(); + this.PB_MarkPentagon = new System.Windows.Forms.PictureBox(); + this.PB_Mark3 = new System.Windows.Forms.PictureBox(); + this.PB_Mark5 = new System.Windows.Forms.PictureBox(); + this.PB_MarkCured = new System.Windows.Forms.PictureBox(); + this.PB_Mark2 = new System.Windows.Forms.PictureBox(); + this.PB_MarkShiny = new System.Windows.Forms.PictureBox(); + this.PB_Mark1 = new System.Windows.Forms.PictureBox(); + this.PB_Mark4 = new System.Windows.Forms.PictureBox(); + this.GB_ExtraBytes = new System.Windows.Forms.GroupBox(); + this.TB_ExtraByte = new System.Windows.Forms.MaskedTextBox(); + this.CB_ExtraBytes = new System.Windows.Forms.ComboBox(); + this.GB_OT = new System.Windows.Forms.GroupBox(); + this.Label_OTGender = new System.Windows.Forms.Label(); + this.TB_OT = new System.Windows.Forms.TextBox(); + this.TB_SID = new System.Windows.Forms.MaskedTextBox(); + this.TB_TID = new System.Windows.Forms.MaskedTextBox(); + this.Label_OT = new System.Windows.Forms.Label(); + this.Label_SID = new System.Windows.Forms.Label(); + this.Label_TID = new System.Windows.Forms.Label(); + this.Label_EncryptionConstant = new System.Windows.Forms.Label(); + this.tabMain.SuspendLayout(); + this.Tab_Main.SuspendLayout(); + this.FLP_Main.SuspendLayout(); + this.FLP_PID.SuspendLayout(); + this.FLP_PIDLeft.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Label_IsShiny)).BeginInit(); + this.FLP_PIDRight.SuspendLayout(); + this.FLP_Species.SuspendLayout(); + this.FLP_Nickname.SuspendLayout(); + this.FLP_NicknameLeft.SuspendLayout(); + this.FLP_EXPLevel.SuspendLayout(); + this.FLP_EXPLevelRight.SuspendLayout(); + this.FLP_Nature.SuspendLayout(); + this.FLP_HeldItem.SuspendLayout(); + this.FLP_FriendshipForm.SuspendLayout(); + this.FLP_FriendshipFormLeft.SuspendLayout(); + this.FLP_FriendshipFormRight.SuspendLayout(); + this.FLP_Ability.SuspendLayout(); + this.FLP_AbilityRight.SuspendLayout(); + this.FLP_Language.SuspendLayout(); + this.FLP_EggPKRS.SuspendLayout(); + this.FLP_EggPKRSLeft.SuspendLayout(); + this.FLP_EggPKRSRight.SuspendLayout(); + this.FLP_PKRS.SuspendLayout(); + this.FLP_PKRSRight.SuspendLayout(); + this.FLP_Country.SuspendLayout(); + this.FLP_SubRegion.SuspendLayout(); + this.FLP_3DSRegion.SuspendLayout(); + this.FLP_NSparkle.SuspendLayout(); + this.FLP_ShadowID.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_ShadowID)).BeginInit(); + this.FLP_Purification.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Purification)).BeginInit(); + this.Tab_Met.SuspendLayout(); + this.GB_EggConditions.SuspendLayout(); + this.FLP_Met.SuspendLayout(); + this.FLP_OriginGame.SuspendLayout(); + this.FLP_MetLocation.SuspendLayout(); + this.FLP_Ball.SuspendLayout(); + this.FLP_BallLeft.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Ball)).BeginInit(); + this.FLP_MetLevel.SuspendLayout(); + this.FLP_MetDate.SuspendLayout(); + this.FLP_Fateful.SuspendLayout(); + this.FLP_EncounterType.SuspendLayout(); + this.FLP_TimeOfDay.SuspendLayout(); + this.Tab_Stats.SuspendLayout(); + this.PAN_Contest.SuspendLayout(); + this.FLP_Stats.SuspendLayout(); + this.FLP_StatHeader.SuspendLayout(); + this.FLP_HackedStats.SuspendLayout(); + this.FLP_StatsHeaderRight.SuspendLayout(); + this.FLP_HP.SuspendLayout(); + this.FLP_HPRight.SuspendLayout(); + this.FLP_Atk.SuspendLayout(); + this.FLP_AtkRight.SuspendLayout(); + this.FLP_Def.SuspendLayout(); + this.FLP_DefRight.SuspendLayout(); + this.FLP_SpA.SuspendLayout(); + this.FLP_SpALeft.SuspendLayout(); + this.FLP_SpARight.SuspendLayout(); + this.FLP_SpD.SuspendLayout(); + this.FLP_SpDRight.SuspendLayout(); + this.FLP_Spe.SuspendLayout(); + this.FLP_SpeRight.SuspendLayout(); + this.FLP_StatsTotal.SuspendLayout(); + this.FLP_StatsTotalRight.SuspendLayout(); + this.FLP_HPType.SuspendLayout(); + this.FLP_Characteristic.SuspendLayout(); + this.Tab_Attacks.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove1)).BeginInit(); + this.GB_RelearnMoves.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn1)).BeginInit(); + this.GB_CurrentMoves.SuspendLayout(); + this.Tab_OTMisc.SuspendLayout(); + this.FLP_PKMEditors.SuspendLayout(); + this.GB_nOT.SuspendLayout(); + this.GB_Markings.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkHorohoro)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkVC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkAlola)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkPentagon)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkCured)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkShiny)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark4)).BeginInit(); + this.GB_ExtraBytes.SuspendLayout(); + this.GB_OT.SuspendLayout(); + this.SuspendLayout(); + // + // tabMain + // + this.tabMain.AllowDrop = true; + this.tabMain.Controls.Add(this.Tab_Main); + this.tabMain.Controls.Add(this.Tab_Met); + this.tabMain.Controls.Add(this.Tab_Stats); + this.tabMain.Controls.Add(this.Tab_Attacks); + this.tabMain.Controls.Add(this.Tab_OTMisc); + this.tabMain.Dock = System.Windows.Forms.DockStyle.Left; + this.tabMain.Location = new System.Drawing.Point(0, 0); + this.tabMain.Name = "tabMain"; + this.tabMain.SelectedIndex = 0; + this.tabMain.Size = new System.Drawing.Size(280, 420); + this.tabMain.TabIndex = 1; + // + // Tab_Main + // + this.Tab_Main.AllowDrop = true; + this.Tab_Main.Controls.Add(this.FLP_Main); + this.Tab_Main.Location = new System.Drawing.Point(4, 22); + this.Tab_Main.Name = "Tab_Main"; + this.Tab_Main.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Main.Size = new System.Drawing.Size(272, 394); + this.Tab_Main.TabIndex = 0; + this.Tab_Main.Text = "Main"; + this.Tab_Main.UseVisualStyleBackColor = true; + // + // FLP_Main + // + this.FLP_Main.Controls.Add(this.FLP_PID); + this.FLP_Main.Controls.Add(this.FLP_Species); + this.FLP_Main.Controls.Add(this.FLP_Nickname); + this.FLP_Main.Controls.Add(this.FLP_EXPLevel); + this.FLP_Main.Controls.Add(this.FLP_Nature); + this.FLP_Main.Controls.Add(this.FLP_HeldItem); + this.FLP_Main.Controls.Add(this.FLP_FriendshipForm); + this.FLP_Main.Controls.Add(this.FLP_Ability); + this.FLP_Main.Controls.Add(this.FLP_Language); + this.FLP_Main.Controls.Add(this.FLP_EggPKRS); + this.FLP_Main.Controls.Add(this.FLP_PKRS); + this.FLP_Main.Controls.Add(this.FLP_Country); + this.FLP_Main.Controls.Add(this.FLP_SubRegion); + this.FLP_Main.Controls.Add(this.FLP_3DSRegion); + this.FLP_Main.Controls.Add(this.FLP_NSparkle); + this.FLP_Main.Controls.Add(this.FLP_ShadowID); + this.FLP_Main.Controls.Add(this.FLP_Purification); + this.FLP_Main.Location = new System.Drawing.Point(0, 2); + this.FLP_Main.Name = "FLP_Main"; + this.FLP_Main.Size = new System.Drawing.Size(272, 391); + this.FLP_Main.TabIndex = 103; + // + // FLP_PID + // + this.FLP_PID.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_PID.Controls.Add(this.FLP_PIDLeft); + this.FLP_PID.Controls.Add(this.FLP_PIDRight); + this.FLP_PID.Location = new System.Drawing.Point(0, 0); + this.FLP_PID.Margin = new System.Windows.Forms.Padding(0); + this.FLP_PID.Name = "FLP_PID"; + this.FLP_PID.Size = new System.Drawing.Size(272, 22); + this.FLP_PID.TabIndex = 0; + // + // FLP_PIDLeft + // + this.FLP_PIDLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_PIDLeft.Controls.Add(this.Label_PID); + this.FLP_PIDLeft.Controls.Add(this.BTN_Shinytize); + this.FLP_PIDLeft.Controls.Add(this.Label_IsShiny); + this.FLP_PIDLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_PIDLeft.Location = new System.Drawing.Point(0, 0); + this.FLP_PIDLeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_PIDLeft.Name = "FLP_PIDLeft"; + this.FLP_PIDLeft.Size = new System.Drawing.Size(110, 22); + this.FLP_PIDLeft.TabIndex = 0; + // + // Label_PID + // + this.Label_PID.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.Label_PID.AutoSize = true; + this.Label_PID.Location = new System.Drawing.Point(82, 5); + this.Label_PID.Margin = new System.Windows.Forms.Padding(0, 5, 0, 4); + this.Label_PID.Name = "Label_PID"; + this.Label_PID.Size = new System.Drawing.Size(28, 13); + this.Label_PID.TabIndex = 0; + this.Label_PID.Text = "PID:"; + this.Label_PID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // BTN_Shinytize + // + this.BTN_Shinytize.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.BTN_Shinytize.Location = new System.Drawing.Point(58, 0); + this.BTN_Shinytize.Margin = new System.Windows.Forms.Padding(0); + this.BTN_Shinytize.Name = "BTN_Shinytize"; + this.BTN_Shinytize.Size = new System.Drawing.Size(24, 22); + this.BTN_Shinytize.TabIndex = 1; + this.BTN_Shinytize.Text = "☆"; + this.BTN_Shinytize.UseVisualStyleBackColor = true; + this.BTN_Shinytize.Click += new System.EventHandler(this.updateShinyPID); + // + // Label_IsShiny + // + this.Label_IsShiny.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.Label_IsShiny.Image = ((System.Drawing.Image)(resources.GetObject("Label_IsShiny.Image"))); + this.Label_IsShiny.InitialImage = ((System.Drawing.Image)(resources.GetObject("Label_IsShiny.InitialImage"))); + this.Label_IsShiny.Location = new System.Drawing.Point(36, 2); + this.Label_IsShiny.Margin = new System.Windows.Forms.Padding(0, 2, 2, 0); + this.Label_IsShiny.Name = "Label_IsShiny"; + this.Label_IsShiny.Size = new System.Drawing.Size(20, 20); + this.Label_IsShiny.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.Label_IsShiny.TabIndex = 62; + this.Label_IsShiny.TabStop = false; + this.Label_IsShiny.Visible = false; + // + // FLP_PIDRight + // + this.FLP_PIDRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_PIDRight.Controls.Add(this.TB_PID); + this.FLP_PIDRight.Controls.Add(this.Label_Gender); + this.FLP_PIDRight.Controls.Add(this.BTN_RerollPID); + this.FLP_PIDRight.Location = new System.Drawing.Point(110, 0); + this.FLP_PIDRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_PIDRight.Name = "FLP_PIDRight"; + this.FLP_PIDRight.Size = new System.Drawing.Size(162, 22); + this.FLP_PIDRight.TabIndex = 104; + // + // TB_PID + // + this.TB_PID.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.TB_PID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_PID.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_PID.Location = new System.Drawing.Point(0, 1); + this.TB_PID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); + this.TB_PID.MaxLength = 8; + this.TB_PID.Name = "TB_PID"; + this.TB_PID.Size = new System.Drawing.Size(60, 20); + this.TB_PID.TabIndex = 1; + this.TB_PID.Text = "12345678"; + this.TB_PID.MouseHover += new System.EventHandler(this.updateTSV); + this.TB_PID.Validated += new System.EventHandler(this.update_ID); + // + // Label_Gender + // + this.Label_Gender.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.Label_Gender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Label_Gender.Location = new System.Drawing.Point(60, 0); + this.Label_Gender.Margin = new System.Windows.Forms.Padding(0); + this.Label_Gender.Name = "Label_Gender"; + this.Label_Gender.Size = new System.Drawing.Size(19, 21); + this.Label_Gender.TabIndex = 55; + this.Label_Gender.Text = "-"; + this.Label_Gender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.Label_Gender.Click += new System.EventHandler(this.clickGender); + // + // BTN_RerollPID + // + this.BTN_RerollPID.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.BTN_RerollPID.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.BTN_RerollPID.Location = new System.Drawing.Point(79, 1); + this.BTN_RerollPID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); + this.BTN_RerollPID.Name = "BTN_RerollPID"; + this.BTN_RerollPID.Size = new System.Drawing.Size(47, 20); + this.BTN_RerollPID.TabIndex = 1; + this.BTN_RerollPID.Text = "Reroll"; + this.BTN_RerollPID.UseVisualStyleBackColor = true; + this.BTN_RerollPID.Click += new System.EventHandler(this.updateRandomPID); + // + // FLP_Species + // + this.FLP_Species.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Species.Controls.Add(this.Label_Species); + this.FLP_Species.Controls.Add(this.CB_Species); + this.FLP_Species.Location = new System.Drawing.Point(0, 22); + this.FLP_Species.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Species.Name = "FLP_Species"; + this.FLP_Species.Size = new System.Drawing.Size(272, 21); + this.FLP_Species.TabIndex = 1; + // + // Label_Species + // + this.Label_Species.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.Label_Species.Location = new System.Drawing.Point(0, 0); + this.Label_Species.Margin = new System.Windows.Forms.Padding(0); + this.Label_Species.Name = "Label_Species"; + this.Label_Species.Size = new System.Drawing.Size(110, 21); + this.Label_Species.TabIndex = 1; + this.Label_Species.Text = "Species:"; + this.Label_Species.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_Species.Click += new System.EventHandler(this.updateNickname); + // + // CB_Species + // + this.CB_Species.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Species.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Species.FormattingEnabled = true; + this.CB_Species.Location = new System.Drawing.Point(110, 0); + this.CB_Species.Margin = new System.Windows.Forms.Padding(0); + this.CB_Species.Name = "CB_Species"; + this.CB_Species.Size = new System.Drawing.Size(126, 21); + this.CB_Species.TabIndex = 3; + this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_Species.SelectedValueChanged += new System.EventHandler(this.updateSpecies); + this.CB_Species.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Species.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_Nickname + // + this.FLP_Nickname.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Nickname.Controls.Add(this.FLP_NicknameLeft); + this.FLP_Nickname.Controls.Add(this.TB_Nickname); + this.FLP_Nickname.Location = new System.Drawing.Point(0, 43); + this.FLP_Nickname.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Nickname.Name = "FLP_Nickname"; + this.FLP_Nickname.Size = new System.Drawing.Size(272, 22); + this.FLP_Nickname.TabIndex = 2; + // + // FLP_NicknameLeft + // + this.FLP_NicknameLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_NicknameLeft.Controls.Add(this.CHK_Nicknamed); + this.FLP_NicknameLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_NicknameLeft.Location = new System.Drawing.Point(0, 0); + this.FLP_NicknameLeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_NicknameLeft.Name = "FLP_NicknameLeft"; + this.FLP_NicknameLeft.Size = new System.Drawing.Size(110, 21); + this.FLP_NicknameLeft.TabIndex = 109; + // + // CHK_Nicknamed + // + this.CHK_Nicknamed.AutoSize = true; + this.CHK_Nicknamed.Location = new System.Drawing.Point(36, 3); + this.CHK_Nicknamed.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Nicknamed.Name = "CHK_Nicknamed"; + this.CHK_Nicknamed.Size = new System.Drawing.Size(74, 17); + this.CHK_Nicknamed.TabIndex = 4; + this.CHK_Nicknamed.Text = "Nickname"; + this.CHK_Nicknamed.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_Nicknamed.UseVisualStyleBackColor = true; + this.CHK_Nicknamed.CheckedChanged += new System.EventHandler(this.updateNickname); + // + // TB_Nickname + // + this.TB_Nickname.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Nickname.Location = new System.Drawing.Point(110, 0); + this.TB_Nickname.Margin = new System.Windows.Forms.Padding(0); + this.TB_Nickname.MaxLength = 12; + this.TB_Nickname.Name = "TB_Nickname"; + this.TB_Nickname.Size = new System.Drawing.Size(126, 20); + this.TB_Nickname.TabIndex = 5; + this.TB_Nickname.TextChanged += new System.EventHandler(this.updateIsNicknamed); + this.TB_Nickname.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); + // + // FLP_EXPLevel + // + this.FLP_EXPLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_EXPLevel.Controls.Add(this.Label_EXP); + this.FLP_EXPLevel.Controls.Add(this.FLP_EXPLevelRight); + this.FLP_EXPLevel.Location = new System.Drawing.Point(0, 65); + this.FLP_EXPLevel.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EXPLevel.Name = "FLP_EXPLevel"; + this.FLP_EXPLevel.Size = new System.Drawing.Size(272, 21); + this.FLP_EXPLevel.TabIndex = 3; + // + // Label_EXP + // + this.Label_EXP.Location = new System.Drawing.Point(0, 0); + this.Label_EXP.Margin = new System.Windows.Forms.Padding(0); + this.Label_EXP.Name = "Label_EXP"; + this.Label_EXP.Size = new System.Drawing.Size(110, 21); + this.Label_EXP.TabIndex = 3; + this.Label_EXP.Text = "EXP:"; + this.Label_EXP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_EXPLevelRight + // + this.FLP_EXPLevelRight.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.FLP_EXPLevelRight.Controls.Add(this.TB_EXP); + this.FLP_EXPLevelRight.Controls.Add(this.Label_CurLevel); + this.FLP_EXPLevelRight.Controls.Add(this.TB_Level); + this.FLP_EXPLevelRight.Controls.Add(this.MT_Level); + this.FLP_EXPLevelRight.Location = new System.Drawing.Point(110, 0); + this.FLP_EXPLevelRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EXPLevelRight.Name = "FLP_EXPLevelRight"; + this.FLP_EXPLevelRight.Size = new System.Drawing.Size(162, 21); + this.FLP_EXPLevelRight.TabIndex = 0; + // + // TB_EXP + // + this.TB_EXP.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.TB_EXP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_EXP.Location = new System.Drawing.Point(0, 0); + this.TB_EXP.Margin = new System.Windows.Forms.Padding(0); + this.TB_EXP.Mask = "0000000"; + this.TB_EXP.Name = "TB_EXP"; + this.TB_EXP.Size = new System.Drawing.Size(46, 20); + this.TB_EXP.TabIndex = 7; + this.TB_EXP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_EXP.Validated += new System.EventHandler(this.updateEXPLevel); + // + // Label_CurLevel + // + this.Label_CurLevel.Location = new System.Drawing.Point(46, 0); + this.Label_CurLevel.Margin = new System.Windows.Forms.Padding(0); + this.Label_CurLevel.Name = "Label_CurLevel"; + this.Label_CurLevel.Size = new System.Drawing.Size(58, 21); + this.Label_CurLevel.TabIndex = 7; + this.Label_CurLevel.Text = "Level:"; + this.Label_CurLevel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_CurLevel.Click += new System.EventHandler(this.clickMetLocation); + // + // TB_Level + // + this.TB_Level.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Level.Location = new System.Drawing.Point(104, 0); + this.TB_Level.Margin = new System.Windows.Forms.Padding(0); + this.TB_Level.Mask = "000"; + this.TB_Level.Name = "TB_Level"; + this.TB_Level.Size = new System.Drawing.Size(22, 20); + this.TB_Level.TabIndex = 8; + this.TB_Level.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Level.Validated += new System.EventHandler(this.updateEXPLevel); + // + // MT_Level + // + this.MT_Level.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.MT_Level.Enabled = false; + this.MT_Level.Location = new System.Drawing.Point(126, 0); + this.MT_Level.Margin = new System.Windows.Forms.Padding(0); + this.MT_Level.Mask = "000"; + this.MT_Level.Name = "MT_Level"; + this.MT_Level.Size = new System.Drawing.Size(22, 20); + this.MT_Level.TabIndex = 17; + this.MT_Level.Visible = false; + this.MT_Level.Click += new System.EventHandler(this.clickLevel); + this.MT_Level.Validated += new System.EventHandler(this.updateEXPLevel); + // + // FLP_Nature + // + this.FLP_Nature.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Nature.Controls.Add(this.Label_Nature); + this.FLP_Nature.Controls.Add(this.CB_Nature); + this.FLP_Nature.Location = new System.Drawing.Point(0, 86); + this.FLP_Nature.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Nature.Name = "FLP_Nature"; + this.FLP_Nature.Size = new System.Drawing.Size(272, 21); + this.FLP_Nature.TabIndex = 4; + // + // Label_Nature + // + this.Label_Nature.Location = new System.Drawing.Point(0, 0); + this.Label_Nature.Margin = new System.Windows.Forms.Padding(0); + this.Label_Nature.Name = "Label_Nature"; + this.Label_Nature.Size = new System.Drawing.Size(110, 21); + this.Label_Nature.TabIndex = 8; + this.Label_Nature.Text = "Nature:"; + this.Label_Nature.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_Nature + // + this.CB_Nature.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Nature.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Nature.FormattingEnabled = true; + this.CB_Nature.Location = new System.Drawing.Point(110, 0); + this.CB_Nature.Margin = new System.Windows.Forms.Padding(0); + this.CB_Nature.Name = "CB_Nature"; + this.CB_Nature.Size = new System.Drawing.Size(126, 21); + this.CB_Nature.TabIndex = 9; + this.CB_Nature.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_Nature.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Nature.MouseHover += new System.EventHandler(this.updateNatureModification); + this.CB_Nature.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_HeldItem + // + this.FLP_HeldItem.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_HeldItem.Controls.Add(this.Label_HeldItem); + this.FLP_HeldItem.Controls.Add(this.CB_HeldItem); + this.FLP_HeldItem.Location = new System.Drawing.Point(0, 107); + this.FLP_HeldItem.Margin = new System.Windows.Forms.Padding(0); + this.FLP_HeldItem.Name = "FLP_HeldItem"; + this.FLP_HeldItem.Size = new System.Drawing.Size(272, 21); + this.FLP_HeldItem.TabIndex = 5; + // + // Label_HeldItem + // + this.Label_HeldItem.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.Label_HeldItem.Location = new System.Drawing.Point(0, 0); + this.Label_HeldItem.Margin = new System.Windows.Forms.Padding(0); + this.Label_HeldItem.Name = "Label_HeldItem"; + this.Label_HeldItem.Size = new System.Drawing.Size(110, 21); + this.Label_HeldItem.TabIndex = 51; + this.Label_HeldItem.Text = "Held Item:"; + this.Label_HeldItem.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_HeldItem + // + this.CB_HeldItem.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_HeldItem.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HeldItem.FormattingEnabled = true; + this.CB_HeldItem.Location = new System.Drawing.Point(110, 0); + this.CB_HeldItem.Margin = new System.Windows.Forms.Padding(0); + this.CB_HeldItem.Name = "CB_HeldItem"; + this.CB_HeldItem.Size = new System.Drawing.Size(126, 21); + this.CB_HeldItem.TabIndex = 10; + this.CB_HeldItem.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_HeldItem.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_HeldItem.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_FriendshipForm + // + this.FLP_FriendshipForm.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_FriendshipForm.Controls.Add(this.FLP_FriendshipFormLeft); + this.FLP_FriendshipForm.Controls.Add(this.FLP_FriendshipFormRight); + this.FLP_FriendshipForm.Location = new System.Drawing.Point(0, 128); + this.FLP_FriendshipForm.Margin = new System.Windows.Forms.Padding(0); + this.FLP_FriendshipForm.Name = "FLP_FriendshipForm"; + this.FLP_FriendshipForm.Size = new System.Drawing.Size(272, 21); + this.FLP_FriendshipForm.TabIndex = 6; + // + // FLP_FriendshipFormLeft + // + this.FLP_FriendshipFormLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_FriendshipFormLeft.Controls.Add(this.Label_Friendship); + this.FLP_FriendshipFormLeft.Controls.Add(this.Label_HatchCounter); + this.FLP_FriendshipFormLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_FriendshipFormLeft.Location = new System.Drawing.Point(0, 0); + this.FLP_FriendshipFormLeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_FriendshipFormLeft.Name = "FLP_FriendshipFormLeft"; + this.FLP_FriendshipFormLeft.Size = new System.Drawing.Size(110, 21); + this.FLP_FriendshipFormLeft.TabIndex = 0; + // + // Label_Friendship + // + this.Label_Friendship.Location = new System.Drawing.Point(0, 0); + this.Label_Friendship.Margin = new System.Windows.Forms.Padding(0); + this.Label_Friendship.Name = "Label_Friendship"; + this.Label_Friendship.Size = new System.Drawing.Size(110, 21); + this.Label_Friendship.TabIndex = 9; + this.Label_Friendship.Text = "Friendship:"; + this.Label_Friendship.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_Friendship.Click += new System.EventHandler(this.clickFriendship); + // + // Label_HatchCounter + // + this.Label_HatchCounter.Location = new System.Drawing.Point(0, 21); + this.Label_HatchCounter.Margin = new System.Windows.Forms.Padding(0); + this.Label_HatchCounter.Name = "Label_HatchCounter"; + this.Label_HatchCounter.Size = new System.Drawing.Size(110, 21); + this.Label_HatchCounter.TabIndex = 61; + this.Label_HatchCounter.Text = "Hatch Counter:"; + this.Label_HatchCounter.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_FriendshipFormRight + // + this.FLP_FriendshipFormRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_FriendshipFormRight.Controls.Add(this.TB_Friendship); + this.FLP_FriendshipFormRight.Controls.Add(this.Label_Form); + this.FLP_FriendshipFormRight.Controls.Add(this.CB_Form); + this.FLP_FriendshipFormRight.Controls.Add(this.MT_Form); + this.FLP_FriendshipFormRight.Location = new System.Drawing.Point(110, 0); + this.FLP_FriendshipFormRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_FriendshipFormRight.Name = "FLP_FriendshipFormRight"; + this.FLP_FriendshipFormRight.Size = new System.Drawing.Size(162, 21); + this.FLP_FriendshipFormRight.TabIndex = 104; + // + // TB_Friendship + // + this.TB_Friendship.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Friendship.Location = new System.Drawing.Point(0, 0); + this.TB_Friendship.Margin = new System.Windows.Forms.Padding(0); + this.TB_Friendship.Mask = "000"; + this.TB_Friendship.Name = "TB_Friendship"; + this.TB_Friendship.Size = new System.Drawing.Size(22, 20); + this.TB_Friendship.TabIndex = 11; + this.TB_Friendship.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Friendship.Validated += new System.EventHandler(this.update255_MTB); + // + // Label_Form + // + this.Label_Form.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.Label_Form.AutoSize = true; + this.Label_Form.Location = new System.Drawing.Point(22, 4); + this.Label_Form.Margin = new System.Windows.Forms.Padding(0); + this.Label_Form.Name = "Label_Form"; + this.Label_Form.Size = new System.Drawing.Size(33, 13); + this.Label_Form.TabIndex = 11; + this.Label_Form.Text = "Form:"; + this.Label_Form.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_Form + // + this.CB_Form.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Form.DropDownWidth = 85; + this.CB_Form.Enabled = false; + this.CB_Form.FormattingEnabled = true; + this.CB_Form.Location = new System.Drawing.Point(55, 0); + this.CB_Form.Margin = new System.Windows.Forms.Padding(0); + this.CB_Form.Name = "CB_Form"; + this.CB_Form.Size = new System.Drawing.Size(71, 21); + this.CB_Form.TabIndex = 12; + this.CB_Form.SelectedIndexChanged += new System.EventHandler(this.updateForm); + // + // MT_Form + // + this.MT_Form.Enabled = false; + this.MT_Form.Location = new System.Drawing.Point(126, 0); + this.MT_Form.Margin = new System.Windows.Forms.Padding(0); + this.MT_Form.Mask = "00"; + this.MT_Form.Name = "MT_Form"; + this.MT_Form.Size = new System.Drawing.Size(19, 20); + this.MT_Form.TabIndex = 18; + this.MT_Form.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.MT_Form.Visible = false; + this.MT_Form.Validated += new System.EventHandler(this.updateHaXForm); + // + // FLP_Ability + // + this.FLP_Ability.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Ability.Controls.Add(this.Label_Ability); + this.FLP_Ability.Controls.Add(this.FLP_AbilityRight); + this.FLP_Ability.Location = new System.Drawing.Point(0, 149); + this.FLP_Ability.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Ability.Name = "FLP_Ability"; + this.FLP_Ability.Size = new System.Drawing.Size(272, 21); + this.FLP_Ability.TabIndex = 7; + // + // Label_Ability + // + this.Label_Ability.Location = new System.Drawing.Point(0, 0); + this.Label_Ability.Margin = new System.Windows.Forms.Padding(0); + this.Label_Ability.Name = "Label_Ability"; + this.Label_Ability.Size = new System.Drawing.Size(110, 21); + this.Label_Ability.TabIndex = 10; + this.Label_Ability.Text = "Ability:"; + this.Label_Ability.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_AbilityRight + // + this.FLP_AbilityRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_AbilityRight.Controls.Add(this.CB_Ability); + this.FLP_AbilityRight.Controls.Add(this.DEV_Ability); + this.FLP_AbilityRight.Controls.Add(this.TB_AbilityNumber); + this.FLP_AbilityRight.Location = new System.Drawing.Point(110, 0); + this.FLP_AbilityRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_AbilityRight.Name = "FLP_AbilityRight"; + this.FLP_AbilityRight.Size = new System.Drawing.Size(162, 21); + this.FLP_AbilityRight.TabIndex = 109; + // + // CB_Ability + // + this.CB_Ability.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Ability.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Ability.FormattingEnabled = true; + this.CB_Ability.Items.AddRange(new object[] { + "Item"}); + this.CB_Ability.Location = new System.Drawing.Point(0, 0); + this.CB_Ability.Margin = new System.Windows.Forms.Padding(0); + this.CB_Ability.Name = "CB_Ability"; + this.CB_Ability.Size = new System.Drawing.Size(126, 21); + this.CB_Ability.TabIndex = 13; + this.CB_Ability.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_Ability.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Ability.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // DEV_Ability + // + this.DEV_Ability.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.DEV_Ability.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.DEV_Ability.Enabled = false; + this.DEV_Ability.FormattingEnabled = true; + this.DEV_Ability.Items.AddRange(new object[] { + "Item"}); + this.DEV_Ability.Location = new System.Drawing.Point(0, 21); + this.DEV_Ability.Margin = new System.Windows.Forms.Padding(0); + this.DEV_Ability.Name = "DEV_Ability"; + this.DEV_Ability.Size = new System.Drawing.Size(126, 21); + this.DEV_Ability.TabIndex = 14; + this.DEV_Ability.Visible = false; + // + // TB_AbilityNumber + // + this.TB_AbilityNumber.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_AbilityNumber.Location = new System.Drawing.Point(126, 21); + this.TB_AbilityNumber.Margin = new System.Windows.Forms.Padding(0); + this.TB_AbilityNumber.Mask = "0"; + this.TB_AbilityNumber.Name = "TB_AbilityNumber"; + this.TB_AbilityNumber.Size = new System.Drawing.Size(19, 20); + this.TB_AbilityNumber.TabIndex = 14; + this.TB_AbilityNumber.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_AbilityNumber.Visible = false; + // + // FLP_Language + // + this.FLP_Language.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Language.Controls.Add(this.Label_Language); + this.FLP_Language.Controls.Add(this.CB_Language); + this.FLP_Language.Location = new System.Drawing.Point(0, 170); + this.FLP_Language.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Language.Name = "FLP_Language"; + this.FLP_Language.Size = new System.Drawing.Size(272, 21); + this.FLP_Language.TabIndex = 8; + // + // Label_Language + // + this.Label_Language.Location = new System.Drawing.Point(0, 0); + this.Label_Language.Margin = new System.Windows.Forms.Padding(0); + this.Label_Language.Name = "Label_Language"; + this.Label_Language.Size = new System.Drawing.Size(110, 21); + this.Label_Language.TabIndex = 12; + this.Label_Language.Text = "Language:"; + this.Label_Language.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_Language + // + this.CB_Language.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.CB_Language.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Language.FormattingEnabled = true; + this.CB_Language.Location = new System.Drawing.Point(110, 0); + this.CB_Language.Margin = new System.Windows.Forms.Padding(0); + this.CB_Language.Name = "CB_Language"; + this.CB_Language.Size = new System.Drawing.Size(126, 21); + this.CB_Language.TabIndex = 15; + this.CB_Language.SelectedIndexChanged += new System.EventHandler(this.updateNickname); + // + // FLP_EggPKRS + // + this.FLP_EggPKRS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_EggPKRS.Controls.Add(this.FLP_EggPKRSLeft); + this.FLP_EggPKRS.Controls.Add(this.FLP_EggPKRSRight); + this.FLP_EggPKRS.Location = new System.Drawing.Point(0, 191); + this.FLP_EggPKRS.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EggPKRS.Name = "FLP_EggPKRS"; + this.FLP_EggPKRS.Size = new System.Drawing.Size(272, 21); + this.FLP_EggPKRS.TabIndex = 9; + // + // FLP_EggPKRSLeft + // + this.FLP_EggPKRSLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_EggPKRSLeft.Controls.Add(this.CHK_IsEgg); + this.FLP_EggPKRSLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_EggPKRSLeft.Location = new System.Drawing.Point(0, 0); + this.FLP_EggPKRSLeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EggPKRSLeft.Name = "FLP_EggPKRSLeft"; + this.FLP_EggPKRSLeft.Size = new System.Drawing.Size(110, 21); + this.FLP_EggPKRSLeft.TabIndex = 0; + // + // CHK_IsEgg + // + this.CHK_IsEgg.AutoSize = true; + this.CHK_IsEgg.Location = new System.Drawing.Point(54, 3); + this.CHK_IsEgg.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_IsEgg.Name = "CHK_IsEgg"; + this.CHK_IsEgg.Size = new System.Drawing.Size(56, 17); + this.CHK_IsEgg.TabIndex = 16; + this.CHK_IsEgg.Text = "Is Egg"; + this.CHK_IsEgg.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_IsEgg.UseVisualStyleBackColor = true; + this.CHK_IsEgg.CheckedChanged += new System.EventHandler(this.updateIsEgg); + // + // FLP_EggPKRSRight + // + this.FLP_EggPKRSRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_EggPKRSRight.Controls.Add(this.CHK_Infected); + this.FLP_EggPKRSRight.Controls.Add(this.CHK_Cured); + this.FLP_EggPKRSRight.Location = new System.Drawing.Point(110, 0); + this.FLP_EggPKRSRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EggPKRSRight.Name = "FLP_EggPKRSRight"; + this.FLP_EggPKRSRight.Size = new System.Drawing.Size(162, 21); + this.FLP_EggPKRSRight.TabIndex = 104; + // + // CHK_Infected + // + this.CHK_Infected.AutoSize = true; + this.CHK_Infected.Location = new System.Drawing.Point(0, 3); + this.CHK_Infected.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Infected.Name = "CHK_Infected"; + this.CHK_Infected.Size = new System.Drawing.Size(65, 17); + this.CHK_Infected.TabIndex = 17; + this.CHK_Infected.Text = "Infected"; + this.CHK_Infected.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_Infected.UseVisualStyleBackColor = true; + this.CHK_Infected.CheckedChanged += new System.EventHandler(this.updatePKRSInfected); + // + // CHK_Cured + // + this.CHK_Cured.AutoSize = true; + this.CHK_Cured.Location = new System.Drawing.Point(65, 3); + this.CHK_Cured.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Cured.Name = "CHK_Cured"; + this.CHK_Cured.Size = new System.Drawing.Size(54, 17); + this.CHK_Cured.TabIndex = 18; + this.CHK_Cured.Text = "Cured"; + this.CHK_Cured.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_Cured.UseVisualStyleBackColor = true; + this.CHK_Cured.CheckedChanged += new System.EventHandler(this.updatePKRSCured); + // + // FLP_PKRS + // + this.FLP_PKRS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_PKRS.Controls.Add(this.Label_PKRS); + this.FLP_PKRS.Controls.Add(this.FLP_PKRSRight); + this.FLP_PKRS.Location = new System.Drawing.Point(0, 212); + this.FLP_PKRS.Margin = new System.Windows.Forms.Padding(0); + this.FLP_PKRS.Name = "FLP_PKRS"; + this.FLP_PKRS.Size = new System.Drawing.Size(272, 21); + this.FLP_PKRS.TabIndex = 10; + // + // Label_PKRS + // + this.Label_PKRS.Location = new System.Drawing.Point(0, 0); + this.Label_PKRS.Margin = new System.Windows.Forms.Padding(0); + this.Label_PKRS.Name = "Label_PKRS"; + this.Label_PKRS.Size = new System.Drawing.Size(110, 21); + this.Label_PKRS.TabIndex = 14; + this.Label_PKRS.Text = "PkRs:"; + this.Label_PKRS.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_PKRS.Visible = false; + // + // FLP_PKRSRight + // + this.FLP_PKRSRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_PKRSRight.Controls.Add(this.CB_PKRSStrain); + this.FLP_PKRSRight.Controls.Add(this.Label_PKRSdays); + this.FLP_PKRSRight.Controls.Add(this.CB_PKRSDays); + this.FLP_PKRSRight.Location = new System.Drawing.Point(110, 0); + this.FLP_PKRSRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_PKRSRight.Name = "FLP_PKRSRight"; + this.FLP_PKRSRight.Size = new System.Drawing.Size(162, 21); + this.FLP_PKRSRight.TabIndex = 105; + // + // CB_PKRSStrain + // + this.CB_PKRSStrain.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PKRSStrain.FormattingEnabled = true; + this.CB_PKRSStrain.Items.AddRange(new object[] { + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15"}); + this.CB_PKRSStrain.Location = new System.Drawing.Point(0, 0); + this.CB_PKRSStrain.Margin = new System.Windows.Forms.Padding(0); + this.CB_PKRSStrain.Name = "CB_PKRSStrain"; + this.CB_PKRSStrain.Size = new System.Drawing.Size(43, 21); + this.CB_PKRSStrain.TabIndex = 19; + this.CB_PKRSStrain.Visible = false; + this.CB_PKRSStrain.SelectedValueChanged += new System.EventHandler(this.updatePKRSstrain); + // + // Label_PKRSdays + // + this.Label_PKRSdays.Location = new System.Drawing.Point(43, 0); + this.Label_PKRSdays.Margin = new System.Windows.Forms.Padding(0); + this.Label_PKRSdays.Name = "Label_PKRSdays"; + this.Label_PKRSdays.Size = new System.Drawing.Size(25, 21); + this.Label_PKRSdays.TabIndex = 15; + this.Label_PKRSdays.Text = "d:"; + this.Label_PKRSdays.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_PKRSdays.Visible = false; + // + // CB_PKRSDays + // + this.CB_PKRSDays.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PKRSDays.FormattingEnabled = true; + this.CB_PKRSDays.Location = new System.Drawing.Point(68, 0); + this.CB_PKRSDays.Margin = new System.Windows.Forms.Padding(0); + this.CB_PKRSDays.Name = "CB_PKRSDays"; + this.CB_PKRSDays.Size = new System.Drawing.Size(30, 21); + this.CB_PKRSDays.TabIndex = 20; + this.CB_PKRSDays.Visible = false; + this.CB_PKRSDays.SelectedIndexChanged += new System.EventHandler(this.updatePKRSdays); + // + // FLP_Country + // + this.FLP_Country.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Country.Controls.Add(this.Label_Country); + this.FLP_Country.Controls.Add(this.CB_Country); + this.FLP_Country.Location = new System.Drawing.Point(0, 233); + this.FLP_Country.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Country.Name = "FLP_Country"; + this.FLP_Country.Size = new System.Drawing.Size(272, 21); + this.FLP_Country.TabIndex = 107; + // + // Label_Country + // + this.Label_Country.Location = new System.Drawing.Point(0, 0); + this.Label_Country.Margin = new System.Windows.Forms.Padding(0); + this.Label_Country.Name = "Label_Country"; + this.Label_Country.Size = new System.Drawing.Size(110, 21); + this.Label_Country.TabIndex = 16; + this.Label_Country.Text = "Country:"; + this.Label_Country.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_Country + // + this.CB_Country.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Country.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Country.DropDownWidth = 180; + this.CB_Country.FormattingEnabled = true; + this.CB_Country.Location = new System.Drawing.Point(110, 0); + this.CB_Country.Margin = new System.Windows.Forms.Padding(0); + this.CB_Country.Name = "CB_Country"; + this.CB_Country.Size = new System.Drawing.Size(126, 21); + this.CB_Country.TabIndex = 21; + this.CB_Country.SelectedIndexChanged += new System.EventHandler(this.updateCountry); + this.CB_Country.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Country.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_SubRegion + // + this.FLP_SubRegion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SubRegion.Controls.Add(this.Label_SubRegion); + this.FLP_SubRegion.Controls.Add(this.CB_SubRegion); + this.FLP_SubRegion.Location = new System.Drawing.Point(0, 254); + this.FLP_SubRegion.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SubRegion.Name = "FLP_SubRegion"; + this.FLP_SubRegion.Size = new System.Drawing.Size(272, 21); + this.FLP_SubRegion.TabIndex = 110; + // + // Label_SubRegion + // + this.Label_SubRegion.Location = new System.Drawing.Point(0, 0); + this.Label_SubRegion.Margin = new System.Windows.Forms.Padding(0); + this.Label_SubRegion.Name = "Label_SubRegion"; + this.Label_SubRegion.Size = new System.Drawing.Size(110, 21); + this.Label_SubRegion.TabIndex = 17; + this.Label_SubRegion.Text = "Sub Region:"; + this.Label_SubRegion.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_SubRegion + // + this.CB_SubRegion.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_SubRegion.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_SubRegion.DropDownWidth = 180; + this.CB_SubRegion.FormattingEnabled = true; + this.CB_SubRegion.Location = new System.Drawing.Point(110, 0); + this.CB_SubRegion.Margin = new System.Windows.Forms.Padding(0); + this.CB_SubRegion.Name = "CB_SubRegion"; + this.CB_SubRegion.Size = new System.Drawing.Size(126, 21); + this.CB_SubRegion.TabIndex = 22; + this.CB_SubRegion.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_SubRegion.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_3DSRegion + // + this.FLP_3DSRegion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_3DSRegion.Controls.Add(this.Label_3DSRegion); + this.FLP_3DSRegion.Controls.Add(this.CB_3DSReg); + this.FLP_3DSRegion.Location = new System.Drawing.Point(0, 275); + this.FLP_3DSRegion.Margin = new System.Windows.Forms.Padding(0); + this.FLP_3DSRegion.Name = "FLP_3DSRegion"; + this.FLP_3DSRegion.Size = new System.Drawing.Size(272, 21); + this.FLP_3DSRegion.TabIndex = 111; + // + // Label_3DSRegion + // + this.Label_3DSRegion.Location = new System.Drawing.Point(0, 0); + this.Label_3DSRegion.Margin = new System.Windows.Forms.Padding(0); + this.Label_3DSRegion.Name = "Label_3DSRegion"; + this.Label_3DSRegion.Size = new System.Drawing.Size(110, 21); + this.Label_3DSRegion.TabIndex = 18; + this.Label_3DSRegion.Text = "3DS Region:"; + this.Label_3DSRegion.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_3DSReg + // + this.CB_3DSReg.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_3DSReg.FormattingEnabled = true; + this.CB_3DSReg.Location = new System.Drawing.Point(110, 0); + this.CB_3DSReg.Margin = new System.Windows.Forms.Padding(0); + this.CB_3DSReg.Name = "CB_3DSReg"; + this.CB_3DSReg.Size = new System.Drawing.Size(126, 21); + this.CB_3DSReg.TabIndex = 23; + // + // FLP_NSparkle + // + this.FLP_NSparkle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_NSparkle.Controls.Add(this.L_NSparkle); + this.FLP_NSparkle.Controls.Add(this.CHK_NSparkle); + this.FLP_NSparkle.Location = new System.Drawing.Point(0, 296); + this.FLP_NSparkle.Margin = new System.Windows.Forms.Padding(0); + this.FLP_NSparkle.Name = "FLP_NSparkle"; + this.FLP_NSparkle.Size = new System.Drawing.Size(272, 21); + this.FLP_NSparkle.TabIndex = 112; + // + // L_NSparkle + // + this.L_NSparkle.Location = new System.Drawing.Point(0, 0); + this.L_NSparkle.Margin = new System.Windows.Forms.Padding(0); + this.L_NSparkle.Name = "L_NSparkle"; + this.L_NSparkle.Size = new System.Drawing.Size(110, 21); + this.L_NSparkle.TabIndex = 17; + this.L_NSparkle.Text = "N\'s Sparkle:"; + this.L_NSparkle.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CHK_NSparkle + // + this.CHK_NSparkle.AutoSize = true; + this.CHK_NSparkle.Location = new System.Drawing.Point(110, 3); + this.CHK_NSparkle.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_NSparkle.Name = "CHK_NSparkle"; + this.CHK_NSparkle.Size = new System.Drawing.Size(56, 17); + this.CHK_NSparkle.TabIndex = 18; + this.CHK_NSparkle.Text = "Active"; + this.CHK_NSparkle.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_NSparkle.UseVisualStyleBackColor = true; + // + // FLP_ShadowID + // + this.FLP_ShadowID.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_ShadowID.Controls.Add(this.L_ShadowID); + this.FLP_ShadowID.Controls.Add(this.NUD_ShadowID); + this.FLP_ShadowID.Location = new System.Drawing.Point(0, 317); + this.FLP_ShadowID.Margin = new System.Windows.Forms.Padding(0); + this.FLP_ShadowID.Name = "FLP_ShadowID"; + this.FLP_ShadowID.Size = new System.Drawing.Size(272, 21); + this.FLP_ShadowID.TabIndex = 114; + // + // L_ShadowID + // + this.L_ShadowID.Location = new System.Drawing.Point(0, 0); + this.L_ShadowID.Margin = new System.Windows.Forms.Padding(0); + this.L_ShadowID.Name = "L_ShadowID"; + this.L_ShadowID.Size = new System.Drawing.Size(110, 21); + this.L_ShadowID.TabIndex = 9; + this.L_ShadowID.Text = "Shadow ID:"; + this.L_ShadowID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // NUD_ShadowID + // + this.NUD_ShadowID.Location = new System.Drawing.Point(110, 1); + this.NUD_ShadowID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); + this.NUD_ShadowID.Maximum = new decimal(new int[] { + 72, + 0, + 0, + 0}); + this.NUD_ShadowID.Name = "NUD_ShadowID"; + this.NUD_ShadowID.Size = new System.Drawing.Size(51, 20); + this.NUD_ShadowID.TabIndex = 103; + this.NUD_ShadowID.ValueChanged += new System.EventHandler(this.updateShadowID); + // + // FLP_Purification + // + this.FLP_Purification.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Purification.Controls.Add(this.L_HeartGauge); + this.FLP_Purification.Controls.Add(this.NUD_Purification); + this.FLP_Purification.Controls.Add(this.CHK_Shadow); + this.FLP_Purification.Location = new System.Drawing.Point(0, 338); + this.FLP_Purification.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Purification.Name = "FLP_Purification"; + this.FLP_Purification.Size = new System.Drawing.Size(272, 21); + this.FLP_Purification.TabIndex = 113; + // + // L_HeartGauge + // + this.L_HeartGauge.Location = new System.Drawing.Point(0, 0); + this.L_HeartGauge.Margin = new System.Windows.Forms.Padding(0); + this.L_HeartGauge.Name = "L_HeartGauge"; + this.L_HeartGauge.Size = new System.Drawing.Size(110, 21); + this.L_HeartGauge.TabIndex = 9; + this.L_HeartGauge.Text = "Heart Gauge:"; + this.L_HeartGauge.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // NUD_Purification + // + this.NUD_Purification.Location = new System.Drawing.Point(110, 1); + this.NUD_Purification.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); + this.NUD_Purification.Maximum = new decimal(new int[] { + 2147483647, + 0, + 0, + 0}); + this.NUD_Purification.Name = "NUD_Purification"; + this.NUD_Purification.Size = new System.Drawing.Size(51, 20); + this.NUD_Purification.TabIndex = 103; + this.NUD_Purification.ValueChanged += new System.EventHandler(this.updatePurification); + // + // CHK_Shadow + // + this.CHK_Shadow.AutoSize = true; + this.CHK_Shadow.Location = new System.Drawing.Point(161, 3); + this.CHK_Shadow.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Shadow.Name = "CHK_Shadow"; + this.CHK_Shadow.Size = new System.Drawing.Size(65, 17); + this.CHK_Shadow.TabIndex = 16; + this.CHK_Shadow.Text = "Shadow"; + this.CHK_Shadow.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.CHK_Shadow.UseVisualStyleBackColor = true; + this.CHK_Shadow.CheckedChanged += new System.EventHandler(this.updateShadowCHK); + // + // Tab_Met + // + this.Tab_Met.AllowDrop = true; + this.Tab_Met.Controls.Add(this.CHK_AsEgg); + this.Tab_Met.Controls.Add(this.GB_EggConditions); + this.Tab_Met.Controls.Add(this.FLP_Met); + this.Tab_Met.Location = new System.Drawing.Point(4, 22); + this.Tab_Met.Name = "Tab_Met"; + this.Tab_Met.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Met.Size = new System.Drawing.Size(272, 394); + this.Tab_Met.TabIndex = 1; + this.Tab_Met.Text = "Met"; + this.Tab_Met.UseVisualStyleBackColor = true; + // + // CHK_AsEgg + // + this.CHK_AsEgg.AutoSize = true; + this.CHK_AsEgg.Location = new System.Drawing.Point(110, 204); + this.CHK_AsEgg.Name = "CHK_AsEgg"; + this.CHK_AsEgg.Size = new System.Drawing.Size(60, 17); + this.CHK_AsEgg.TabIndex = 8; + this.CHK_AsEgg.Text = "As Egg"; + this.CHK_AsEgg.UseVisualStyleBackColor = true; + this.CHK_AsEgg.Click += new System.EventHandler(this.updateMetAsEgg); + // + // GB_EggConditions + // + this.GB_EggConditions.Controls.Add(this.CB_EggLocation); + this.GB_EggConditions.Controls.Add(this.CAL_EggDate); + this.GB_EggConditions.Controls.Add(this.Label_EggDate); + this.GB_EggConditions.Controls.Add(this.Label_EggLocation); + this.GB_EggConditions.Enabled = false; + this.GB_EggConditions.Location = new System.Drawing.Point(39, 226); + this.GB_EggConditions.Name = "GB_EggConditions"; + this.GB_EggConditions.Size = new System.Drawing.Size(200, 67); + this.GB_EggConditions.TabIndex = 9; + this.GB_EggConditions.TabStop = false; + this.GB_EggConditions.Text = "Egg Met Conditions"; + // + // CB_EggLocation + // + this.CB_EggLocation.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_EggLocation.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_EggLocation.DropDownWidth = 150; + this.CB_EggLocation.FormattingEnabled = true; + this.CB_EggLocation.Location = new System.Drawing.Point(71, 19); + this.CB_EggLocation.Name = "CB_EggLocation"; + this.CB_EggLocation.Size = new System.Drawing.Size(122, 21); + this.CB_EggLocation.TabIndex = 10; + this.CB_EggLocation.SelectedIndexChanged += new System.EventHandler(this.validateLocation); + this.CB_EggLocation.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_EggLocation.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CAL_EggDate + // + this.CAL_EggDate.CustomFormat = "MM/dd/yyyy"; + this.CAL_EggDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; + this.CAL_EggDate.Location = new System.Drawing.Point(71, 40); + this.CAL_EggDate.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); + this.CAL_EggDate.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); + this.CAL_EggDate.Name = "CAL_EggDate"; + this.CAL_EggDate.Size = new System.Drawing.Size(122, 20); + this.CAL_EggDate.TabIndex = 11; + this.CAL_EggDate.Value = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); + // + // Label_EggDate + // + this.Label_EggDate.Location = new System.Drawing.Point(5, 44); + this.Label_EggDate.Name = "Label_EggDate"; + this.Label_EggDate.Size = new System.Drawing.Size(63, 13); + this.Label_EggDate.TabIndex = 8; + this.Label_EggDate.Text = "Date:"; + this.Label_EggDate.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_EggLocation + // + this.Label_EggLocation.Location = new System.Drawing.Point(5, 24); + this.Label_EggLocation.Name = "Label_EggLocation"; + this.Label_EggLocation.Size = new System.Drawing.Size(63, 13); + this.Label_EggLocation.TabIndex = 6; + this.Label_EggLocation.Text = "Location:"; + this.Label_EggLocation.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_Met + // + this.FLP_Met.Controls.Add(this.FLP_OriginGame); + this.FLP_Met.Controls.Add(this.FLP_MetLocation); + this.FLP_Met.Controls.Add(this.FLP_Ball); + this.FLP_Met.Controls.Add(this.FLP_MetLevel); + this.FLP_Met.Controls.Add(this.FLP_MetDate); + this.FLP_Met.Controls.Add(this.FLP_Fateful); + this.FLP_Met.Controls.Add(this.FLP_EncounterType); + this.FLP_Met.Controls.Add(this.FLP_TimeOfDay); + this.FLP_Met.Location = new System.Drawing.Point(0, 24); + this.FLP_Met.Name = "FLP_Met"; + this.FLP_Met.Size = new System.Drawing.Size(272, 175); + this.FLP_Met.TabIndex = 103; + // + // FLP_OriginGame + // + this.FLP_OriginGame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_OriginGame.Controls.Add(this.Label_OriginGame); + this.FLP_OriginGame.Controls.Add(this.CB_GameOrigin); + this.FLP_OriginGame.Location = new System.Drawing.Point(0, 0); + this.FLP_OriginGame.Margin = new System.Windows.Forms.Padding(0); + this.FLP_OriginGame.Name = "FLP_OriginGame"; + this.FLP_OriginGame.Size = new System.Drawing.Size(272, 21); + this.FLP_OriginGame.TabIndex = 112; + // + // Label_OriginGame + // + this.Label_OriginGame.Location = new System.Drawing.Point(0, 0); + this.Label_OriginGame.Margin = new System.Windows.Forms.Padding(0); + this.Label_OriginGame.Name = "Label_OriginGame"; + this.Label_OriginGame.Size = new System.Drawing.Size(110, 21); + this.Label_OriginGame.TabIndex = 0; + this.Label_OriginGame.Text = "Origin Game:"; + this.Label_OriginGame.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_GameOrigin + // + this.CB_GameOrigin.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_GameOrigin.FormattingEnabled = true; + this.CB_GameOrigin.Location = new System.Drawing.Point(110, 0); + this.CB_GameOrigin.Margin = new System.Windows.Forms.Padding(0); + this.CB_GameOrigin.Name = "CB_GameOrigin"; + this.CB_GameOrigin.Size = new System.Drawing.Size(126, 21); + this.CB_GameOrigin.TabIndex = 1; + this.CB_GameOrigin.SelectedIndexChanged += new System.EventHandler(this.updateOriginGame); + // + // FLP_MetLocation + // + this.FLP_MetLocation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_MetLocation.Controls.Add(this.Label_MetLocation); + this.FLP_MetLocation.Controls.Add(this.CB_MetLocation); + this.FLP_MetLocation.Location = new System.Drawing.Point(0, 21); + this.FLP_MetLocation.Margin = new System.Windows.Forms.Padding(0); + this.FLP_MetLocation.Name = "FLP_MetLocation"; + this.FLP_MetLocation.Size = new System.Drawing.Size(272, 21); + this.FLP_MetLocation.TabIndex = 113; + // + // Label_MetLocation + // + this.Label_MetLocation.Location = new System.Drawing.Point(0, 0); + this.Label_MetLocation.Margin = new System.Windows.Forms.Padding(0); + this.Label_MetLocation.Name = "Label_MetLocation"; + this.Label_MetLocation.Size = new System.Drawing.Size(110, 21); + this.Label_MetLocation.TabIndex = 1; + this.Label_MetLocation.Text = "Met Location:"; + this.Label_MetLocation.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_MetLocation.Click += new System.EventHandler(this.clickMetLocation); + // + // CB_MetLocation + // + this.CB_MetLocation.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_MetLocation.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_MetLocation.DropDownWidth = 150; + this.CB_MetLocation.FormattingEnabled = true; + this.CB_MetLocation.Location = new System.Drawing.Point(110, 0); + this.CB_MetLocation.Margin = new System.Windows.Forms.Padding(0); + this.CB_MetLocation.Name = "CB_MetLocation"; + this.CB_MetLocation.Size = new System.Drawing.Size(126, 21); + this.CB_MetLocation.TabIndex = 2; + this.CB_MetLocation.SelectedIndexChanged += new System.EventHandler(this.validateLocation); + this.CB_MetLocation.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_MetLocation.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_Ball + // + this.FLP_Ball.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Ball.Controls.Add(this.FLP_BallLeft); + this.FLP_Ball.Controls.Add(this.CB_Ball); + this.FLP_Ball.Location = new System.Drawing.Point(0, 42); + this.FLP_Ball.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Ball.Name = "FLP_Ball"; + this.FLP_Ball.Size = new System.Drawing.Size(272, 21); + this.FLP_Ball.TabIndex = 114; + // + // FLP_BallLeft + // + this.FLP_BallLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_BallLeft.Controls.Add(this.Label_Ball); + this.FLP_BallLeft.Controls.Add(this.PB_Ball); + this.FLP_BallLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_BallLeft.Location = new System.Drawing.Point(0, 0); + this.FLP_BallLeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_BallLeft.Name = "FLP_BallLeft"; + this.FLP_BallLeft.Size = new System.Drawing.Size(110, 21); + this.FLP_BallLeft.TabIndex = 4; + // + // Label_Ball + // + this.Label_Ball.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.Label_Ball.AutoSize = true; + this.Label_Ball.Location = new System.Drawing.Point(83, 0); + this.Label_Ball.Margin = new System.Windows.Forms.Padding(0); + this.Label_Ball.Name = "Label_Ball"; + this.Label_Ball.Padding = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.Label_Ball.Size = new System.Drawing.Size(27, 19); + this.Label_Ball.TabIndex = 2; + this.Label_Ball.Text = "Ball:"; + this.Label_Ball.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // PB_Ball + // + this.PB_Ball.Location = new System.Drawing.Point(60, 0); + this.PB_Ball.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.PB_Ball.Name = "PB_Ball"; + this.PB_Ball.Size = new System.Drawing.Size(20, 20); + this.PB_Ball.TabIndex = 3; + this.PB_Ball.TabStop = false; + // + // CB_Ball + // + this.CB_Ball.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Ball.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Ball.FormattingEnabled = true; + this.CB_Ball.Location = new System.Drawing.Point(110, 0); + this.CB_Ball.Margin = new System.Windows.Forms.Padding(0); + this.CB_Ball.Name = "CB_Ball"; + this.CB_Ball.Size = new System.Drawing.Size(126, 21); + this.CB_Ball.TabIndex = 3; + this.CB_Ball.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_Ball.SelectedValueChanged += new System.EventHandler(this.updateBall); + this.CB_Ball.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Ball.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // FLP_MetLevel + // + this.FLP_MetLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_MetLevel.Controls.Add(this.Label_MetLevel); + this.FLP_MetLevel.Controls.Add(this.TB_MetLevel); + this.FLP_MetLevel.Location = new System.Drawing.Point(0, 63); + this.FLP_MetLevel.Margin = new System.Windows.Forms.Padding(0); + this.FLP_MetLevel.Name = "FLP_MetLevel"; + this.FLP_MetLevel.Size = new System.Drawing.Size(272, 21); + this.FLP_MetLevel.TabIndex = 115; + // + // Label_MetLevel + // + this.Label_MetLevel.Location = new System.Drawing.Point(0, 0); + this.Label_MetLevel.Margin = new System.Windows.Forms.Padding(0); + this.Label_MetLevel.Name = "Label_MetLevel"; + this.Label_MetLevel.Size = new System.Drawing.Size(110, 21); + this.Label_MetLevel.TabIndex = 3; + this.Label_MetLevel.Text = "Met Level:"; + this.Label_MetLevel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // TB_MetLevel + // + this.TB_MetLevel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_MetLevel.Location = new System.Drawing.Point(110, 0); + this.TB_MetLevel.Margin = new System.Windows.Forms.Padding(0); + this.TB_MetLevel.Mask = "000"; + this.TB_MetLevel.Name = "TB_MetLevel"; + this.TB_MetLevel.Size = new System.Drawing.Size(126, 20); + this.TB_MetLevel.TabIndex = 4; + this.TB_MetLevel.Validated += new System.EventHandler(this.update255_MTB); + // + // FLP_MetDate + // + this.FLP_MetDate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_MetDate.Controls.Add(this.Label_MetDate); + this.FLP_MetDate.Controls.Add(this.CAL_MetDate); + this.FLP_MetDate.Location = new System.Drawing.Point(0, 84); + this.FLP_MetDate.Margin = new System.Windows.Forms.Padding(0); + this.FLP_MetDate.Name = "FLP_MetDate"; + this.FLP_MetDate.Size = new System.Drawing.Size(272, 21); + this.FLP_MetDate.TabIndex = 116; + // + // Label_MetDate + // + this.Label_MetDate.Location = new System.Drawing.Point(0, 0); + this.Label_MetDate.Margin = new System.Windows.Forms.Padding(0); + this.Label_MetDate.Name = "Label_MetDate"; + this.Label_MetDate.Size = new System.Drawing.Size(110, 21); + this.Label_MetDate.TabIndex = 4; + this.Label_MetDate.Text = "Met Date:"; + this.Label_MetDate.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CAL_MetDate + // + this.CAL_MetDate.CustomFormat = "MM/dd/yyyy"; + this.CAL_MetDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; + this.CAL_MetDate.Location = new System.Drawing.Point(110, 0); + this.CAL_MetDate.Margin = new System.Windows.Forms.Padding(0); + this.CAL_MetDate.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); + this.CAL_MetDate.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); + this.CAL_MetDate.Name = "CAL_MetDate"; + this.CAL_MetDate.Size = new System.Drawing.Size(126, 20); + this.CAL_MetDate.TabIndex = 5; + this.CAL_MetDate.Value = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); + // + // FLP_Fateful + // + this.FLP_Fateful.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Fateful.Controls.Add(this.PAN_Fateful); + this.FLP_Fateful.Controls.Add(this.CHK_Fateful); + this.FLP_Fateful.Location = new System.Drawing.Point(0, 105); + this.FLP_Fateful.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Fateful.Name = "FLP_Fateful"; + this.FLP_Fateful.Size = new System.Drawing.Size(272, 21); + this.FLP_Fateful.TabIndex = 117; + // + // PAN_Fateful + // + this.PAN_Fateful.Location = new System.Drawing.Point(0, 0); + this.PAN_Fateful.Margin = new System.Windows.Forms.Padding(0); + this.PAN_Fateful.Name = "PAN_Fateful"; + this.PAN_Fateful.Size = new System.Drawing.Size(110, 21); + this.PAN_Fateful.TabIndex = 104; + // + // CHK_Fateful + // + this.CHK_Fateful.AutoSize = true; + this.CHK_Fateful.Location = new System.Drawing.Point(110, 3); + this.CHK_Fateful.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Fateful.Name = "CHK_Fateful"; + this.CHK_Fateful.Size = new System.Drawing.Size(110, 17); + this.CHK_Fateful.TabIndex = 6; + this.CHK_Fateful.Text = "Fateful Encounter"; + this.CHK_Fateful.UseVisualStyleBackColor = true; + // + // FLP_EncounterType + // + this.FLP_EncounterType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_EncounterType.Controls.Add(this.Label_EncounterType); + this.FLP_EncounterType.Controls.Add(this.CB_EncounterType); + this.FLP_EncounterType.Location = new System.Drawing.Point(0, 126); + this.FLP_EncounterType.Margin = new System.Windows.Forms.Padding(0); + this.FLP_EncounterType.Name = "FLP_EncounterType"; + this.FLP_EncounterType.Size = new System.Drawing.Size(272, 21); + this.FLP_EncounterType.TabIndex = 118; + // + // Label_EncounterType + // + this.Label_EncounterType.Location = new System.Drawing.Point(0, 0); + this.Label_EncounterType.Margin = new System.Windows.Forms.Padding(0); + this.Label_EncounterType.Name = "Label_EncounterType"; + this.Label_EncounterType.Size = new System.Drawing.Size(110, 21); + this.Label_EncounterType.TabIndex = 5; + this.Label_EncounterType.Text = "Encounter:"; + this.Label_EncounterType.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_EncounterType + // + this.CB_EncounterType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_EncounterType.DropDownWidth = 160; + this.CB_EncounterType.FormattingEnabled = true; + this.CB_EncounterType.Location = new System.Drawing.Point(110, 0); + this.CB_EncounterType.Margin = new System.Windows.Forms.Padding(0); + this.CB_EncounterType.Name = "CB_EncounterType"; + this.CB_EncounterType.Size = new System.Drawing.Size(126, 21); + this.CB_EncounterType.TabIndex = 7; + // + // FLP_TimeOfDay + // + this.FLP_TimeOfDay.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_TimeOfDay.Controls.Add(this.L_MetTimeOfDay); + this.FLP_TimeOfDay.Controls.Add(this.CB_MetTimeOfDay); + this.FLP_TimeOfDay.Location = new System.Drawing.Point(0, 147); + this.FLP_TimeOfDay.Margin = new System.Windows.Forms.Padding(0); + this.FLP_TimeOfDay.Name = "FLP_TimeOfDay"; + this.FLP_TimeOfDay.Size = new System.Drawing.Size(272, 21); + this.FLP_TimeOfDay.TabIndex = 119; + // + // L_MetTimeOfDay + // + this.L_MetTimeOfDay.Location = new System.Drawing.Point(0, 0); + this.L_MetTimeOfDay.Margin = new System.Windows.Forms.Padding(0); + this.L_MetTimeOfDay.Name = "L_MetTimeOfDay"; + this.L_MetTimeOfDay.Size = new System.Drawing.Size(110, 21); + this.L_MetTimeOfDay.TabIndex = 10; + this.L_MetTimeOfDay.Text = "Time of Day:"; + this.L_MetTimeOfDay.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.L_MetTimeOfDay.Visible = false; + // + // CB_MetTimeOfDay + // + this.CB_MetTimeOfDay.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_MetTimeOfDay.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_MetTimeOfDay.DropDownWidth = 150; + this.CB_MetTimeOfDay.FormattingEnabled = true; + this.CB_MetTimeOfDay.Items.AddRange(new object[] { + "(None)", + "Morning", + "Day", + "Night"}); + this.CB_MetTimeOfDay.Location = new System.Drawing.Point(110, 0); + this.CB_MetTimeOfDay.Margin = new System.Windows.Forms.Padding(0); + this.CB_MetTimeOfDay.Name = "CB_MetTimeOfDay"; + this.CB_MetTimeOfDay.Size = new System.Drawing.Size(126, 21); + this.CB_MetTimeOfDay.TabIndex = 11; + this.CB_MetTimeOfDay.Visible = false; + this.CB_MetTimeOfDay.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); + this.CB_MetTimeOfDay.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_MetTimeOfDay.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // Tab_Stats + // + this.Tab_Stats.AllowDrop = true; + this.Tab_Stats.Controls.Add(this.PAN_Contest); + this.Tab_Stats.Controls.Add(this.FLP_Stats); + this.Tab_Stats.Controls.Add(this.BTN_RandomEVs); + this.Tab_Stats.Controls.Add(this.BTN_RandomIVs); + this.Tab_Stats.Location = new System.Drawing.Point(4, 22); + this.Tab_Stats.Name = "Tab_Stats"; + this.Tab_Stats.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Stats.Size = new System.Drawing.Size(272, 394); + this.Tab_Stats.TabIndex = 2; + this.Tab_Stats.Text = "Stats"; + this.Tab_Stats.UseVisualStyleBackColor = true; + // + // PAN_Contest + // + this.PAN_Contest.Controls.Add(this.TB_Sheen); + this.PAN_Contest.Controls.Add(this.TB_Tough); + this.PAN_Contest.Controls.Add(this.TB_Smart); + this.PAN_Contest.Controls.Add(this.TB_Cute); + this.PAN_Contest.Controls.Add(this.TB_Beauty); + this.PAN_Contest.Controls.Add(this.TB_Cool); + this.PAN_Contest.Controls.Add(this.Label_Sheen); + this.PAN_Contest.Controls.Add(this.Label_Tough); + this.PAN_Contest.Controls.Add(this.Label_Smart); + this.PAN_Contest.Controls.Add(this.Label_Cute); + this.PAN_Contest.Controls.Add(this.Label_Beauty); + this.PAN_Contest.Controls.Add(this.Label_Cool); + this.PAN_Contest.Controls.Add(this.Label_ContestStats); + this.PAN_Contest.Location = new System.Drawing.Point(21, 247); + this.PAN_Contest.Name = "PAN_Contest"; + this.PAN_Contest.Size = new System.Drawing.Size(230, 50); + this.PAN_Contest.TabIndex = 104; + // + // TB_Sheen + // + this.TB_Sheen.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Sheen.Location = new System.Drawing.Point(192, 30); + this.TB_Sheen.Mask = "000"; + this.TB_Sheen.Name = "TB_Sheen"; + this.TB_Sheen.Size = new System.Drawing.Size(31, 20); + this.TB_Sheen.TabIndex = 45; + this.TB_Sheen.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Sheen.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_Tough + // + this.TB_Tough.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Tough.Location = new System.Drawing.Point(155, 30); + this.TB_Tough.Mask = "000"; + this.TB_Tough.Name = "TB_Tough"; + this.TB_Tough.Size = new System.Drawing.Size(31, 20); + this.TB_Tough.TabIndex = 44; + this.TB_Tough.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Tough.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_Smart + // + this.TB_Smart.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Smart.Location = new System.Drawing.Point(118, 30); + this.TB_Smart.Mask = "000"; + this.TB_Smart.Name = "TB_Smart"; + this.TB_Smart.Size = new System.Drawing.Size(31, 20); + this.TB_Smart.TabIndex = 43; + this.TB_Smart.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Smart.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_Cute + // + this.TB_Cute.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Cute.Location = new System.Drawing.Point(81, 30); + this.TB_Cute.Mask = "000"; + this.TB_Cute.Name = "TB_Cute"; + this.TB_Cute.Size = new System.Drawing.Size(31, 20); + this.TB_Cute.TabIndex = 42; + this.TB_Cute.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Cute.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_Beauty + // + this.TB_Beauty.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Beauty.Location = new System.Drawing.Point(44, 30); + this.TB_Beauty.Mask = "000"; + this.TB_Beauty.Name = "TB_Beauty"; + this.TB_Beauty.Size = new System.Drawing.Size(31, 20); + this.TB_Beauty.TabIndex = 41; + this.TB_Beauty.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Beauty.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_Cool + // + this.TB_Cool.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_Cool.Location = new System.Drawing.Point(7, 30); + this.TB_Cool.Mask = "000"; + this.TB_Cool.Name = "TB_Cool"; + this.TB_Cool.Size = new System.Drawing.Size(31, 20); + this.TB_Cool.TabIndex = 40; + this.TB_Cool.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_Cool.Validated += new System.EventHandler(this.update255_MTB); + // + // Label_Sheen + // + this.Label_Sheen.Location = new System.Drawing.Point(186, 17); + this.Label_Sheen.Name = "Label_Sheen"; + this.Label_Sheen.Size = new System.Drawing.Size(43, 13); + this.Label_Sheen.TabIndex = 52; + this.Label_Sheen.Text = "Sheen"; + this.Label_Sheen.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Tough + // + this.Label_Tough.Location = new System.Drawing.Point(149, 17); + this.Label_Tough.Name = "Label_Tough"; + this.Label_Tough.Size = new System.Drawing.Size(43, 13); + this.Label_Tough.TabIndex = 51; + this.Label_Tough.Text = "Tough"; + this.Label_Tough.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Smart + // + this.Label_Smart.Location = new System.Drawing.Point(112, 17); + this.Label_Smart.Name = "Label_Smart"; + this.Label_Smart.Size = new System.Drawing.Size(43, 13); + this.Label_Smart.TabIndex = 50; + this.Label_Smart.Text = "Clever"; + this.Label_Smart.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Cute + // + this.Label_Cute.Location = new System.Drawing.Point(75, 17); + this.Label_Cute.Name = "Label_Cute"; + this.Label_Cute.Size = new System.Drawing.Size(43, 13); + this.Label_Cute.TabIndex = 49; + this.Label_Cute.Text = "Cute"; + this.Label_Cute.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Beauty + // + this.Label_Beauty.Location = new System.Drawing.Point(38, 17); + this.Label_Beauty.Name = "Label_Beauty"; + this.Label_Beauty.Size = new System.Drawing.Size(43, 13); + this.Label_Beauty.TabIndex = 48; + this.Label_Beauty.Text = "Beauty"; + this.Label_Beauty.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Cool + // + this.Label_Cool.Location = new System.Drawing.Point(1, 17); + this.Label_Cool.Name = "Label_Cool"; + this.Label_Cool.Size = new System.Drawing.Size(43, 13); + this.Label_Cool.TabIndex = 47; + this.Label_Cool.Text = "Cool"; + this.Label_Cool.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_ContestStats + // + this.Label_ContestStats.Location = new System.Drawing.Point(46, 1); + this.Label_ContestStats.Name = "Label_ContestStats"; + this.Label_ContestStats.Size = new System.Drawing.Size(140, 13); + this.Label_ContestStats.TabIndex = 46; + this.Label_ContestStats.Text = "Contest Stats"; + this.Label_ContestStats.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // FLP_Stats + // + this.FLP_Stats.Controls.Add(this.FLP_StatHeader); + this.FLP_Stats.Controls.Add(this.FLP_HP); + this.FLP_Stats.Controls.Add(this.FLP_Atk); + this.FLP_Stats.Controls.Add(this.FLP_Def); + this.FLP_Stats.Controls.Add(this.FLP_SpA); + this.FLP_Stats.Controls.Add(this.FLP_SpD); + this.FLP_Stats.Controls.Add(this.FLP_Spe); + this.FLP_Stats.Controls.Add(this.FLP_StatsTotal); + this.FLP_Stats.Controls.Add(this.FLP_HPType); + this.FLP_Stats.Controls.Add(this.FLP_Characteristic); + this.FLP_Stats.Location = new System.Drawing.Point(0, 2); + this.FLP_Stats.Name = "FLP_Stats"; + this.FLP_Stats.Size = new System.Drawing.Size(272, 206); + this.FLP_Stats.TabIndex = 103; + // + // FLP_StatHeader + // + this.FLP_StatHeader.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_StatHeader.Controls.Add(this.FLP_HackedStats); + this.FLP_StatHeader.Controls.Add(this.FLP_StatsHeaderRight); + this.FLP_StatHeader.Location = new System.Drawing.Point(0, 0); + this.FLP_StatHeader.Margin = new System.Windows.Forms.Padding(0); + this.FLP_StatHeader.Name = "FLP_StatHeader"; + this.FLP_StatHeader.Size = new System.Drawing.Size(272, 22); + this.FLP_StatHeader.TabIndex = 122; + // + // FLP_HackedStats + // + this.FLP_HackedStats.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_HackedStats.Controls.Add(this.CHK_HackedStats); + this.FLP_HackedStats.Location = new System.Drawing.Point(0, 0); + this.FLP_HackedStats.Margin = new System.Windows.Forms.Padding(0); + this.FLP_HackedStats.Name = "FLP_HackedStats"; + this.FLP_HackedStats.Size = new System.Drawing.Size(107, 21); + this.FLP_HackedStats.TabIndex = 122; + // + // CHK_HackedStats + // + this.CHK_HackedStats.AutoSize = true; + this.CHK_HackedStats.Enabled = false; + this.CHK_HackedStats.Location = new System.Drawing.Point(0, 3); + this.CHK_HackedStats.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_HackedStats.Name = "CHK_HackedStats"; + this.CHK_HackedStats.Size = new System.Drawing.Size(91, 17); + this.CHK_HackedStats.TabIndex = 18; + this.CHK_HackedStats.Text = "Hacked Stats"; + this.CHK_HackedStats.UseVisualStyleBackColor = true; + this.CHK_HackedStats.Visible = false; + this.CHK_HackedStats.Click += new System.EventHandler(this.updateHackedStats); + // + // FLP_StatsHeaderRight + // + this.FLP_StatsHeaderRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_StatsHeaderRight.Controls.Add(this.Label_IVs); + this.FLP_StatsHeaderRight.Controls.Add(this.Label_EVs); + this.FLP_StatsHeaderRight.Controls.Add(this.Label_Stats); + this.FLP_StatsHeaderRight.Location = new System.Drawing.Point(107, 0); + this.FLP_StatsHeaderRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_StatsHeaderRight.Name = "FLP_StatsHeaderRight"; + this.FLP_StatsHeaderRight.Size = new System.Drawing.Size(162, 21); + this.FLP_StatsHeaderRight.TabIndex = 123; + // + // Label_IVs + // + this.Label_IVs.Location = new System.Drawing.Point(0, 0); + this.Label_IVs.Margin = new System.Windows.Forms.Padding(0); + this.Label_IVs.Name = "Label_IVs"; + this.Label_IVs.Size = new System.Drawing.Size(30, 21); + this.Label_IVs.TabIndex = 29; + this.Label_IVs.Text = "IVs"; + this.Label_IVs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_EVs + // + this.Label_EVs.Location = new System.Drawing.Point(30, 0); + this.Label_EVs.Margin = new System.Windows.Forms.Padding(0); + this.Label_EVs.Name = "Label_EVs"; + this.Label_EVs.Size = new System.Drawing.Size(35, 21); + this.Label_EVs.TabIndex = 27; + this.Label_EVs.Text = "EVs"; + this.Label_EVs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_Stats + // + this.Label_Stats.Location = new System.Drawing.Point(65, 0); + this.Label_Stats.Margin = new System.Windows.Forms.Padding(0); + this.Label_Stats.Name = "Label_Stats"; + this.Label_Stats.Size = new System.Drawing.Size(35, 21); + this.Label_Stats.TabIndex = 28; + this.Label_Stats.Text = "Stats"; + this.Label_Stats.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // FLP_HP + // + this.FLP_HP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_HP.Controls.Add(this.Label_HP); + this.FLP_HP.Controls.Add(this.FLP_HPRight); + this.FLP_HP.Location = new System.Drawing.Point(0, 22); + this.FLP_HP.Margin = new System.Windows.Forms.Padding(0); + this.FLP_HP.Name = "FLP_HP"; + this.FLP_HP.Size = new System.Drawing.Size(272, 21); + this.FLP_HP.TabIndex = 123; + // + // Label_HP + // + this.Label_HP.Location = new System.Drawing.Point(0, 0); + this.Label_HP.Margin = new System.Windows.Forms.Padding(0); + this.Label_HP.Name = "Label_HP"; + this.Label_HP.Size = new System.Drawing.Size(110, 21); + this.Label_HP.TabIndex = 19; + this.Label_HP.Text = "HP:"; + this.Label_HP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_HP.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // FLP_HPRight + // + this.FLP_HPRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_HPRight.Controls.Add(this.TB_HPIV); + this.FLP_HPRight.Controls.Add(this.TB_HPEV); + this.FLP_HPRight.Controls.Add(this.Stat_HP); + this.FLP_HPRight.Location = new System.Drawing.Point(110, 0); + this.FLP_HPRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_HPRight.Name = "FLP_HPRight"; + this.FLP_HPRight.Size = new System.Drawing.Size(162, 21); + this.FLP_HPRight.TabIndex = 121; + // + // TB_HPIV + // + this.TB_HPIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_HPIV.Location = new System.Drawing.Point(0, 0); + this.TB_HPIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_HPIV.Mask = "00"; + this.TB_HPIV.Name = "TB_HPIV"; + this.TB_HPIV.Size = new System.Drawing.Size(22, 20); + this.TB_HPIV.TabIndex = 1; + this.TB_HPIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_HPIV.Click += new System.EventHandler(this.clickIV); + this.TB_HPIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_HPEV + // + this.TB_HPEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_HPEV.Location = new System.Drawing.Point(28, 0); + this.TB_HPEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_HPEV.Mask = "000"; + this.TB_HPEV.Name = "TB_HPEV"; + this.TB_HPEV.Size = new System.Drawing.Size(28, 20); + this.TB_HPEV.TabIndex = 7; + this.TB_HPEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_HPEV.Click += new System.EventHandler(this.clickEV); + this.TB_HPEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_HP + // + this.Stat_HP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_HP.Enabled = false; + this.Stat_HP.Location = new System.Drawing.Point(62, 0); + this.Stat_HP.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_HP.Mask = "00000"; + this.Stat_HP.Name = "Stat_HP"; + this.Stat_HP.PromptChar = ' '; + this.Stat_HP.Size = new System.Drawing.Size(37, 20); + this.Stat_HP.TabIndex = 45; + this.Stat_HP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_HP.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_Atk + // + this.FLP_Atk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Atk.Controls.Add(this.Label_ATK); + this.FLP_Atk.Controls.Add(this.FLP_AtkRight); + this.FLP_Atk.Location = new System.Drawing.Point(0, 43); + this.FLP_Atk.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Atk.Name = "FLP_Atk"; + this.FLP_Atk.Size = new System.Drawing.Size(272, 21); + this.FLP_Atk.TabIndex = 124; + // + // Label_ATK + // + this.Label_ATK.Location = new System.Drawing.Point(0, 0); + this.Label_ATK.Margin = new System.Windows.Forms.Padding(0); + this.Label_ATK.Name = "Label_ATK"; + this.Label_ATK.Size = new System.Drawing.Size(110, 21); + this.Label_ATK.TabIndex = 20; + this.Label_ATK.Text = "Atk:"; + this.Label_ATK.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_ATK.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // FLP_AtkRight + // + this.FLP_AtkRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_AtkRight.Controls.Add(this.TB_ATKIV); + this.FLP_AtkRight.Controls.Add(this.TB_ATKEV); + this.FLP_AtkRight.Controls.Add(this.Stat_ATK); + this.FLP_AtkRight.Location = new System.Drawing.Point(110, 0); + this.FLP_AtkRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_AtkRight.Name = "FLP_AtkRight"; + this.FLP_AtkRight.Size = new System.Drawing.Size(162, 21); + this.FLP_AtkRight.TabIndex = 123; + // + // TB_ATKIV + // + this.TB_ATKIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_ATKIV.Location = new System.Drawing.Point(0, 0); + this.TB_ATKIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_ATKIV.Mask = "00"; + this.TB_ATKIV.Name = "TB_ATKIV"; + this.TB_ATKIV.Size = new System.Drawing.Size(22, 20); + this.TB_ATKIV.TabIndex = 2; + this.TB_ATKIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_ATKIV.Click += new System.EventHandler(this.clickIV); + this.TB_ATKIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_ATKEV + // + this.TB_ATKEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_ATKEV.Location = new System.Drawing.Point(28, 0); + this.TB_ATKEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_ATKEV.Mask = "000"; + this.TB_ATKEV.Name = "TB_ATKEV"; + this.TB_ATKEV.Size = new System.Drawing.Size(28, 20); + this.TB_ATKEV.TabIndex = 8; + this.TB_ATKEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_ATKEV.Click += new System.EventHandler(this.clickEV); + this.TB_ATKEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_ATK + // + this.Stat_ATK.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_ATK.Enabled = false; + this.Stat_ATK.Location = new System.Drawing.Point(62, 0); + this.Stat_ATK.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_ATK.Mask = "00000"; + this.Stat_ATK.Name = "Stat_ATK"; + this.Stat_ATK.PromptChar = ' '; + this.Stat_ATK.Size = new System.Drawing.Size(37, 20); + this.Stat_ATK.TabIndex = 46; + this.Stat_ATK.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_ATK.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_Def + // + this.FLP_Def.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Def.Controls.Add(this.Label_DEF); + this.FLP_Def.Controls.Add(this.FLP_DefRight); + this.FLP_Def.Location = new System.Drawing.Point(0, 64); + this.FLP_Def.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Def.Name = "FLP_Def"; + this.FLP_Def.Size = new System.Drawing.Size(272, 21); + this.FLP_Def.TabIndex = 125; + // + // Label_DEF + // + this.Label_DEF.Location = new System.Drawing.Point(0, 0); + this.Label_DEF.Margin = new System.Windows.Forms.Padding(0); + this.Label_DEF.Name = "Label_DEF"; + this.Label_DEF.Size = new System.Drawing.Size(110, 21); + this.Label_DEF.TabIndex = 21; + this.Label_DEF.Text = "Def:"; + this.Label_DEF.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_DEF.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // FLP_DefRight + // + this.FLP_DefRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_DefRight.Controls.Add(this.TB_DEFIV); + this.FLP_DefRight.Controls.Add(this.TB_DEFEV); + this.FLP_DefRight.Controls.Add(this.Stat_DEF); + this.FLP_DefRight.Location = new System.Drawing.Point(110, 0); + this.FLP_DefRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_DefRight.Name = "FLP_DefRight"; + this.FLP_DefRight.Size = new System.Drawing.Size(162, 21); + this.FLP_DefRight.TabIndex = 123; + // + // TB_DEFIV + // + this.TB_DEFIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_DEFIV.Location = new System.Drawing.Point(0, 0); + this.TB_DEFIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_DEFIV.Mask = "00"; + this.TB_DEFIV.Name = "TB_DEFIV"; + this.TB_DEFIV.Size = new System.Drawing.Size(22, 20); + this.TB_DEFIV.TabIndex = 3; + this.TB_DEFIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_DEFIV.Click += new System.EventHandler(this.clickIV); + this.TB_DEFIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_DEFEV + // + this.TB_DEFEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_DEFEV.Location = new System.Drawing.Point(28, 0); + this.TB_DEFEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_DEFEV.Mask = "000"; + this.TB_DEFEV.Name = "TB_DEFEV"; + this.TB_DEFEV.Size = new System.Drawing.Size(28, 20); + this.TB_DEFEV.TabIndex = 9; + this.TB_DEFEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_DEFEV.Click += new System.EventHandler(this.clickEV); + this.TB_DEFEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_DEF + // + this.Stat_DEF.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_DEF.Enabled = false; + this.Stat_DEF.Location = new System.Drawing.Point(62, 0); + this.Stat_DEF.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_DEF.Mask = "00000"; + this.Stat_DEF.Name = "Stat_DEF"; + this.Stat_DEF.PromptChar = ' '; + this.Stat_DEF.Size = new System.Drawing.Size(37, 20); + this.Stat_DEF.TabIndex = 47; + this.Stat_DEF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_DEF.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_SpA + // + this.FLP_SpA.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SpA.Controls.Add(this.FLP_SpALeft); + this.FLP_SpA.Controls.Add(this.FLP_SpARight); + this.FLP_SpA.Location = new System.Drawing.Point(0, 85); + this.FLP_SpA.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpA.Name = "FLP_SpA"; + this.FLP_SpA.Size = new System.Drawing.Size(272, 21); + this.FLP_SpA.TabIndex = 126; + // + // FLP_SpALeft + // + this.FLP_SpALeft.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.FLP_SpALeft.Controls.Add(this.Label_SPA); + this.FLP_SpALeft.Controls.Add(this.Label_SPC); + this.FLP_SpALeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_SpALeft.Location = new System.Drawing.Point(0, 0); + this.FLP_SpALeft.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpALeft.Name = "FLP_SpALeft"; + this.FLP_SpALeft.Size = new System.Drawing.Size(110, 21); + this.FLP_SpALeft.TabIndex = 124; + // + // Label_SPA + // + this.Label_SPA.Location = new System.Drawing.Point(0, 0); + this.Label_SPA.Margin = new System.Windows.Forms.Padding(0); + this.Label_SPA.Name = "Label_SPA"; + this.Label_SPA.Size = new System.Drawing.Size(110, 21); + this.Label_SPA.TabIndex = 22; + this.Label_SPA.Text = "SpA:"; + this.Label_SPA.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_SPA.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // Label_SPC + // + this.Label_SPC.Location = new System.Drawing.Point(0, 21); + this.Label_SPC.Margin = new System.Windows.Forms.Padding(0); + this.Label_SPC.Name = "Label_SPC"; + this.Label_SPC.Size = new System.Drawing.Size(110, 21); + this.Label_SPC.TabIndex = 125; + this.Label_SPC.Text = "SpC:"; + this.Label_SPC.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_SpARight + // + this.FLP_SpARight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SpARight.Controls.Add(this.TB_SPAIV); + this.FLP_SpARight.Controls.Add(this.TB_SPAEV); + this.FLP_SpARight.Controls.Add(this.Stat_SPA); + this.FLP_SpARight.Location = new System.Drawing.Point(110, 0); + this.FLP_SpARight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpARight.Name = "FLP_SpARight"; + this.FLP_SpARight.Size = new System.Drawing.Size(162, 21); + this.FLP_SpARight.TabIndex = 123; + // + // TB_SPAIV + // + this.TB_SPAIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPAIV.Location = new System.Drawing.Point(0, 0); + this.TB_SPAIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_SPAIV.Mask = "00"; + this.TB_SPAIV.Name = "TB_SPAIV"; + this.TB_SPAIV.Size = new System.Drawing.Size(22, 20); + this.TB_SPAIV.TabIndex = 4; + this.TB_SPAIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPAIV.Click += new System.EventHandler(this.clickIV); + this.TB_SPAIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_SPAEV + // + this.TB_SPAEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPAEV.Location = new System.Drawing.Point(28, 0); + this.TB_SPAEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_SPAEV.Mask = "000"; + this.TB_SPAEV.Name = "TB_SPAEV"; + this.TB_SPAEV.Size = new System.Drawing.Size(28, 20); + this.TB_SPAEV.TabIndex = 10; + this.TB_SPAEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPAEV.Click += new System.EventHandler(this.clickEV); + this.TB_SPAEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_SPA + // + this.Stat_SPA.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_SPA.Enabled = false; + this.Stat_SPA.Location = new System.Drawing.Point(62, 0); + this.Stat_SPA.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_SPA.Mask = "00000"; + this.Stat_SPA.Name = "Stat_SPA"; + this.Stat_SPA.PromptChar = ' '; + this.Stat_SPA.Size = new System.Drawing.Size(37, 20); + this.Stat_SPA.TabIndex = 48; + this.Stat_SPA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_SPA.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_SpD + // + this.FLP_SpD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SpD.Controls.Add(this.Label_SPD); + this.FLP_SpD.Controls.Add(this.FLP_SpDRight); + this.FLP_SpD.Location = new System.Drawing.Point(0, 106); + this.FLP_SpD.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpD.Name = "FLP_SpD"; + this.FLP_SpD.Size = new System.Drawing.Size(272, 21); + this.FLP_SpD.TabIndex = 127; + // + // Label_SPD + // + this.Label_SPD.Location = new System.Drawing.Point(0, 0); + this.Label_SPD.Margin = new System.Windows.Forms.Padding(0); + this.Label_SPD.Name = "Label_SPD"; + this.Label_SPD.Size = new System.Drawing.Size(110, 21); + this.Label_SPD.TabIndex = 23; + this.Label_SPD.Text = "SpD:"; + this.Label_SPD.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_SPD.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // FLP_SpDRight + // + this.FLP_SpDRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SpDRight.Controls.Add(this.TB_SPDIV); + this.FLP_SpDRight.Controls.Add(this.TB_SPDEV); + this.FLP_SpDRight.Controls.Add(this.Stat_SPD); + this.FLP_SpDRight.Location = new System.Drawing.Point(110, 0); + this.FLP_SpDRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpDRight.Name = "FLP_SpDRight"; + this.FLP_SpDRight.Size = new System.Drawing.Size(162, 21); + this.FLP_SpDRight.TabIndex = 123; + // + // TB_SPDIV + // + this.TB_SPDIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPDIV.Location = new System.Drawing.Point(0, 0); + this.TB_SPDIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_SPDIV.Mask = "00"; + this.TB_SPDIV.Name = "TB_SPDIV"; + this.TB_SPDIV.Size = new System.Drawing.Size(22, 20); + this.TB_SPDIV.TabIndex = 5; + this.TB_SPDIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPDIV.Click += new System.EventHandler(this.clickIV); + this.TB_SPDIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_SPDEV + // + this.TB_SPDEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPDEV.Location = new System.Drawing.Point(28, 0); + this.TB_SPDEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_SPDEV.Mask = "000"; + this.TB_SPDEV.Name = "TB_SPDEV"; + this.TB_SPDEV.Size = new System.Drawing.Size(28, 20); + this.TB_SPDEV.TabIndex = 11; + this.TB_SPDEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPDEV.Click += new System.EventHandler(this.clickEV); + this.TB_SPDEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_SPD + // + this.Stat_SPD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_SPD.Enabled = false; + this.Stat_SPD.Location = new System.Drawing.Point(62, 0); + this.Stat_SPD.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_SPD.Mask = "00000"; + this.Stat_SPD.Name = "Stat_SPD"; + this.Stat_SPD.PromptChar = ' '; + this.Stat_SPD.Size = new System.Drawing.Size(37, 20); + this.Stat_SPD.TabIndex = 49; + this.Stat_SPD.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_SPD.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_Spe + // + this.FLP_Spe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Spe.Controls.Add(this.Label_SPE); + this.FLP_Spe.Controls.Add(this.FLP_SpeRight); + this.FLP_Spe.Location = new System.Drawing.Point(0, 127); + this.FLP_Spe.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Spe.Name = "FLP_Spe"; + this.FLP_Spe.Size = new System.Drawing.Size(272, 21); + this.FLP_Spe.TabIndex = 128; + // + // Label_SPE + // + this.Label_SPE.Location = new System.Drawing.Point(0, 0); + this.Label_SPE.Margin = new System.Windows.Forms.Padding(0); + this.Label_SPE.Name = "Label_SPE"; + this.Label_SPE.Size = new System.Drawing.Size(110, 21); + this.Label_SPE.TabIndex = 24; + this.Label_SPE.Text = "Spe:"; + this.Label_SPE.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_SPE.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); + // + // FLP_SpeRight + // + this.FLP_SpeRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SpeRight.Controls.Add(this.TB_SPEIV); + this.FLP_SpeRight.Controls.Add(this.TB_SPEEV); + this.FLP_SpeRight.Controls.Add(this.Stat_SPE); + this.FLP_SpeRight.Location = new System.Drawing.Point(110, 0); + this.FLP_SpeRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_SpeRight.Name = "FLP_SpeRight"; + this.FLP_SpeRight.Size = new System.Drawing.Size(162, 21); + this.FLP_SpeRight.TabIndex = 123; + // + // TB_SPEIV + // + this.TB_SPEIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPEIV.Location = new System.Drawing.Point(0, 0); + this.TB_SPEIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_SPEIV.Mask = "00"; + this.TB_SPEIV.Name = "TB_SPEIV"; + this.TB_SPEIV.Size = new System.Drawing.Size(22, 20); + this.TB_SPEIV.TabIndex = 6; + this.TB_SPEIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPEIV.Click += new System.EventHandler(this.clickIV); + this.TB_SPEIV.TextChanged += new System.EventHandler(this.updateIVs); + // + // TB_SPEEV + // + this.TB_SPEEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SPEEV.Location = new System.Drawing.Point(28, 0); + this.TB_SPEEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_SPEEV.Mask = "000"; + this.TB_SPEEV.Name = "TB_SPEEV"; + this.TB_SPEEV.Size = new System.Drawing.Size(28, 20); + this.TB_SPEEV.TabIndex = 12; + this.TB_SPEEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SPEEV.Click += new System.EventHandler(this.clickEV); + this.TB_SPEEV.TextChanged += new System.EventHandler(this.updateEVs); + // + // Stat_SPE + // + this.Stat_SPE.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.Stat_SPE.Enabled = false; + this.Stat_SPE.Location = new System.Drawing.Point(62, 0); + this.Stat_SPE.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.Stat_SPE.Mask = "00000"; + this.Stat_SPE.Name = "Stat_SPE"; + this.Stat_SPE.PromptChar = ' '; + this.Stat_SPE.Size = new System.Drawing.Size(37, 20); + this.Stat_SPE.TabIndex = 50; + this.Stat_SPE.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.Stat_SPE.TextChanged += new System.EventHandler(this.updateHackedStatText); + // + // FLP_StatsTotal + // + this.FLP_StatsTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_StatsTotal.Controls.Add(this.Label_Total); + this.FLP_StatsTotal.Controls.Add(this.FLP_StatsTotalRight); + this.FLP_StatsTotal.Location = new System.Drawing.Point(0, 148); + this.FLP_StatsTotal.Margin = new System.Windows.Forms.Padding(0); + this.FLP_StatsTotal.Name = "FLP_StatsTotal"; + this.FLP_StatsTotal.Size = new System.Drawing.Size(272, 21); + this.FLP_StatsTotal.TabIndex = 129; + // + // Label_Total + // + this.Label_Total.Location = new System.Drawing.Point(0, 0); + this.Label_Total.Margin = new System.Windows.Forms.Padding(0); + this.Label_Total.Name = "Label_Total"; + this.Label_Total.Size = new System.Drawing.Size(110, 21); + this.Label_Total.TabIndex = 25; + this.Label_Total.Text = "Total:"; + this.Label_Total.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // FLP_StatsTotalRight + // + this.FLP_StatsTotalRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_StatsTotalRight.Controls.Add(this.TB_IVTotal); + this.FLP_StatsTotalRight.Controls.Add(this.TB_EVTotal); + this.FLP_StatsTotalRight.Controls.Add(this.L_Potential); + this.FLP_StatsTotalRight.Location = new System.Drawing.Point(110, 0); + this.FLP_StatsTotalRight.Margin = new System.Windows.Forms.Padding(0); + this.FLP_StatsTotalRight.Name = "FLP_StatsTotalRight"; + this.FLP_StatsTotalRight.Size = new System.Drawing.Size(162, 21); + this.FLP_StatsTotalRight.TabIndex = 123; + // + // TB_IVTotal + // + this.TB_IVTotal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_IVTotal.Location = new System.Drawing.Point(0, 0); + this.TB_IVTotal.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); + this.TB_IVTotal.MaxLength = 3; + this.TB_IVTotal.Name = "TB_IVTotal"; + this.TB_IVTotal.ReadOnly = true; + this.TB_IVTotal.Size = new System.Drawing.Size(22, 20); + this.TB_IVTotal.TabIndex = 41; + this.TB_IVTotal.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // TB_EVTotal + // + this.TB_EVTotal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_EVTotal.Location = new System.Drawing.Point(28, 0); + this.TB_EVTotal.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); + this.TB_EVTotal.MaxLength = 3; + this.TB_EVTotal.Name = "TB_EVTotal"; + this.TB_EVTotal.ReadOnly = true; + this.TB_EVTotal.Size = new System.Drawing.Size(28, 20); + this.TB_EVTotal.TabIndex = 18; + this.TB_EVTotal.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // L_Potential + // + this.L_Potential.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.L_Potential.Location = new System.Drawing.Point(59, 0); + this.L_Potential.Margin = new System.Windows.Forms.Padding(0); + this.L_Potential.Name = "L_Potential"; + this.L_Potential.Size = new System.Drawing.Size(67, 21); + this.L_Potential.TabIndex = 42; + this.L_Potential.Text = "(potential)"; + this.L_Potential.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // FLP_HPType + // + this.FLP_HPType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_HPType.Controls.Add(this.Label_HiddenPowerPrefix); + this.FLP_HPType.Controls.Add(this.CB_HPType); + this.FLP_HPType.Location = new System.Drawing.Point(0, 169); + this.FLP_HPType.Margin = new System.Windows.Forms.Padding(0); + this.FLP_HPType.Name = "FLP_HPType"; + this.FLP_HPType.Size = new System.Drawing.Size(272, 21); + this.FLP_HPType.TabIndex = 130; + // + // Label_HiddenPowerPrefix + // + this.Label_HiddenPowerPrefix.Location = new System.Drawing.Point(0, 0); + this.Label_HiddenPowerPrefix.Margin = new System.Windows.Forms.Padding(0); + this.Label_HiddenPowerPrefix.Name = "Label_HiddenPowerPrefix"; + this.Label_HiddenPowerPrefix.Size = new System.Drawing.Size(172, 21); + this.Label_HiddenPowerPrefix.TabIndex = 29; + this.Label_HiddenPowerPrefix.Text = "Hidden Power Type:"; + this.Label_HiddenPowerPrefix.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CB_HPType + // + this.CB_HPType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_HPType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HPType.DropDownWidth = 80; + this.CB_HPType.FormattingEnabled = true; + this.CB_HPType.Location = new System.Drawing.Point(172, 0); + this.CB_HPType.Margin = new System.Windows.Forms.Padding(0); + this.CB_HPType.Name = "CB_HPType"; + this.CB_HPType.Size = new System.Drawing.Size(70, 21); + this.CB_HPType.TabIndex = 44; + this.CB_HPType.SelectedIndexChanged += new System.EventHandler(this.updateHPType); + // + // FLP_Characteristic + // + this.FLP_Characteristic.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_Characteristic.Controls.Add(this.Label_CharacteristicPrefix); + this.FLP_Characteristic.Controls.Add(this.L_Characteristic); + this.FLP_Characteristic.Location = new System.Drawing.Point(0, 190); + this.FLP_Characteristic.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Characteristic.Name = "FLP_Characteristic"; + this.FLP_Characteristic.Size = new System.Drawing.Size(272, 21); + this.FLP_Characteristic.TabIndex = 131; + // + // Label_CharacteristicPrefix + // + this.Label_CharacteristicPrefix.Location = new System.Drawing.Point(0, 0); + this.Label_CharacteristicPrefix.Margin = new System.Windows.Forms.Padding(0); + this.Label_CharacteristicPrefix.Name = "Label_CharacteristicPrefix"; + this.Label_CharacteristicPrefix.Size = new System.Drawing.Size(110, 21); + this.Label_CharacteristicPrefix.TabIndex = 43; + this.Label_CharacteristicPrefix.Text = "Characteristic:"; + this.Label_CharacteristicPrefix.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // L_Characteristic + // + this.L_Characteristic.Location = new System.Drawing.Point(110, 0); + this.L_Characteristic.Margin = new System.Windows.Forms.Padding(0); + this.L_Characteristic.Name = "L_Characteristic"; + this.L_Characteristic.Size = new System.Drawing.Size(150, 21); + this.L_Characteristic.TabIndex = 40; + this.L_Characteristic.Text = "(char)"; + this.L_Characteristic.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // BTN_RandomEVs + // + this.BTN_RandomEVs.Location = new System.Drawing.Point(140, 218); + this.BTN_RandomEVs.Name = "BTN_RandomEVs"; + this.BTN_RandomEVs.Size = new System.Drawing.Size(92, 23); + this.BTN_RandomEVs.TabIndex = 14; + this.BTN_RandomEVs.Text = "Randomize EVs"; + this.BTN_RandomEVs.UseVisualStyleBackColor = true; + this.BTN_RandomEVs.Click += new System.EventHandler(this.updateRandomEVs); + // + // BTN_RandomIVs + // + this.BTN_RandomIVs.Location = new System.Drawing.Point(41, 218); + this.BTN_RandomIVs.Name = "BTN_RandomIVs"; + this.BTN_RandomIVs.Size = new System.Drawing.Size(92, 23); + this.BTN_RandomIVs.TabIndex = 13; + this.BTN_RandomIVs.Text = "Randomize IVs"; + this.BTN_RandomIVs.UseVisualStyleBackColor = true; + this.BTN_RandomIVs.Click += new System.EventHandler(this.updateRandomIVs); + // + // Tab_Attacks + // + this.Tab_Attacks.AllowDrop = true; + this.Tab_Attacks.Controls.Add(this.PB_WarnMove4); + this.Tab_Attacks.Controls.Add(this.PB_WarnMove3); + this.Tab_Attacks.Controls.Add(this.PB_WarnMove2); + this.Tab_Attacks.Controls.Add(this.PB_WarnMove1); + this.Tab_Attacks.Controls.Add(this.GB_RelearnMoves); + this.Tab_Attacks.Controls.Add(this.GB_CurrentMoves); + this.Tab_Attacks.Location = new System.Drawing.Point(4, 22); + this.Tab_Attacks.Name = "Tab_Attacks"; + this.Tab_Attacks.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Attacks.Size = new System.Drawing.Size(272, 394); + this.Tab_Attacks.TabIndex = 3; + this.Tab_Attacks.Text = "Attacks"; + this.Tab_Attacks.UseVisualStyleBackColor = true; + // + // PB_WarnMove4 + // + this.PB_WarnMove4.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove4.Image"))); + this.PB_WarnMove4.Location = new System.Drawing.Point(8, 113); + this.PB_WarnMove4.Name = "PB_WarnMove4"; + this.PB_WarnMove4.Size = new System.Drawing.Size(16, 16); + this.PB_WarnMove4.TabIndex = 5; + this.PB_WarnMove4.TabStop = false; + this.PB_WarnMove4.Visible = false; + // + // PB_WarnMove3 + // + this.PB_WarnMove3.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove3.Image"))); + this.PB_WarnMove3.Location = new System.Drawing.Point(8, 91); + this.PB_WarnMove3.Name = "PB_WarnMove3"; + this.PB_WarnMove3.Size = new System.Drawing.Size(16, 16); + this.PB_WarnMove3.TabIndex = 4; + this.PB_WarnMove3.TabStop = false; + this.PB_WarnMove3.Visible = false; + // + // PB_WarnMove2 + // + this.PB_WarnMove2.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove2.Image"))); + this.PB_WarnMove2.Location = new System.Drawing.Point(8, 69); + this.PB_WarnMove2.Name = "PB_WarnMove2"; + this.PB_WarnMove2.Size = new System.Drawing.Size(16, 16); + this.PB_WarnMove2.TabIndex = 3; + this.PB_WarnMove2.TabStop = false; + this.PB_WarnMove2.Visible = false; + // + // PB_WarnMove1 + // + this.PB_WarnMove1.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove1.Image"))); + this.PB_WarnMove1.Location = new System.Drawing.Point(8, 47); + this.PB_WarnMove1.Name = "PB_WarnMove1"; + this.PB_WarnMove1.Size = new System.Drawing.Size(16, 16); + this.PB_WarnMove1.TabIndex = 2; + this.PB_WarnMove1.TabStop = false; + this.PB_WarnMove1.Visible = false; + // + // GB_RelearnMoves + // + this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn4); + this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn3); + this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn2); + this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn1); + this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove4); + this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove3); + this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove2); + this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove1); + this.GB_RelearnMoves.Location = new System.Drawing.Point(25, 160); + this.GB_RelearnMoves.Name = "GB_RelearnMoves"; + this.GB_RelearnMoves.Size = new System.Drawing.Size(220, 120); + this.GB_RelearnMoves.TabIndex = 1; + this.GB_RelearnMoves.TabStop = false; + this.GB_RelearnMoves.Text = "Relearn Moves"; + // + // PB_WarnRelearn4 + // + this.PB_WarnRelearn4.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn4.Image"))); + this.PB_WarnRelearn4.Location = new System.Drawing.Point(22, 93); + this.PB_WarnRelearn4.Name = "PB_WarnRelearn4"; + this.PB_WarnRelearn4.Size = new System.Drawing.Size(16, 16); + this.PB_WarnRelearn4.TabIndex = 19; + this.PB_WarnRelearn4.TabStop = false; + this.PB_WarnRelearn4.Visible = false; + // + // PB_WarnRelearn3 + // + this.PB_WarnRelearn3.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn3.Image"))); + this.PB_WarnRelearn3.Location = new System.Drawing.Point(22, 71); + this.PB_WarnRelearn3.Name = "PB_WarnRelearn3"; + this.PB_WarnRelearn3.Size = new System.Drawing.Size(16, 16); + this.PB_WarnRelearn3.TabIndex = 18; + this.PB_WarnRelearn3.TabStop = false; + this.PB_WarnRelearn3.Visible = false; + // + // PB_WarnRelearn2 + // + this.PB_WarnRelearn2.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn2.Image"))); + this.PB_WarnRelearn2.Location = new System.Drawing.Point(22, 49); + this.PB_WarnRelearn2.Name = "PB_WarnRelearn2"; + this.PB_WarnRelearn2.Size = new System.Drawing.Size(16, 16); + this.PB_WarnRelearn2.TabIndex = 17; + this.PB_WarnRelearn2.TabStop = false; + this.PB_WarnRelearn2.Visible = false; + // + // PB_WarnRelearn1 + // + this.PB_WarnRelearn1.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn1.Image"))); + this.PB_WarnRelearn1.Location = new System.Drawing.Point(22, 27); + this.PB_WarnRelearn1.Name = "PB_WarnRelearn1"; + this.PB_WarnRelearn1.Size = new System.Drawing.Size(16, 16); + this.PB_WarnRelearn1.TabIndex = 6; + this.PB_WarnRelearn1.TabStop = false; + this.PB_WarnRelearn1.Visible = false; + // + // CB_RelearnMove4 + // + this.CB_RelearnMove4.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_RelearnMove4.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_RelearnMove4.FormattingEnabled = true; + this.CB_RelearnMove4.Location = new System.Drawing.Point(48, 91); + this.CB_RelearnMove4.Name = "CB_RelearnMove4"; + this.CB_RelearnMove4.Size = new System.Drawing.Size(124, 21); + this.CB_RelearnMove4.TabIndex = 16; + this.CB_RelearnMove4.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_RelearnMove4.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_RelearnMove4.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_RelearnMove4.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_RelearnMove3 + // + this.CB_RelearnMove3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_RelearnMove3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_RelearnMove3.FormattingEnabled = true; + this.CB_RelearnMove3.Location = new System.Drawing.Point(48, 69); + this.CB_RelearnMove3.Name = "CB_RelearnMove3"; + this.CB_RelearnMove3.Size = new System.Drawing.Size(124, 21); + this.CB_RelearnMove3.TabIndex = 15; + this.CB_RelearnMove3.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_RelearnMove3.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_RelearnMove3.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_RelearnMove3.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_RelearnMove2 + // + this.CB_RelearnMove2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_RelearnMove2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_RelearnMove2.FormattingEnabled = true; + this.CB_RelearnMove2.Location = new System.Drawing.Point(48, 47); + this.CB_RelearnMove2.Name = "CB_RelearnMove2"; + this.CB_RelearnMove2.Size = new System.Drawing.Size(124, 21); + this.CB_RelearnMove2.TabIndex = 14; + this.CB_RelearnMove2.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_RelearnMove2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_RelearnMove2.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_RelearnMove2.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_RelearnMove1 + // + this.CB_RelearnMove1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_RelearnMove1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_RelearnMove1.FormattingEnabled = true; + this.CB_RelearnMove1.Location = new System.Drawing.Point(48, 25); + this.CB_RelearnMove1.Name = "CB_RelearnMove1"; + this.CB_RelearnMove1.Size = new System.Drawing.Size(124, 21); + this.CB_RelearnMove1.TabIndex = 13; + this.CB_RelearnMove1.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_RelearnMove1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_RelearnMove1.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_RelearnMove1.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // GB_CurrentMoves + // + this.GB_CurrentMoves.Controls.Add(this.TB_PP4); + this.GB_CurrentMoves.Controls.Add(this.TB_PP3); + this.GB_CurrentMoves.Controls.Add(this.TB_PP2); + this.GB_CurrentMoves.Controls.Add(this.TB_PP1); + this.GB_CurrentMoves.Controls.Add(this.Label_CurPP); + this.GB_CurrentMoves.Controls.Add(this.Label_PPups); + this.GB_CurrentMoves.Controls.Add(this.CB_PPu4); + this.GB_CurrentMoves.Controls.Add(this.CB_PPu3); + this.GB_CurrentMoves.Controls.Add(this.CB_PPu2); + this.GB_CurrentMoves.Controls.Add(this.CB_Move4); + this.GB_CurrentMoves.Controls.Add(this.CB_PPu1); + this.GB_CurrentMoves.Controls.Add(this.CB_Move3); + this.GB_CurrentMoves.Controls.Add(this.CB_Move2); + this.GB_CurrentMoves.Controls.Add(this.CB_Move1); + this.GB_CurrentMoves.Location = new System.Drawing.Point(27, 19); + this.GB_CurrentMoves.Name = "GB_CurrentMoves"; + this.GB_CurrentMoves.Size = new System.Drawing.Size(220, 120); + this.GB_CurrentMoves.TabIndex = 0; + this.GB_CurrentMoves.TabStop = false; + this.GB_CurrentMoves.Text = "Current Moves"; + // + // TB_PP4 + // + this.TB_PP4.Location = new System.Drawing.Point(135, 93); + this.TB_PP4.Mask = "000"; + this.TB_PP4.Name = "TB_PP4"; + this.TB_PP4.PromptChar = ' '; + this.TB_PP4.Size = new System.Drawing.Size(31, 20); + this.TB_PP4.TabIndex = 16; + this.TB_PP4.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_PP3 + // + this.TB_PP3.Location = new System.Drawing.Point(135, 71); + this.TB_PP3.Mask = "000"; + this.TB_PP3.Name = "TB_PP3"; + this.TB_PP3.PromptChar = ' '; + this.TB_PP3.Size = new System.Drawing.Size(31, 20); + this.TB_PP3.TabIndex = 15; + this.TB_PP3.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_PP2 + // + this.TB_PP2.Location = new System.Drawing.Point(135, 49); + this.TB_PP2.Mask = "000"; + this.TB_PP2.Name = "TB_PP2"; + this.TB_PP2.PromptChar = ' '; + this.TB_PP2.Size = new System.Drawing.Size(31, 20); + this.TB_PP2.TabIndex = 14; + this.TB_PP2.Validated += new System.EventHandler(this.update255_MTB); + // + // TB_PP1 + // + this.TB_PP1.Location = new System.Drawing.Point(135, 27); + this.TB_PP1.Mask = "000"; + this.TB_PP1.Name = "TB_PP1"; + this.TB_PP1.PromptChar = ' '; + this.TB_PP1.Size = new System.Drawing.Size(31, 20); + this.TB_PP1.TabIndex = 13; + this.TB_PP1.Validated += new System.EventHandler(this.update255_MTB); + // + // Label_CurPP + // + this.Label_CurPP.Location = new System.Drawing.Point(133, 12); + this.Label_CurPP.Name = "Label_CurPP"; + this.Label_CurPP.Size = new System.Drawing.Size(35, 13); + this.Label_CurPP.TabIndex = 2; + this.Label_CurPP.Text = "PP"; + this.Label_CurPP.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Label_PPups + // + this.Label_PPups.Location = new System.Drawing.Point(169, 12); + this.Label_PPups.Name = "Label_PPups"; + this.Label_PPups.Size = new System.Drawing.Size(45, 13); + this.Label_PPups.TabIndex = 12; + this.Label_PPups.Text = "PP Ups"; + this.Label_PPups.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.Label_PPups.Click += new System.EventHandler(this.clickPPUps); + // + // CB_PPu4 + // + this.CB_PPu4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PPu4.FormattingEnabled = true; + this.CB_PPu4.Items.AddRange(new object[] { + "0", + "1", + "2", + "3"}); + this.CB_PPu4.Location = new System.Drawing.Point(172, 92); + this.CB_PPu4.Name = "CB_PPu4"; + this.CB_PPu4.Size = new System.Drawing.Size(38, 21); + this.CB_PPu4.TabIndex = 12; + this.CB_PPu4.SelectedIndexChanged += new System.EventHandler(this.updatePP); + // + // CB_PPu3 + // + this.CB_PPu3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PPu3.FormattingEnabled = true; + this.CB_PPu3.Items.AddRange(new object[] { + "0", + "1", + "2", + "3"}); + this.CB_PPu3.Location = new System.Drawing.Point(172, 70); + this.CB_PPu3.Name = "CB_PPu3"; + this.CB_PPu3.Size = new System.Drawing.Size(38, 21); + this.CB_PPu3.TabIndex = 9; + this.CB_PPu3.SelectedIndexChanged += new System.EventHandler(this.updatePP); + // + // CB_PPu2 + // + this.CB_PPu2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PPu2.FormattingEnabled = true; + this.CB_PPu2.Items.AddRange(new object[] { + "0", + "1", + "2", + "3"}); + this.CB_PPu2.Location = new System.Drawing.Point(172, 48); + this.CB_PPu2.Name = "CB_PPu2"; + this.CB_PPu2.Size = new System.Drawing.Size(38, 21); + this.CB_PPu2.TabIndex = 6; + this.CB_PPu2.SelectedIndexChanged += new System.EventHandler(this.updatePP); + // + // CB_Move4 + // + this.CB_Move4.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Move4.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Move4.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.CB_Move4.FormattingEnabled = true; + this.CB_Move4.Location = new System.Drawing.Point(9, 92); + this.CB_Move4.Name = "CB_Move4"; + this.CB_Move4.Size = new System.Drawing.Size(121, 21); + this.CB_Move4.TabIndex = 10; + this.CB_Move4.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); + this.CB_Move4.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_Move4.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Move4.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_Move4.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_PPu1 + // + this.CB_PPu1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_PPu1.FormattingEnabled = true; + this.CB_PPu1.Items.AddRange(new object[] { + "0", + "1", + "2", + "3"}); + this.CB_PPu1.Location = new System.Drawing.Point(172, 26); + this.CB_PPu1.Name = "CB_PPu1"; + this.CB_PPu1.Size = new System.Drawing.Size(38, 21); + this.CB_PPu1.TabIndex = 3; + this.CB_PPu1.SelectedIndexChanged += new System.EventHandler(this.updatePP); + // + // CB_Move3 + // + this.CB_Move3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Move3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Move3.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.CB_Move3.FormattingEnabled = true; + this.CB_Move3.Location = new System.Drawing.Point(9, 70); + this.CB_Move3.Name = "CB_Move3"; + this.CB_Move3.Size = new System.Drawing.Size(121, 21); + this.CB_Move3.TabIndex = 7; + this.CB_Move3.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); + this.CB_Move3.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_Move3.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Move3.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_Move3.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_Move2 + // + this.CB_Move2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Move2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Move2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.CB_Move2.FormattingEnabled = true; + this.CB_Move2.Location = new System.Drawing.Point(9, 48); + this.CB_Move2.Name = "CB_Move2"; + this.CB_Move2.Size = new System.Drawing.Size(121, 21); + this.CB_Move2.TabIndex = 4; + this.CB_Move2.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); + this.CB_Move2.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_Move2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Move2.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_Move2.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // CB_Move1 + // + this.CB_Move1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.CB_Move1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Move1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.CB_Move1.FormattingEnabled = true; + this.CB_Move1.Location = new System.Drawing.Point(9, 26); + this.CB_Move1.Name = "CB_Move1"; + this.CB_Move1.Size = new System.Drawing.Size(121, 21); + this.CB_Move1.TabIndex = 1; + this.CB_Move1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); + this.CB_Move1.SelectedIndexChanged += new System.EventHandler(this.validateMove); + this.CB_Move1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); + this.CB_Move1.Leave += new System.EventHandler(this.validateComboBox2); + this.CB_Move1.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); + // + // Tab_OTMisc + // + this.Tab_OTMisc.AllowDrop = true; + this.Tab_OTMisc.Controls.Add(this.FLP_PKMEditors); + this.Tab_OTMisc.Controls.Add(this.TB_EC); + this.Tab_OTMisc.Controls.Add(this.GB_nOT); + this.Tab_OTMisc.Controls.Add(this.BTN_RerollEC); + this.Tab_OTMisc.Controls.Add(this.GB_Markings); + this.Tab_OTMisc.Controls.Add(this.GB_ExtraBytes); + this.Tab_OTMisc.Controls.Add(this.GB_OT); + this.Tab_OTMisc.Controls.Add(this.Label_EncryptionConstant); + this.Tab_OTMisc.Location = new System.Drawing.Point(4, 22); + this.Tab_OTMisc.Name = "Tab_OTMisc"; + this.Tab_OTMisc.Padding = new System.Windows.Forms.Padding(3); + this.Tab_OTMisc.Size = new System.Drawing.Size(272, 394); + this.Tab_OTMisc.TabIndex = 4; + this.Tab_OTMisc.Text = "OT/Misc"; + this.Tab_OTMisc.UseVisualStyleBackColor = true; + // + // FLP_PKMEditors + // + this.FLP_PKMEditors.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_PKMEditors.AutoSize = true; + this.FLP_PKMEditors.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.FLP_PKMEditors.Controls.Add(this.BTN_Ribbons); + this.FLP_PKMEditors.Controls.Add(this.BTN_Medals); + this.FLP_PKMEditors.Controls.Add(this.BTN_History); + this.FLP_PKMEditors.Location = new System.Drawing.Point(49, 245); + this.FLP_PKMEditors.Name = "FLP_PKMEditors"; + this.FLP_PKMEditors.Size = new System.Drawing.Size(175, 25); + this.FLP_PKMEditors.TabIndex = 9; + this.FLP_PKMEditors.WrapContents = false; + // + // BTN_Ribbons + // + this.BTN_Ribbons.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.BTN_Ribbons.AutoSize = true; + this.BTN_Ribbons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.BTN_Ribbons.Location = new System.Drawing.Point(1, 1); + this.BTN_Ribbons.Margin = new System.Windows.Forms.Padding(1); + this.BTN_Ribbons.Name = "BTN_Ribbons"; + this.BTN_Ribbons.Size = new System.Drawing.Size(56, 23); + this.BTN_Ribbons.TabIndex = 5; + this.BTN_Ribbons.Text = "Ribbons"; + this.BTN_Ribbons.UseVisualStyleBackColor = true; + this.BTN_Ribbons.Click += new System.EventHandler(this.openRibbons); + // + // BTN_Medals + // + this.BTN_Medals.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.BTN_Medals.AutoSize = true; + this.BTN_Medals.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.BTN_Medals.Location = new System.Drawing.Point(59, 1); + this.BTN_Medals.Margin = new System.Windows.Forms.Padding(1); + this.BTN_Medals.Name = "BTN_Medals"; + this.BTN_Medals.Size = new System.Drawing.Size(51, 23); + this.BTN_Medals.TabIndex = 7; + this.BTN_Medals.Text = "Medals"; + this.BTN_Medals.UseVisualStyleBackColor = true; + this.BTN_Medals.Click += new System.EventHandler(this.openMedals); + // + // BTN_History + // + this.BTN_History.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.BTN_History.AutoSize = true; + this.BTN_History.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.BTN_History.Location = new System.Drawing.Point(112, 1); + this.BTN_History.Margin = new System.Windows.Forms.Padding(1); + this.BTN_History.Name = "BTN_History"; + this.BTN_History.Size = new System.Drawing.Size(62, 23); + this.BTN_History.TabIndex = 6; + this.BTN_History.Text = "Memories"; + this.BTN_History.UseVisualStyleBackColor = true; + this.BTN_History.Click += new System.EventHandler(this.openHistory); + // + // TB_EC + // + this.TB_EC.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_EC.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_EC.Location = new System.Drawing.Point(176, 276); + this.TB_EC.MaxLength = 8; + this.TB_EC.Name = "TB_EC"; + this.TB_EC.Size = new System.Drawing.Size(60, 20); + this.TB_EC.TabIndex = 8; + this.TB_EC.Text = "12345678"; + this.TB_EC.Validated += new System.EventHandler(this.update_ID); + // + // GB_nOT + // + this.GB_nOT.Controls.Add(this.Label_CTGender); + this.GB_nOT.Controls.Add(this.TB_OTt2); + this.GB_nOT.Controls.Add(this.Label_PrevOT); + this.GB_nOT.Location = new System.Drawing.Point(40, 85); + this.GB_nOT.Name = "GB_nOT"; + this.GB_nOT.Size = new System.Drawing.Size(190, 50); + this.GB_nOT.TabIndex = 2; + this.GB_nOT.TabStop = false; + this.GB_nOT.Text = "Latest (not OT) Handler"; + // + // Label_CTGender + // + this.Label_CTGender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Label_CTGender.Location = new System.Drawing.Point(144, 23); + this.Label_CTGender.Name = "Label_CTGender"; + this.Label_CTGender.Size = new System.Drawing.Size(16, 13); + this.Label_CTGender.TabIndex = 57; + this.Label_CTGender.Text = "G"; + this.Label_CTGender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.Label_CTGender.Click += new System.EventHandler(this.clickTRGender); + // + // TB_OTt2 + // + this.TB_OTt2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.TB_OTt2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_OTt2.Location = new System.Drawing.Point(46, 20); + this.TB_OTt2.MaxLength = 12; + this.TB_OTt2.Name = "TB_OTt2"; + this.TB_OTt2.Size = new System.Drawing.Size(94, 20); + this.TB_OTt2.TabIndex = 1; + this.TB_OTt2.WordWrap = false; + this.TB_OTt2.TextChanged += new System.EventHandler(this.updateNotOT); + this.TB_OTt2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); + // + // Label_PrevOT + // + this.Label_PrevOT.Location = new System.Drawing.Point(4, 23); + this.Label_PrevOT.Name = "Label_PrevOT"; + this.Label_PrevOT.Size = new System.Drawing.Size(40, 13); + this.Label_PrevOT.TabIndex = 42; + this.Label_PrevOT.Text = "OT:"; + this.Label_PrevOT.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_PrevOT.Click += new System.EventHandler(this.clickCT); + // + // BTN_RerollEC + // + this.BTN_RerollEC.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F); + this.BTN_RerollEC.Location = new System.Drawing.Point(138, 276); + this.BTN_RerollEC.Name = "BTN_RerollEC"; + this.BTN_RerollEC.Size = new System.Drawing.Size(38, 20); + this.BTN_RerollEC.TabIndex = 7; + this.BTN_RerollEC.Text = "Reroll"; + this.BTN_RerollEC.UseVisualStyleBackColor = true; + this.BTN_RerollEC.Click += new System.EventHandler(this.updateRandomEC); + // + // GB_Markings + // + this.GB_Markings.Controls.Add(this.PB_MarkHorohoro); + this.GB_Markings.Controls.Add(this.PB_MarkVC); + this.GB_Markings.Controls.Add(this.PB_MarkAlola); + this.GB_Markings.Controls.Add(this.PB_Mark6); + this.GB_Markings.Controls.Add(this.PB_MarkPentagon); + this.GB_Markings.Controls.Add(this.PB_Mark3); + this.GB_Markings.Controls.Add(this.PB_Mark5); + this.GB_Markings.Controls.Add(this.PB_MarkCured); + this.GB_Markings.Controls.Add(this.PB_Mark2); + this.GB_Markings.Controls.Add(this.PB_MarkShiny); + this.GB_Markings.Controls.Add(this.PB_Mark1); + this.GB_Markings.Controls.Add(this.PB_Mark4); + this.GB_Markings.Location = new System.Drawing.Point(68, 183); + this.GB_Markings.Name = "GB_Markings"; + this.GB_Markings.Size = new System.Drawing.Size(135, 58); + this.GB_Markings.TabIndex = 4; + this.GB_Markings.TabStop = false; + this.GB_Markings.Text = "Markings"; + // + // PB_MarkHorohoro + // + this.PB_MarkHorohoro.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkHorohoro.Image"))); + this.PB_MarkHorohoro.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkHorohoro.InitialImage"))); + this.PB_MarkHorohoro.Location = new System.Drawing.Point(110, 15); + this.PB_MarkHorohoro.Name = "PB_MarkHorohoro"; + this.PB_MarkHorohoro.Size = new System.Drawing.Size(20, 20); + this.PB_MarkHorohoro.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkHorohoro.TabIndex = 11; + this.PB_MarkHorohoro.TabStop = false; + // + // PB_MarkVC + // + this.PB_MarkVC.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkVC.Image"))); + this.PB_MarkVC.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkVC.InitialImage"))); + this.PB_MarkVC.Location = new System.Drawing.Point(89, 15); + this.PB_MarkVC.Name = "PB_MarkVC"; + this.PB_MarkVC.Size = new System.Drawing.Size(20, 20); + this.PB_MarkVC.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkVC.TabIndex = 10; + this.PB_MarkVC.TabStop = false; + // + // PB_MarkAlola + // + this.PB_MarkAlola.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkAlola.Image"))); + this.PB_MarkAlola.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkAlola.InitialImage"))); + this.PB_MarkAlola.Location = new System.Drawing.Point(68, 15); + this.PB_MarkAlola.Name = "PB_MarkAlola"; + this.PB_MarkAlola.Size = new System.Drawing.Size(20, 20); + this.PB_MarkAlola.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkAlola.TabIndex = 9; + this.PB_MarkAlola.TabStop = false; + // + // PB_Mark6 + // + this.PB_Mark6.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark6.Image"))); + this.PB_Mark6.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark6.InitialImage"))); + this.PB_Mark6.Location = new System.Drawing.Point(110, 36); + this.PB_Mark6.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark6.Name = "PB_Mark6"; + this.PB_Mark6.Size = new System.Drawing.Size(20, 20); + this.PB_Mark6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark6.TabIndex = 5; + this.PB_Mark6.TabStop = false; + this.PB_Mark6.Click += new System.EventHandler(this.clickMarking); + // + // PB_MarkPentagon + // + this.PB_MarkPentagon.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkPentagon.Image"))); + this.PB_MarkPentagon.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkPentagon.InitialImage"))); + this.PB_MarkPentagon.Location = new System.Drawing.Point(47, 15); + this.PB_MarkPentagon.Name = "PB_MarkPentagon"; + this.PB_MarkPentagon.Size = new System.Drawing.Size(20, 20); + this.PB_MarkPentagon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkPentagon.TabIndex = 8; + this.PB_MarkPentagon.TabStop = false; + // + // PB_Mark3 + // + this.PB_Mark3.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark3.Image"))); + this.PB_Mark3.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark3.InitialImage"))); + this.PB_Mark3.Location = new System.Drawing.Point(47, 36); + this.PB_Mark3.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark3.Name = "PB_Mark3"; + this.PB_Mark3.Size = new System.Drawing.Size(20, 20); + this.PB_Mark3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark3.TabIndex = 2; + this.PB_Mark3.TabStop = false; + this.PB_Mark3.Click += new System.EventHandler(this.clickMarking); + // + // PB_Mark5 + // + this.PB_Mark5.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark5.Image"))); + this.PB_Mark5.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark5.InitialImage"))); + this.PB_Mark5.Location = new System.Drawing.Point(89, 36); + this.PB_Mark5.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark5.Name = "PB_Mark5"; + this.PB_Mark5.Size = new System.Drawing.Size(20, 20); + this.PB_Mark5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark5.TabIndex = 4; + this.PB_Mark5.TabStop = false; + this.PB_Mark5.Click += new System.EventHandler(this.clickMarking); + // + // PB_MarkCured + // + this.PB_MarkCured.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkCured.Image"))); + this.PB_MarkCured.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkCured.InitialImage"))); + this.PB_MarkCured.Location = new System.Drawing.Point(26, 15); + this.PB_MarkCured.Name = "PB_MarkCured"; + this.PB_MarkCured.Size = new System.Drawing.Size(20, 20); + this.PB_MarkCured.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkCured.TabIndex = 7; + this.PB_MarkCured.TabStop = false; + // + // PB_Mark2 + // + this.PB_Mark2.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark2.Image"))); + this.PB_Mark2.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark2.InitialImage"))); + this.PB_Mark2.Location = new System.Drawing.Point(26, 36); + this.PB_Mark2.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark2.Name = "PB_Mark2"; + this.PB_Mark2.Size = new System.Drawing.Size(20, 20); + this.PB_Mark2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark2.TabIndex = 1; + this.PB_Mark2.TabStop = false; + this.PB_Mark2.Click += new System.EventHandler(this.clickMarking); + // + // PB_MarkShiny + // + this.PB_MarkShiny.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkShiny.Image"))); + this.PB_MarkShiny.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkShiny.InitialImage"))); + this.PB_MarkShiny.Location = new System.Drawing.Point(5, 15); + this.PB_MarkShiny.Name = "PB_MarkShiny"; + this.PB_MarkShiny.Size = new System.Drawing.Size(20, 20); + this.PB_MarkShiny.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_MarkShiny.TabIndex = 6; + this.PB_MarkShiny.TabStop = false; + // + // PB_Mark1 + // + this.PB_Mark1.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark1.Image"))); + this.PB_Mark1.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark1.InitialImage"))); + this.PB_Mark1.Location = new System.Drawing.Point(5, 36); + this.PB_Mark1.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark1.Name = "PB_Mark1"; + this.PB_Mark1.Size = new System.Drawing.Size(20, 20); + this.PB_Mark1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark1.TabIndex = 0; + this.PB_Mark1.TabStop = false; + this.PB_Mark1.Click += new System.EventHandler(this.clickMarking); + // + // PB_Mark4 + // + this.PB_Mark4.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark4.Image"))); + this.PB_Mark4.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark4.InitialImage"))); + this.PB_Mark4.Location = new System.Drawing.Point(68, 36); + this.PB_Mark4.Margin = new System.Windows.Forms.Padding(1); + this.PB_Mark4.Name = "PB_Mark4"; + this.PB_Mark4.Size = new System.Drawing.Size(20, 20); + this.PB_Mark4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.PB_Mark4.TabIndex = 3; + this.PB_Mark4.TabStop = false; + this.PB_Mark4.Click += new System.EventHandler(this.clickMarking); + // + // GB_ExtraBytes + // + this.GB_ExtraBytes.Controls.Add(this.TB_ExtraByte); + this.GB_ExtraBytes.Controls.Add(this.CB_ExtraBytes); + this.GB_ExtraBytes.Location = new System.Drawing.Point(68, 135); + this.GB_ExtraBytes.Name = "GB_ExtraBytes"; + this.GB_ExtraBytes.Size = new System.Drawing.Size(135, 48); + this.GB_ExtraBytes.TabIndex = 3; + this.GB_ExtraBytes.TabStop = false; + this.GB_ExtraBytes.Text = "Extra Bytes"; + // + // TB_ExtraByte + // + this.TB_ExtraByte.Location = new System.Drawing.Point(87, 19); + this.TB_ExtraByte.Mask = "000"; + this.TB_ExtraByte.Name = "TB_ExtraByte"; + this.TB_ExtraByte.Size = new System.Drawing.Size(28, 20); + this.TB_ExtraByte.TabIndex = 2; + this.TB_ExtraByte.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_ExtraByte.Validated += new System.EventHandler(this.updateExtraByteValue); + // + // CB_ExtraBytes + // + this.CB_ExtraBytes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_ExtraBytes.FormattingEnabled = true; + this.CB_ExtraBytes.Location = new System.Drawing.Point(20, 18); + this.CB_ExtraBytes.Name = "CB_ExtraBytes"; + this.CB_ExtraBytes.Size = new System.Drawing.Size(57, 21); + this.CB_ExtraBytes.TabIndex = 1; + this.CB_ExtraBytes.SelectedIndexChanged += new System.EventHandler(this.updateExtraByteIndex); + // + // GB_OT + // + this.GB_OT.Controls.Add(this.Label_OTGender); + this.GB_OT.Controls.Add(this.TB_OT); + this.GB_OT.Controls.Add(this.TB_SID); + this.GB_OT.Controls.Add(this.TB_TID); + this.GB_OT.Controls.Add(this.Label_OT); + this.GB_OT.Controls.Add(this.Label_SID); + this.GB_OT.Controls.Add(this.Label_TID); + this.GB_OT.Location = new System.Drawing.Point(40, 8); + this.GB_OT.Name = "GB_OT"; + this.GB_OT.Size = new System.Drawing.Size(190, 75); + this.GB_OT.TabIndex = 1; + this.GB_OT.TabStop = false; + this.GB_OT.Text = "Trainer Information"; + // + // Label_OTGender + // + this.Label_OTGender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Label_OTGender.Location = new System.Drawing.Point(144, 48); + this.Label_OTGender.Name = "Label_OTGender"; + this.Label_OTGender.Size = new System.Drawing.Size(16, 13); + this.Label_OTGender.TabIndex = 56; + this.Label_OTGender.Text = "G"; + this.Label_OTGender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.Label_OTGender.Click += new System.EventHandler(this.clickTRGender); + // + // TB_OT + // + this.TB_OT.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_OT.Location = new System.Drawing.Point(46, 46); + this.TB_OT.MaxLength = 12; + this.TB_OT.Name = "TB_OT"; + this.TB_OT.Size = new System.Drawing.Size(94, 20); + this.TB_OT.TabIndex = 3; + this.TB_OT.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); + // + // TB_SID + // + this.TB_SID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_SID.Location = new System.Drawing.Point(132, 20); + this.TB_SID.Mask = "00000"; + this.TB_SID.Name = "TB_SID"; + this.TB_SID.Size = new System.Drawing.Size(40, 20); + this.TB_SID.TabIndex = 2; + this.TB_SID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_SID.MouseHover += new System.EventHandler(this.updateTSV); + this.TB_SID.Validated += new System.EventHandler(this.update_ID); + // + // TB_TID + // + this.TB_TID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_TID.Location = new System.Drawing.Point(46, 20); + this.TB_TID.Mask = "00000"; + this.TB_TID.Name = "TB_TID"; + this.TB_TID.Size = new System.Drawing.Size(40, 20); + this.TB_TID.TabIndex = 1; + this.TB_TID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_TID.MouseHover += new System.EventHandler(this.updateTSV); + this.TB_TID.Validated += new System.EventHandler(this.update_ID); + // + // Label_OT + // + this.Label_OT.Location = new System.Drawing.Point(4, 48); + this.Label_OT.Name = "Label_OT"; + this.Label_OT.Size = new System.Drawing.Size(40, 13); + this.Label_OT.TabIndex = 5; + this.Label_OT.Text = "OT:"; + this.Label_OT.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.Label_OT.Click += new System.EventHandler(this.clickOT); + // + // Label_SID + // + this.Label_SID.Location = new System.Drawing.Point(86, 22); + this.Label_SID.Name = "Label_SID"; + this.Label_SID.Size = new System.Drawing.Size(45, 13); + this.Label_SID.TabIndex = 4; + this.Label_SID.Text = "SID:"; + this.Label_SID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_TID + // + this.Label_TID.Location = new System.Drawing.Point(4, 22); + this.Label_TID.Name = "Label_TID"; + this.Label_TID.Size = new System.Drawing.Size(40, 13); + this.Label_TID.TabIndex = 3; + this.Label_TID.Text = "TID:"; + this.Label_TID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // Label_EncryptionConstant + // + this.Label_EncryptionConstant.Location = new System.Drawing.Point(20, 279); + this.Label_EncryptionConstant.Name = "Label_EncryptionConstant"; + this.Label_EncryptionConstant.Size = new System.Drawing.Size(120, 13); + this.Label_EncryptionConstant.TabIndex = 1; + this.Label_EncryptionConstant.Text = "Encryption Constant:"; + this.Label_EncryptionConstant.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // PKMEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.tabMain); + this.Name = "PKMEditor"; + this.Size = new System.Drawing.Size(280, 420); + this.tabMain.ResumeLayout(false); + this.Tab_Main.ResumeLayout(false); + this.FLP_Main.ResumeLayout(false); + this.FLP_PID.ResumeLayout(false); + this.FLP_PIDLeft.ResumeLayout(false); + this.FLP_PIDLeft.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Label_IsShiny)).EndInit(); + this.FLP_PIDRight.ResumeLayout(false); + this.FLP_PIDRight.PerformLayout(); + this.FLP_Species.ResumeLayout(false); + this.FLP_Nickname.ResumeLayout(false); + this.FLP_Nickname.PerformLayout(); + this.FLP_NicknameLeft.ResumeLayout(false); + this.FLP_NicknameLeft.PerformLayout(); + this.FLP_EXPLevel.ResumeLayout(false); + this.FLP_EXPLevelRight.ResumeLayout(false); + this.FLP_EXPLevelRight.PerformLayout(); + this.FLP_Nature.ResumeLayout(false); + this.FLP_HeldItem.ResumeLayout(false); + this.FLP_FriendshipForm.ResumeLayout(false); + this.FLP_FriendshipFormLeft.ResumeLayout(false); + this.FLP_FriendshipFormRight.ResumeLayout(false); + this.FLP_FriendshipFormRight.PerformLayout(); + this.FLP_Ability.ResumeLayout(false); + this.FLP_AbilityRight.ResumeLayout(false); + this.FLP_AbilityRight.PerformLayout(); + this.FLP_Language.ResumeLayout(false); + this.FLP_EggPKRS.ResumeLayout(false); + this.FLP_EggPKRSLeft.ResumeLayout(false); + this.FLP_EggPKRSLeft.PerformLayout(); + this.FLP_EggPKRSRight.ResumeLayout(false); + this.FLP_EggPKRSRight.PerformLayout(); + this.FLP_PKRS.ResumeLayout(false); + this.FLP_PKRSRight.ResumeLayout(false); + this.FLP_Country.ResumeLayout(false); + this.FLP_SubRegion.ResumeLayout(false); + this.FLP_3DSRegion.ResumeLayout(false); + this.FLP_NSparkle.ResumeLayout(false); + this.FLP_NSparkle.PerformLayout(); + this.FLP_ShadowID.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.NUD_ShadowID)).EndInit(); + this.FLP_Purification.ResumeLayout(false); + this.FLP_Purification.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Purification)).EndInit(); + this.Tab_Met.ResumeLayout(false); + this.Tab_Met.PerformLayout(); + this.GB_EggConditions.ResumeLayout(false); + this.FLP_Met.ResumeLayout(false); + this.FLP_OriginGame.ResumeLayout(false); + this.FLP_MetLocation.ResumeLayout(false); + this.FLP_Ball.ResumeLayout(false); + this.FLP_BallLeft.ResumeLayout(false); + this.FLP_BallLeft.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Ball)).EndInit(); + this.FLP_MetLevel.ResumeLayout(false); + this.FLP_MetLevel.PerformLayout(); + this.FLP_MetDate.ResumeLayout(false); + this.FLP_Fateful.ResumeLayout(false); + this.FLP_Fateful.PerformLayout(); + this.FLP_EncounterType.ResumeLayout(false); + this.FLP_TimeOfDay.ResumeLayout(false); + this.Tab_Stats.ResumeLayout(false); + this.PAN_Contest.ResumeLayout(false); + this.PAN_Contest.PerformLayout(); + this.FLP_Stats.ResumeLayout(false); + this.FLP_StatHeader.ResumeLayout(false); + this.FLP_HackedStats.ResumeLayout(false); + this.FLP_HackedStats.PerformLayout(); + this.FLP_StatsHeaderRight.ResumeLayout(false); + this.FLP_HP.ResumeLayout(false); + this.FLP_HPRight.ResumeLayout(false); + this.FLP_HPRight.PerformLayout(); + this.FLP_Atk.ResumeLayout(false); + this.FLP_AtkRight.ResumeLayout(false); + this.FLP_AtkRight.PerformLayout(); + this.FLP_Def.ResumeLayout(false); + this.FLP_DefRight.ResumeLayout(false); + this.FLP_DefRight.PerformLayout(); + this.FLP_SpA.ResumeLayout(false); + this.FLP_SpALeft.ResumeLayout(false); + this.FLP_SpARight.ResumeLayout(false); + this.FLP_SpARight.PerformLayout(); + this.FLP_SpD.ResumeLayout(false); + this.FLP_SpDRight.ResumeLayout(false); + this.FLP_SpDRight.PerformLayout(); + this.FLP_Spe.ResumeLayout(false); + this.FLP_SpeRight.ResumeLayout(false); + this.FLP_SpeRight.PerformLayout(); + this.FLP_StatsTotal.ResumeLayout(false); + this.FLP_StatsTotalRight.ResumeLayout(false); + this.FLP_StatsTotalRight.PerformLayout(); + this.FLP_HPType.ResumeLayout(false); + this.FLP_Characteristic.ResumeLayout(false); + this.Tab_Attacks.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove1)).EndInit(); + this.GB_RelearnMoves.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn1)).EndInit(); + this.GB_CurrentMoves.ResumeLayout(false); + this.GB_CurrentMoves.PerformLayout(); + this.Tab_OTMisc.ResumeLayout(false); + this.Tab_OTMisc.PerformLayout(); + this.FLP_PKMEditors.ResumeLayout(false); + this.FLP_PKMEditors.PerformLayout(); + this.GB_nOT.ResumeLayout(false); + this.GB_nOT.PerformLayout(); + this.GB_Markings.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkHorohoro)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkVC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkAlola)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkPentagon)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkCured)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_MarkShiny)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Mark4)).EndInit(); + this.GB_ExtraBytes.ResumeLayout(false); + this.GB_ExtraBytes.PerformLayout(); + this.GB_OT.ResumeLayout(false); + this.GB_OT.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabMain; + private System.Windows.Forms.TabPage Tab_Main; + private System.Windows.Forms.FlowLayoutPanel FLP_Main; + private System.Windows.Forms.FlowLayoutPanel FLP_PID; + private System.Windows.Forms.FlowLayoutPanel FLP_PIDLeft; + private System.Windows.Forms.Label Label_PID; + private System.Windows.Forms.Button BTN_Shinytize; + private System.Windows.Forms.PictureBox Label_IsShiny; + private System.Windows.Forms.FlowLayoutPanel FLP_PIDRight; + private System.Windows.Forms.TextBox TB_PID; + private System.Windows.Forms.Label Label_Gender; + private System.Windows.Forms.Button BTN_RerollPID; + private System.Windows.Forms.FlowLayoutPanel FLP_Species; + private System.Windows.Forms.Label Label_Species; + public System.Windows.Forms.ComboBox CB_Species; + private System.Windows.Forms.FlowLayoutPanel FLP_Nickname; + private System.Windows.Forms.FlowLayoutPanel FLP_NicknameLeft; + private System.Windows.Forms.CheckBox CHK_Nicknamed; + public System.Windows.Forms.TextBox TB_Nickname; + private System.Windows.Forms.FlowLayoutPanel FLP_EXPLevel; + private System.Windows.Forms.Label Label_EXP; + private System.Windows.Forms.FlowLayoutPanel FLP_EXPLevelRight; + private System.Windows.Forms.MaskedTextBox TB_EXP; + private System.Windows.Forms.Label Label_CurLevel; + private System.Windows.Forms.MaskedTextBox TB_Level; + private System.Windows.Forms.MaskedTextBox MT_Level; + private System.Windows.Forms.FlowLayoutPanel FLP_Nature; + private System.Windows.Forms.Label Label_Nature; + private System.Windows.Forms.ComboBox CB_Nature; + private System.Windows.Forms.FlowLayoutPanel FLP_HeldItem; + private System.Windows.Forms.Label Label_HeldItem; + private System.Windows.Forms.ComboBox CB_HeldItem; + private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipForm; + private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipFormLeft; + public System.Windows.Forms.Label Label_Friendship; + public System.Windows.Forms.Label Label_HatchCounter; + private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipFormRight; + private System.Windows.Forms.MaskedTextBox TB_Friendship; + private System.Windows.Forms.Label Label_Form; + private System.Windows.Forms.ComboBox CB_Form; + private System.Windows.Forms.MaskedTextBox MT_Form; + private System.Windows.Forms.FlowLayoutPanel FLP_Ability; + private System.Windows.Forms.Label Label_Ability; + private System.Windows.Forms.FlowLayoutPanel FLP_AbilityRight; + private System.Windows.Forms.ComboBox CB_Ability; + private System.Windows.Forms.ComboBox DEV_Ability; + private System.Windows.Forms.MaskedTextBox TB_AbilityNumber; + private System.Windows.Forms.FlowLayoutPanel FLP_Language; + private System.Windows.Forms.Label Label_Language; + private System.Windows.Forms.ComboBox CB_Language; + private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRS; + private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRSLeft; + public System.Windows.Forms.CheckBox CHK_IsEgg; + private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRSRight; + private System.Windows.Forms.CheckBox CHK_Infected; + private System.Windows.Forms.CheckBox CHK_Cured; + private System.Windows.Forms.FlowLayoutPanel FLP_PKRS; + private System.Windows.Forms.Label Label_PKRS; + private System.Windows.Forms.FlowLayoutPanel FLP_PKRSRight; + private System.Windows.Forms.ComboBox CB_PKRSStrain; + private System.Windows.Forms.Label Label_PKRSdays; + private System.Windows.Forms.ComboBox CB_PKRSDays; + private System.Windows.Forms.FlowLayoutPanel FLP_Country; + private System.Windows.Forms.Label Label_Country; + private System.Windows.Forms.ComboBox CB_Country; + private System.Windows.Forms.FlowLayoutPanel FLP_SubRegion; + private System.Windows.Forms.Label Label_SubRegion; + private System.Windows.Forms.ComboBox CB_SubRegion; + private System.Windows.Forms.FlowLayoutPanel FLP_3DSRegion; + private System.Windows.Forms.Label Label_3DSRegion; + private System.Windows.Forms.ComboBox CB_3DSReg; + private System.Windows.Forms.FlowLayoutPanel FLP_NSparkle; + private System.Windows.Forms.Label L_NSparkle; + private System.Windows.Forms.CheckBox CHK_NSparkle; + private System.Windows.Forms.FlowLayoutPanel FLP_ShadowID; + private System.Windows.Forms.Label L_ShadowID; + private System.Windows.Forms.NumericUpDown NUD_ShadowID; + private System.Windows.Forms.FlowLayoutPanel FLP_Purification; + private System.Windows.Forms.Label L_HeartGauge; + private System.Windows.Forms.NumericUpDown NUD_Purification; + public System.Windows.Forms.CheckBox CHK_Shadow; + private System.Windows.Forms.TabPage Tab_Met; + private System.Windows.Forms.CheckBox CHK_AsEgg; + private System.Windows.Forms.GroupBox GB_EggConditions; + private System.Windows.Forms.ComboBox CB_EggLocation; + private System.Windows.Forms.DateTimePicker CAL_EggDate; + private System.Windows.Forms.Label Label_EggDate; + private System.Windows.Forms.Label Label_EggLocation; + private System.Windows.Forms.FlowLayoutPanel FLP_Met; + private System.Windows.Forms.FlowLayoutPanel FLP_OriginGame; + private System.Windows.Forms.Label Label_OriginGame; + private System.Windows.Forms.ComboBox CB_GameOrigin; + private System.Windows.Forms.FlowLayoutPanel FLP_MetLocation; + private System.Windows.Forms.Label Label_MetLocation; + public System.Windows.Forms.ComboBox CB_MetLocation; + private System.Windows.Forms.FlowLayoutPanel FLP_Ball; + private System.Windows.Forms.FlowLayoutPanel FLP_BallLeft; + private System.Windows.Forms.Label Label_Ball; + private System.Windows.Forms.PictureBox PB_Ball; + public System.Windows.Forms.ComboBox CB_Ball; + private System.Windows.Forms.FlowLayoutPanel FLP_MetLevel; + private System.Windows.Forms.Label Label_MetLevel; + private System.Windows.Forms.MaskedTextBox TB_MetLevel; + private System.Windows.Forms.FlowLayoutPanel FLP_MetDate; + private System.Windows.Forms.Label Label_MetDate; + private System.Windows.Forms.DateTimePicker CAL_MetDate; + private System.Windows.Forms.FlowLayoutPanel FLP_Fateful; + private System.Windows.Forms.Panel PAN_Fateful; + private System.Windows.Forms.CheckBox CHK_Fateful; + private System.Windows.Forms.FlowLayoutPanel FLP_EncounterType; + private System.Windows.Forms.Label Label_EncounterType; + private System.Windows.Forms.ComboBox CB_EncounterType; + private System.Windows.Forms.FlowLayoutPanel FLP_TimeOfDay; + private System.Windows.Forms.Label L_MetTimeOfDay; + public System.Windows.Forms.ComboBox CB_MetTimeOfDay; + private System.Windows.Forms.TabPage Tab_Stats; + private System.Windows.Forms.Panel PAN_Contest; + private System.Windows.Forms.MaskedTextBox TB_Sheen; + private System.Windows.Forms.MaskedTextBox TB_Tough; + private System.Windows.Forms.MaskedTextBox TB_Smart; + private System.Windows.Forms.MaskedTextBox TB_Cute; + private System.Windows.Forms.MaskedTextBox TB_Beauty; + private System.Windows.Forms.MaskedTextBox TB_Cool; + private System.Windows.Forms.Label Label_Sheen; + private System.Windows.Forms.Label Label_Tough; + private System.Windows.Forms.Label Label_Smart; + private System.Windows.Forms.Label Label_Cute; + private System.Windows.Forms.Label Label_Beauty; + private System.Windows.Forms.Label Label_Cool; + private System.Windows.Forms.Label Label_ContestStats; + private System.Windows.Forms.FlowLayoutPanel FLP_Stats; + private System.Windows.Forms.FlowLayoutPanel FLP_StatHeader; + private System.Windows.Forms.FlowLayoutPanel FLP_HackedStats; + private System.Windows.Forms.CheckBox CHK_HackedStats; + private System.Windows.Forms.FlowLayoutPanel FLP_StatsHeaderRight; + private System.Windows.Forms.Label Label_IVs; + private System.Windows.Forms.Label Label_EVs; + private System.Windows.Forms.Label Label_Stats; + private System.Windows.Forms.FlowLayoutPanel FLP_HP; + private System.Windows.Forms.Label Label_HP; + private System.Windows.Forms.FlowLayoutPanel FLP_HPRight; + private System.Windows.Forms.MaskedTextBox TB_HPIV; + private System.Windows.Forms.MaskedTextBox TB_HPEV; + private System.Windows.Forms.MaskedTextBox Stat_HP; + private System.Windows.Forms.FlowLayoutPanel FLP_Atk; + private System.Windows.Forms.Label Label_ATK; + private System.Windows.Forms.FlowLayoutPanel FLP_AtkRight; + private System.Windows.Forms.MaskedTextBox TB_ATKIV; + private System.Windows.Forms.MaskedTextBox TB_ATKEV; + private System.Windows.Forms.MaskedTextBox Stat_ATK; + private System.Windows.Forms.FlowLayoutPanel FLP_Def; + private System.Windows.Forms.Label Label_DEF; + private System.Windows.Forms.FlowLayoutPanel FLP_DefRight; + private System.Windows.Forms.MaskedTextBox TB_DEFIV; + private System.Windows.Forms.MaskedTextBox TB_DEFEV; + private System.Windows.Forms.MaskedTextBox Stat_DEF; + private System.Windows.Forms.FlowLayoutPanel FLP_SpA; + private System.Windows.Forms.FlowLayoutPanel FLP_SpALeft; + private System.Windows.Forms.Label Label_SPA; + private System.Windows.Forms.Label Label_SPC; + private System.Windows.Forms.FlowLayoutPanel FLP_SpARight; + private System.Windows.Forms.MaskedTextBox TB_SPAIV; + private System.Windows.Forms.MaskedTextBox TB_SPAEV; + private System.Windows.Forms.MaskedTextBox Stat_SPA; + private System.Windows.Forms.FlowLayoutPanel FLP_SpD; + private System.Windows.Forms.Label Label_SPD; + private System.Windows.Forms.FlowLayoutPanel FLP_SpDRight; + private System.Windows.Forms.MaskedTextBox TB_SPDIV; + private System.Windows.Forms.MaskedTextBox TB_SPDEV; + private System.Windows.Forms.MaskedTextBox Stat_SPD; + private System.Windows.Forms.FlowLayoutPanel FLP_Spe; + private System.Windows.Forms.Label Label_SPE; + private System.Windows.Forms.FlowLayoutPanel FLP_SpeRight; + private System.Windows.Forms.MaskedTextBox TB_SPEIV; + private System.Windows.Forms.MaskedTextBox TB_SPEEV; + private System.Windows.Forms.MaskedTextBox Stat_SPE; + private System.Windows.Forms.FlowLayoutPanel FLP_StatsTotal; + private System.Windows.Forms.Label Label_Total; + private System.Windows.Forms.FlowLayoutPanel FLP_StatsTotalRight; + private System.Windows.Forms.TextBox TB_IVTotal; + private System.Windows.Forms.TextBox TB_EVTotal; + private System.Windows.Forms.Label L_Potential; + private System.Windows.Forms.FlowLayoutPanel FLP_HPType; + private System.Windows.Forms.Label Label_HiddenPowerPrefix; + private System.Windows.Forms.ComboBox CB_HPType; + private System.Windows.Forms.FlowLayoutPanel FLP_Characteristic; + private System.Windows.Forms.Label Label_CharacteristicPrefix; + private System.Windows.Forms.Label L_Characteristic; + private System.Windows.Forms.Button BTN_RandomEVs; + private System.Windows.Forms.Button BTN_RandomIVs; + private System.Windows.Forms.TabPage Tab_Attacks; + private System.Windows.Forms.PictureBox PB_WarnMove4; + private System.Windows.Forms.PictureBox PB_WarnMove3; + private System.Windows.Forms.PictureBox PB_WarnMove2; + private System.Windows.Forms.PictureBox PB_WarnMove1; + private System.Windows.Forms.GroupBox GB_RelearnMoves; + private System.Windows.Forms.PictureBox PB_WarnRelearn4; + private System.Windows.Forms.PictureBox PB_WarnRelearn3; + private System.Windows.Forms.PictureBox PB_WarnRelearn2; + private System.Windows.Forms.PictureBox PB_WarnRelearn1; + private System.Windows.Forms.ComboBox CB_RelearnMove4; + private System.Windows.Forms.ComboBox CB_RelearnMove3; + private System.Windows.Forms.ComboBox CB_RelearnMove2; + private System.Windows.Forms.ComboBox CB_RelearnMove1; + private System.Windows.Forms.GroupBox GB_CurrentMoves; + private System.Windows.Forms.MaskedTextBox TB_PP4; + private System.Windows.Forms.MaskedTextBox TB_PP3; + private System.Windows.Forms.MaskedTextBox TB_PP2; + private System.Windows.Forms.MaskedTextBox TB_PP1; + private System.Windows.Forms.Label Label_CurPP; + private System.Windows.Forms.Label Label_PPups; + private System.Windows.Forms.ComboBox CB_PPu4; + private System.Windows.Forms.ComboBox CB_PPu3; + private System.Windows.Forms.ComboBox CB_PPu2; + private System.Windows.Forms.ComboBox CB_Move4; + private System.Windows.Forms.ComboBox CB_PPu1; + private System.Windows.Forms.ComboBox CB_Move3; + private System.Windows.Forms.ComboBox CB_Move2; + private System.Windows.Forms.ComboBox CB_Move1; + private System.Windows.Forms.TabPage Tab_OTMisc; + private System.Windows.Forms.FlowLayoutPanel FLP_PKMEditors; + private System.Windows.Forms.Button BTN_Ribbons; + private System.Windows.Forms.Button BTN_Medals; + private System.Windows.Forms.Button BTN_History; + private System.Windows.Forms.TextBox TB_EC; + public System.Windows.Forms.GroupBox GB_nOT; + private System.Windows.Forms.Label Label_CTGender; + private System.Windows.Forms.TextBox TB_OTt2; + private System.Windows.Forms.Label Label_PrevOT; + private System.Windows.Forms.Button BTN_RerollEC; + private System.Windows.Forms.GroupBox GB_Markings; + private System.Windows.Forms.PictureBox PB_MarkHorohoro; + private System.Windows.Forms.PictureBox PB_MarkVC; + private System.Windows.Forms.PictureBox PB_MarkAlola; + private System.Windows.Forms.PictureBox PB_Mark6; + private System.Windows.Forms.PictureBox PB_MarkPentagon; + private System.Windows.Forms.PictureBox PB_Mark3; + private System.Windows.Forms.PictureBox PB_Mark5; + private System.Windows.Forms.PictureBox PB_MarkCured; + private System.Windows.Forms.PictureBox PB_Mark2; + private System.Windows.Forms.PictureBox PB_MarkShiny; + private System.Windows.Forms.PictureBox PB_Mark1; + private System.Windows.Forms.PictureBox PB_Mark4; + private System.Windows.Forms.GroupBox GB_ExtraBytes; + private System.Windows.Forms.MaskedTextBox TB_ExtraByte; + private System.Windows.Forms.ComboBox CB_ExtraBytes; + public System.Windows.Forms.GroupBox GB_OT; + private System.Windows.Forms.Label Label_OTGender; + private System.Windows.Forms.TextBox TB_OT; + private System.Windows.Forms.MaskedTextBox TB_SID; + private System.Windows.Forms.MaskedTextBox TB_TID; + private System.Windows.Forms.Label Label_OT; + private System.Windows.Forms.Label Label_SID; + private System.Windows.Forms.Label Label_TID; + private System.Windows.Forms.Label Label_EncryptionConstant; + } +} diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs new file mode 100644 index 000000000..cd3ee1b43 --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs @@ -0,0 +1,1976 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using PKHeX.Core; +using PKHeX.WinForms.Properties; +using System.ComponentModel; + +namespace PKHeX.WinForms.Controls +{ + public partial class PKMEditor : UserControl + { + public PKMEditor() + { + InitializeComponent(); + Legality = new LegalityAnalysis(pkm = new PK7()); + setPKMFormatMode(pkm.Format); + + GB_OT.Click += clickGT; + GB_nOT.Click += clickGT; + GB_CurrentMoves.Click += clickMoves; + GB_RelearnMoves.Click += clickMoves; + + TB_Nickname.Font = FontUtil.getPKXFont(11); + TB_OT.Font = (Font)TB_Nickname.Font.Clone(); + TB_OTt2.Font = (Font)TB_Nickname.Font.Clone(); + + relearnPB = new[] { PB_WarnRelearn1, PB_WarnRelearn2, PB_WarnRelearn3, PB_WarnRelearn4 }; + movePB = new[] { PB_WarnMove1, PB_WarnMove2, PB_WarnMove3, PB_WarnMove4 }; + } + + public PKM pkm; + public bool HaX; + public bool fieldsInitialized; + public bool fieldsLoaded; + public bool Unicode; + public bool? IsLegal; + public byte[] lastData; + public bool ModifyPKM = true; + public GameVersion origintrack; + + private bool changingFields; + private Action getFieldsfromPKM; + private Func getPKMfromFields; + private LegalityAnalysis Legality; + private string[] gendersymbols = { "♂", "♀", "-" }; + private static readonly Image mixedHighlight = ImageUtil.ChangeOpacity(Resources.slotSet, 0.5); + + public event EventHandler LegalityChanged; + public event EventHandler UpdatePreviewSprite; + public event EventHandler RequestShowdownImport; + public event EventHandler RequestShowdownExport; + public event ReturnSAVEventHandler SaveFileRequested; + public delegate SaveFile ReturnSAVEventHandler(object sender, EventArgs args); + + private readonly PictureBox[] movePB, relearnPB; + private readonly ToolTip Tip1 = new ToolTip(), Tip2 = new ToolTip(), Tip3 = new ToolTip(), NatureTip = new ToolTip(), EVTip = new ToolTip(); + private SaveFile RequestSaveFile => SaveFileRequested?.Invoke(this, EventArgs.Empty); + public bool PKMIsUnsaved => fieldsInitialized && fieldsLoaded && lastData != null && lastData.Any(b => b != 0) && !lastData.SequenceEqual(preparePKM().Data); + public bool IsEmptyOrEgg => CHK_IsEgg.Checked || CB_Species.SelectedIndex == 0; + + public PKM preparePKM(bool click = true) + { + if (click) + ValidateChildren(); + PKM pk = getPKMfromFields(); + return pk?.Clone(); + } + public bool verifiedPKM() + { + if (ModifierKeys == (Keys.Control | Keys.Shift | Keys.Alt)) + return true; // Override + // Make sure the PKX Fields are filled out properly (color check) + ComboBox[] cba = { + CB_Species, CB_Nature, CB_HeldItem, CB_Ability, // Main Tab + CB_MetLocation, CB_EggLocation, CB_Ball, // Met Tab + CB_Move1, CB_Move2, CB_Move3, CB_Move4, // Moves + CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 // Moves + }; + + ComboBox cb = cba.FirstOrDefault(c => c.BackColor == Color.DarkSalmon && c.Items.Count != 0); + if (cb != null) + { + Control c = cb.Parent; while (!(c is TabPage)) c = c.Parent; + tabMain.SelectedTab = c as TabPage; + } + else if (pkm.Format >= 3 && Convert.ToUInt32(TB_EVTotal.Text) > 510 && !CHK_HackedStats.Checked) + tabMain.SelectedTab = Tab_Stats; + else if (WinFormsUtil.getIndex(CB_Species) == 0) + tabMain.SelectedTab = Tab_Main; + else + return true; + + System.Media.SystemSounds.Exclamation.Play(); + return false; + } + + public void updateStringDisplay() + { + updateIVs(null, null); // Prompt an update for the characteristics + } + public void InitializeFields() + { + // Now that the ComboBoxes are ready, load the data. + fieldsInitialized = true; + pkm.RefreshChecksum(); + + // Load Data + populateFields(pkm); + } + + public void setPKMFormatMode(int Format) + { + byte[] extraBytes = new byte[0]; + switch (Format) + { + case 1: + getFieldsfromPKM = populateFieldsPK1; + getPKMfromFields = preparePK1; + break; + case 2: + getFieldsfromPKM = populateFieldsPK2; + getPKMfromFields = preparePK2; + break; + case 3: + if (pkm is CK3) + { + getFieldsfromPKM = populateFieldsCK3; + getPKMfromFields = prepareCK3; + extraBytes = CK3.ExtraBytes; + break; + } + if (pkm is XK3) + { + getFieldsfromPKM = populateFieldsXK3; + getPKMfromFields = prepareXK3; + extraBytes = XK3.ExtraBytes; + break; + } + getFieldsfromPKM = populateFieldsPK3; + getPKMfromFields = preparePK3; + extraBytes = PK3.ExtraBytes; + break; + case 4: + getFieldsfromPKM = populateFieldsPK4; + getPKMfromFields = preparePK4; + extraBytes = PK4.ExtraBytes; + break; + case 5: + getFieldsfromPKM = populateFieldsPK5; + getPKMfromFields = preparePK5; + extraBytes = PK5.ExtraBytes; + break; + case 6: + getFieldsfromPKM = populateFieldsPK6; + getPKMfromFields = preparePK6; + extraBytes = PK6.ExtraBytes; + break; + case 7: + getFieldsfromPKM = populateFieldsPK7; + getPKMfromFields = preparePK7; + extraBytes = PK7.ExtraBytes; + break; + } + + // Load Extra Byte List + GB_ExtraBytes.Visible = GB_ExtraBytes.Enabled = extraBytes.Length != 0; + if (GB_ExtraBytes.Enabled) + { + CB_ExtraBytes.Items.Clear(); + foreach (byte b in extraBytes) + CB_ExtraBytes.Items.Add($"0x{b:X2}"); + CB_ExtraBytes.SelectedIndex = 0; + } + } + public void populateFields(PKM pk, bool focus = true) + { + if (pk == null) { WinFormsUtil.Error("Attempted to load a null file."); return; } + + if ((pk.Format >= 3 && pk.Format > pkm.Format) // pk3-7, can't go backwards + || (pk.Format <= 2 && pkm.Format > 2 && pkm.Format < 7)) // pk1-2, can't go 3-6 + { WinFormsUtil.Alert($"Can't load Gen{pk.Format} to Gen{pkm.Format} games."); return; } + + bool oldInit = fieldsInitialized; + fieldsInitialized = fieldsLoaded = false; + if (focus) + Tab_Main.Focus(); + + if (fieldsInitialized & !pkm.ChecksumValid) + WinFormsUtil.Alert("PKM File has an invalid checksum."); + + if (pk.Format != pkm.Format) // past gen format + { + pkm = PKMConverter.convertToFormat(pk.Clone(), pkm.GetType(), out string _); + if (pkm == null) + pkm = pk.Clone(); + else if (pk.Format != pkm.Format && focus) // converted + WinFormsUtil.Alert("Converted File."); + } + else + pkm = pk.Clone(); + + try { getFieldsfromPKM(); } + catch { fieldsInitialized = oldInit; throw; } + + CB_EncounterType.Visible = Label_EncounterType.Visible = pkm.Gen4 && pkm.Format < 7; + fieldsInitialized = oldInit; + updateIVs(null, null); + updatePKRSInfected(null, null); + updatePKRSCured(null, null); + + if (HaX) // Load original values from pk not pkm + { + MT_Level.Text = (pk.Stat_HPMax != 0 ? pk.Stat_Level : PKX.getLevel(pk.Species, pk.EXP)).ToString(); + TB_EXP.Text = pk.EXP.ToString(); + MT_Form.Text = pk.AltForm.ToString(); + if (pk.Stat_HPMax != 0) // stats present + { + Stat_HP.Text = pk.Stat_HPCurrent.ToString(); + Stat_ATK.Text = pk.Stat_ATK.ToString(); + Stat_DEF.Text = pk.Stat_DEF.ToString(); + Stat_SPA.Text = pk.Stat_SPA.ToString(); + Stat_SPD.Text = pk.Stat_SPD.ToString(); + Stat_SPE.Text = pk.Stat_SPE.ToString(); + } + } + fieldsLoaded = true; + + Label_HatchCounter.Visible = CHK_IsEgg.Checked && pkm.Format > 1; + Label_Friendship.Visible = !CHK_IsEgg.Checked && pkm.Format > 1; + + // Set the Preview Box + UpdatePreviewSprite(this, null); + setMarkings(); + updateLegality(); + lastData = preparePKM()?.Data; + } + public void updateLegality(LegalityAnalysis la = null, bool skipMoveRepop = false) + { + if (!fieldsLoaded) + return; + + Legality = la ?? new LegalityAnalysis(pkm); + if (!Legality.Parsed || HaX || pkm.Species == 0) + { + PB_WarnMove1.Visible = PB_WarnMove2.Visible = PB_WarnMove3.Visible = PB_WarnMove4.Visible = + PB_WarnRelearn1.Visible = PB_WarnRelearn2.Visible = PB_WarnRelearn3.Visible = PB_WarnRelearn4.Visible = false; + IsLegal = null; + return; + } + + IsLegal = Legality.Valid; + + // Refresh Move Legality + for (int i = 0; i < 4; i++) + movePB[i].Visible = !Legality.vMoves[i].Valid; + + if (pkm.Format >= 6) + for (int i = 0; i < 4; i++) + relearnPB[i].Visible = !Legality.vRelearn[i].Valid; + + if (skipMoveRepop) + return; + // Resort moves + bool tmp = fieldsLoaded; + fieldsLoaded = false; + var cb = new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }; + var moves = Legality.AllSuggestedMovesAndRelearn; + var moveList = GameInfo.MoveDataSource.OrderByDescending(m => moves.Contains(m.Value)).ToArray(); + foreach (ComboBox c in cb) + { + var index = WinFormsUtil.getIndex(c); + c.DataSource = new BindingSource(moveList, null); + c.SelectedValue = index; + if (c.Visible) + c.SelectionLength = 0; // flicker hack + } + fieldsLoaded |= tmp; + LegalityChanged?.Invoke(this, null); + } + public void updateUnicode(string[] symbols) + { + gendersymbols = symbols; + if (!Unicode) + { + BTN_Shinytize.Text = "*"; + TB_Nickname.Font = TB_OT.Font = TB_OTt2.Font = Label_TID.Font; + } + else + { + BTN_Shinytize.Text = "☆"; + TB_Nickname.Font = TB_OT.Font = TB_OTt2.Font = FontUtil.getPKXFont(11); + } + // Switch active gender labels to new if they are active. + if (PKX.getGender(Label_Gender.Text) < 2) + Label_Gender.Text = gendersymbols[PKX.getGender(Label_Gender.Text)]; + if (PKX.getGender(Label_OTGender.Text) < 2) + Label_OTGender.Text = gendersymbols[PKX.getGender(Label_OTGender.Text)]; + if (PKX.getGender(Label_CTGender.Text) < 2) + Label_CTGender.Text = gendersymbols[PKX.getGender(Label_CTGender.Text)]; + } + + // General Use Functions // + private Color getGenderColor(int gender) + { + if (gender == 0) // male + return Color.Blue; + if (gender == 1) // female + return Color.Red; + return CB_Species.ForeColor; + } + private void setDetailsOT(SaveFile SAV) + { + if (SAV?.Exportable != true) + return; + + // Get Save Information + TB_OT.Text = SAV.OT; + Label_OTGender.Text = gendersymbols[SAV.Gender & 1]; + Label_OTGender.ForeColor = getGenderColor(SAV.Gender & 1); + TB_TID.Text = SAV.TID.ToString("00000"); + TB_SID.Text = SAV.SID.ToString("00000"); + + if (SAV.Game >= 0) + CB_GameOrigin.SelectedValue = SAV.Game; + if (SAV.Language >= 0) + CB_Language.SelectedValue = SAV.Language; + if (SAV.HasGeolocation) + { + CB_3DSReg.SelectedValue = SAV.ConsoleRegion; + CB_Country.SelectedValue = SAV.Country; + CB_SubRegion.SelectedValue = SAV.SubRegion; + } + updateNickname(null, null); + } + private void setDetailsHT(SaveFile SAV) + { + if (SAV?.Exportable != true) + return; + + if (TB_OTt2.Text.Length > 0) + Label_CTGender.Text = gendersymbols[SAV.Gender & 1]; + } + private void setForms() + { + int species = WinFormsUtil.getIndex(CB_Species); + if (pkm.Format < 4 && species != 201) + { + Label_Form.Visible = CB_Form.Visible = CB_Form.Enabled = false; + return; + } + + bool hasForms = pkm.PersonalInfo.HasFormes || new[] { 201, 664, 665, 414 }.Contains(species); + CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = hasForms; + + if (HaX && pkm.Format >= 4) + Label_Form.Visible = true; + + if (!hasForms) + return; + + var ds = PKX.getFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, pkm.Format).ToList(); + if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) // empty (Alolan Totems) + CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = false; + else CB_Form.DataSource = ds; + } + private void setAbilityList() + { + if (pkm.Format < 3) // no abilities + return; + + if (pkm.Format > 3) // has forms + pkm.AltForm = CB_Form.SelectedIndex; + + int[] abils = pkm.PersonalInfo.Abilities; + if (abils[1] == 0 && pkm.Format != 3) + abils[1] = abils[0]; + string[] abilIdentifier = { " (1)", " (2)", " (H)" }; + List ability_list = abils.Where(a => a != 0).Select((t, i) => GameInfo.Strings.abilitylist[t] + abilIdentifier[i]).ToList(); + if (!ability_list.Any()) + ability_list.Add(GameInfo.Strings.abilitylist[0] + abilIdentifier[0]); + + bool tmp = fieldsLoaded; + fieldsLoaded = false; + int abil = CB_Ability.SelectedIndex; + CB_Ability.DataSource = ability_list; + CB_Ability.SelectedIndex = abil < 0 || abil >= CB_Ability.Items.Count ? 0 : abil; + fieldsLoaded = tmp; + } + private void setIsShiny(object sender) + { + if (sender == TB_PID) + pkm.PID = Util.getHEXval(TB_PID.Text); + else if (sender == TB_TID) + pkm.TID = (int)Util.ToUInt32(TB_TID.Text); + else if (sender == TB_SID) + pkm.SID = (int)Util.ToUInt32(TB_SID.Text); + + bool isShiny = pkm.IsShiny; + + // Set the Controls + BTN_Shinytize.Visible = BTN_Shinytize.Enabled = !isShiny; + Label_IsShiny.Visible = isShiny; + + // Refresh Markings (for Shiny Star if applicable) + setMarkings(); + } + private void setMarkings() + { + double getOpacity(bool b) => b ? 1 : 0.175; + PictureBox[] pba = { PB_Mark1, PB_Mark2, PB_Mark3, PB_Mark4, PB_Mark5, PB_Mark6 }; + for (int i = 0; i < pba.Length; i++) + pba[i].Image = ImageUtil.ChangeOpacity(pba[i].InitialImage, getOpacity(pkm.Markings[i] != 0)); + + PB_MarkShiny.Image = ImageUtil.ChangeOpacity(PB_MarkShiny.InitialImage, getOpacity(!BTN_Shinytize.Enabled)); + PB_MarkCured.Image = ImageUtil.ChangeOpacity(PB_MarkCured.InitialImage, getOpacity(CHK_Cured.Checked)); + + PB_MarkPentagon.Image = ImageUtil.ChangeOpacity(PB_MarkPentagon.InitialImage, getOpacity(pkm.Gen6)); + + // Gen7 Markings + if (pkm.Format != 7) + return; + + PB_MarkAlola.Image = ImageUtil.ChangeOpacity(PB_MarkAlola.InitialImage, getOpacity(pkm.Gen7)); + PB_MarkVC.Image = ImageUtil.ChangeOpacity(PB_MarkVC.InitialImage, getOpacity(pkm.VC)); + PB_MarkHorohoro.Image = ImageUtil.ChangeOpacity(PB_MarkHorohoro.InitialImage, getOpacity(pkm.Horohoro)); + + for (int i = 0; i < pba.Length; i++) + { + switch (pkm.Markings[i]) + { + case 1: + pba[i].Image = ImageUtil.ChangeAllColorTo(pba[i].Image, Color.FromArgb(000, 191, 255)); + break; + case 2: + pba[i].Image = ImageUtil.ChangeAllColorTo(pba[i].Image, Color.FromArgb(255, 117, 179)); + break; + } + } + } + private void updateGender() + { + int cg = PKX.getGender(Label_Gender.Text); + int gt = pkm.PersonalInfo.Gender; + + int Gender; + if (gt == 255) // Genderless + Gender = 2; + else if (gt == 254) // Female Only + Gender = 1; + else if (gt == 0) // Male Only + Gender = 0; + else if (cg == 2 || WinFormsUtil.getIndex(CB_GameOrigin) < 24) + Gender = (Util.getHEXval(TB_PID.Text) & 0xFF) <= gt ? 1 : 0; + else + Gender = cg; + + Label_Gender.Text = gendersymbols[Gender]; + Label_Gender.ForeColor = getGenderColor(Gender); + } + private void updateStats() + { + // Generate the stats. + pkm.setStats(pkm.getStats(pkm.PersonalInfo)); + + Stat_HP.Text = pkm.Stat_HPCurrent.ToString(); + Stat_ATK.Text = pkm.Stat_ATK.ToString(); + Stat_DEF.Text = pkm.Stat_DEF.ToString(); + Stat_SPA.Text = pkm.Stat_SPA.ToString(); + Stat_SPD.Text = pkm.Stat_SPD.ToString(); + Stat_SPE.Text = pkm.Stat_SPE.ToString(); + + // Recolor the Stat Labels based on boosted stats. + { + int incr = pkm.Nature / 5; + int decr = pkm.Nature % 5; + + Label[] labarray = { Label_ATK, Label_DEF, Label_SPE, Label_SPA, Label_SPD }; + // Reset Label Colors + foreach (Label label in labarray) + label.ResetForeColor(); + + // Set Colored StatLabels only if Nature isn't Neutral + if (incr == decr) return; + labarray[incr].ForeColor = Color.Red; + labarray[decr].ForeColor = Color.Blue; + } + } + private void setCountrySubRegion(ComboBox CB, string type) + { + int index = CB.SelectedIndex; + // fix for Korean / Chinese being swapped + string cl = GameInfo.CurrentLanguage + ""; + cl = cl == "zh" ? "ko" : cl == "ko" ? "zh" : cl; + + CB.DataSource = Util.getCBList(type, cl); + + if (index > 0 && index < CB.Items.Count && fieldsInitialized) + CB.SelectedIndex = index; + } + + // Prompted Updates of PKM // + private void clickFriendship(object sender, EventArgs e) + { + if (ModifierKeys == Keys.Control) // prompt to reset + TB_Friendship.Text = pkm.CurrentFriendship.ToString(); + else + TB_Friendship.Text = TB_Friendship.Text == "255" ? pkm.PersonalInfo.BaseFriendship.ToString() : "255"; + } + private void clickLevel(object sender, EventArgs e) + { + if (ModifierKeys == Keys.Control) + ((MaskedTextBox)sender).Text = "100"; + } + private void clickGender(object sender, EventArgs e) + { + // Get Gender Threshold + int gt = pkm.PersonalInfo.Gender; + + if (gt == 255 || gt == 0 || gt == 254) // Single gender/genderless + return; + + if (gt >= 255) return; + // If not a single gender(less) species: (should be <254 but whatever, 255 never happens) + + int newGender = PKX.getGender(Label_Gender.Text) ^ 1; + if (pkm.Format == 2) + do { TB_ATKIV.Text = (Util.rnd32() & pkm.MaxIV).ToString(); } while (PKX.getGender(Label_Gender.Text) != newGender); + else if (pkm.Format <= 4) + { + pkm.Species = WinFormsUtil.getIndex(CB_Species); + pkm.Version = WinFormsUtil.getIndex(CB_GameOrigin); + pkm.Nature = WinFormsUtil.getIndex(CB_Nature); + pkm.AltForm = CB_Form.SelectedIndex; + + pkm.setPIDGender(newGender); + TB_PID.Text = pkm.PID.ToString("X8"); + } + pkm.Gender = newGender; + Label_Gender.Text = gendersymbols[pkm.Gender]; + Label_Gender.ForeColor = getGenderColor(pkm.Gender); + + if (PKX.getGender(CB_Form.Text) < 2) // Gendered Forms + CB_Form.SelectedIndex = PKX.getGender(Label_Gender.Text); + + UpdatePreviewSprite(Label_Gender, null); + } + private void clickPPUps(object sender, EventArgs e) + { + CB_PPu1.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move1) > 0 ? 3 : 0; + CB_PPu2.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move2) > 0 ? 3 : 0; + CB_PPu3.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move3) > 0 ? 3 : 0; + CB_PPu4.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move4) > 0 ? 3 : 0; + } + private void clickMarking(object sender, EventArgs e) + { + PictureBox[] pba = { PB_Mark1, PB_Mark2, PB_Mark3, PB_Mark4, PB_Mark5, PB_Mark6 }; + int index = Array.IndexOf(pba, sender); + + // Handling Gens 3-6 + int[] markings = pkm.Markings; + switch (pkm.Format) + { + case 3: + case 4: + case 5: + case 6: // on/off + markings[index] ^= 1; // toggle + pkm.Markings = markings; + break; + case 7: // 0 (none) | 1 (blue) | 2 (pink) + markings[index] = (markings[index] + 1) % 3; // cycle + pkm.Markings = markings; + break; + default: + return; + } + setMarkings(); + } + private void clickStatLabel(object sender, MouseEventArgs e) + { + if (!(ModifierKeys == Keys.Control || ModifierKeys == Keys.Alt)) + return; + + if (sender == Label_SPC) + sender = Label_SPA; + int index = Array.IndexOf(new[] { Label_HP, Label_ATK, Label_DEF, Label_SPA, Label_SPD, Label_SPE }, sender); + + if (ModifierKeys == Keys.Alt) // EV + { + var mt = new[] { TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPAEV, TB_SPDEV, TB_SPEEV }[index]; + if (e.Button == MouseButtons.Left) // max + mt.Text = pkm.Format >= 3 + ? Math.Min(Math.Max(510 - Util.ToInt32(TB_EVTotal.Text) + Util.ToInt32(mt.Text), 0), 252).ToString() + : ushort.MaxValue.ToString(); + else // min + mt.Text = 0.ToString(); + } + else + new[] { TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV }[index].Text = + (e.Button == MouseButtons.Left ? pkm.MaxIV : 0).ToString(); + } + private void clickIV(object sender, EventArgs e) + { + if (ModifierKeys == Keys.Control) + if (pkm.Format < 7) + ((MaskedTextBox)sender).Text = pkm.MaxIV.ToString(); + else + { + var index = Array.IndexOf(new[] { TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV }, sender); + pkm.HyperTrainInvert(index); + updateIVs(sender, e); + } + else if (ModifierKeys == Keys.Alt) + ((MaskedTextBox)sender).Text = 0.ToString(); + } + private void clickEV(object sender, EventArgs e) + { + MaskedTextBox mt = (MaskedTextBox)sender; + if (ModifierKeys == Keys.Control) // EV + mt.Text = pkm.Format >= 3 + ? Math.Min(Math.Max(510 - Util.ToInt32(TB_EVTotal.Text) + Util.ToInt32(mt.Text), 0), 252).ToString() + : ushort.MaxValue.ToString(); + else if (ModifierKeys == Keys.Alt) + mt.Text = 0.ToString(); + } + private void clickOT(object sender, EventArgs e) => setDetailsOT(SaveFileRequested?.Invoke(this, e)); + private void clickCT(object sender, EventArgs e) => setDetailsHT(SaveFileRequested?.Invoke(this, e)); + private void clickTRGender(object sender, EventArgs e) + { + Label lbl = sender as Label; + if (!string.IsNullOrWhiteSpace(lbl?.Text)) // set gender label (toggle M/F) + { + int gender = PKX.getGender(lbl.Text) ^ 1; + lbl.Text = gendersymbols[gender]; + lbl.ForeColor = getGenderColor(gender); + } + } + private void clickMetLocation(object sender, EventArgs e) + { + if (HaX) + return; + + pkm = preparePKM(); + updateLegality(skipMoveRepop: true); + if (Legality.Valid) + return; + + var encounter = Legality.getSuggestedMetInfo(); + if (encounter == null || (pkm.Format >= 3 && encounter.Location < 0)) + { + WinFormsUtil.Alert("Unable to provide a suggestion."); + return; + } + + int level = encounter.Level; + int location = encounter.Location; + int minlvl = Legal.getLowestLevel(pkm, encounter.Species); + if (minlvl == 0) + minlvl = level; + + if (pkm.CurrentLevel >= minlvl && pkm.Met_Level == level && pkm.Met_Location == location) + return; + if (minlvl < level) + minlvl = level; + + var suggestion = new List { "Suggested:" }; + if (pkm.Format >= 3) + { + var met_list = GameInfo.getLocationList((GameVersion)pkm.Version, pkm.Format, egg: false); + var locstr = met_list.FirstOrDefault(loc => loc.Value == location)?.Text; + suggestion.Add($"Met Location: {locstr}"); + suggestion.Add($"Met Level: {level}"); + } + if (pkm.CurrentLevel < minlvl) + suggestion.Add($"Current Level: {minlvl}"); + + if (suggestion.Count == 1) // no suggestion + return; + + string suggest = string.Join(Environment.NewLine, suggestion); + if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, suggest) != DialogResult.Yes) + return; + + if (pkm.Format >= 3) + { + TB_MetLevel.Text = level.ToString(); + CB_MetLocation.SelectedValue = location; + } + + if (pkm.CurrentLevel < minlvl) + TB_Level.Text = minlvl.ToString(); + + pkm = preparePKM(); + updateLegality(); + } + private void clickGT(object sender, EventArgs e) + { + if (!GB_nOT.Visible) + return; + if (sender == GB_OT) + { + pkm.CurrentHandler = 0; + GB_OT.BackgroundImage = mixedHighlight; + GB_nOT.BackgroundImage = null; + } + else if (TB_OTt2.Text.Length > 0) + { + pkm.CurrentHandler = 1; + GB_OT.BackgroundImage = null; + GB_nOT.BackgroundImage = mixedHighlight; + } + TB_Friendship.Text = pkm.CurrentFriendship.ToString(); + } + private void clickMoves(object sender, EventArgs e) + { + updateLegality(skipMoveRepop: true); + if (sender == GB_CurrentMoves) + { + bool random = ModifierKeys == Keys.Control; + int[] m = Legality.getSuggestedMoves(tm: random, tutor: random, reminder: random); + if (m == null) + { WinFormsUtil.Alert("Suggestions are not enabled for this PKM format."); return; } + + if (random) + Util.Shuffle(m); + if (m.Length > 4) + m = m.Skip(m.Length - 4).ToArray(); + Array.Resize(ref m, 4); + + if (pkm.Moves.SequenceEqual(m)) + return; + + string r = string.Join(Environment.NewLine, m.Select(v => v >= GameInfo.Strings.movelist.Length ? "ERROR" : GameInfo.Strings.movelist[v])); + if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Apply suggested current moves?", r)) + return; + + CB_Move1.SelectedValue = m[0]; + CB_Move2.SelectedValue = m[1]; + CB_Move3.SelectedValue = m[2]; + CB_Move4.SelectedValue = m[3]; + } + else if (sender == GB_RelearnMoves) + { + int[] m = Legality.getSuggestedRelearn(); + if (!pkm.WasEgg && !pkm.WasEvent && !pkm.WasEventEgg && !pkm.WasLink) + { + var encounter = Legality.getSuggestedMetInfo(); + if (encounter != null) + m = encounter.Relearn; + } + + if (pkm.RelearnMoves.SequenceEqual(m)) + return; + + string r = string.Join(Environment.NewLine, m.Select(v => v >= GameInfo.Strings.movelist.Length ? "ERROR" : GameInfo.Strings.movelist[v])); + if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Apply suggested relearn moves?", r)) + return; + + CB_RelearnMove1.SelectedValue = m[0]; + CB_RelearnMove2.SelectedValue = m[1]; + CB_RelearnMove3.SelectedValue = m[2]; + CB_RelearnMove4.SelectedValue = m[3]; + } + + updateLegality(); + } + + private void updateIVs(object sender, EventArgs e) + { + if (changingFields || !fieldsInitialized) return; + if (sender != null && Util.ToInt32(((MaskedTextBox)sender).Text) > pkm.MaxIV) + ((MaskedTextBox)sender).Text = pkm.MaxIV.ToString("00"); + + changingFields = true; + + // Update IVs + pkm.IV_HP = Util.ToInt32(TB_HPIV.Text); + pkm.IV_ATK = Util.ToInt32(TB_ATKIV.Text); + pkm.IV_DEF = Util.ToInt32(TB_DEFIV.Text); + pkm.IV_SPE = Util.ToInt32(TB_SPEIV.Text); + pkm.IV_SPA = Util.ToInt32(TB_SPAIV.Text); + pkm.IV_SPD = Util.ToInt32(TB_SPDIV.Text); + + var IV_Boxes = new[] { TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV }; + var HT_Vals = new[] { pkm.HT_HP, pkm.HT_ATK, pkm.HT_DEF, pkm.HT_SPA, pkm.HT_SPD, pkm.HT_SPE }; + for (int i = 0; i < IV_Boxes.Length; i++) + if (HT_Vals[i]) + IV_Boxes[i].BackColor = Color.LightGreen; + else + IV_Boxes[i].ResetBackColor(); + + if (pkm.Format < 3) + { + TB_HPIV.Text = pkm.IV_HP.ToString(); + TB_SPDIV.Text = TB_SPAIV.Text; + if (pkm.Format == 2) + { + Label_Gender.Text = gendersymbols[pkm.Gender]; + Label_Gender.ForeColor = getGenderColor(pkm.Gender); + if (pkm.Species == 201 && e != null) // Unown + CB_Form.SelectedIndex = pkm.AltForm; + } + setIsShiny(null); + UpdatePreviewSprite?.Invoke(this, null); + } + + CB_HPType.SelectedValue = pkm.HPType; + changingFields = false; + + // Potential Reading + L_Potential.Text = (Unicode + ? new[] { "★☆☆☆", "★★☆☆", "★★★☆", "★★★★" } + : new[] { "+", "++", "+++", "++++" } + )[pkm.PotentialRating]; + + TB_IVTotal.Text = pkm.IVs.Sum().ToString(); + + int characteristic = pkm.Characteristic; + L_Characteristic.Visible = Label_CharacteristicPrefix.Visible = characteristic > -1; + if (characteristic > -1) + L_Characteristic.Text = GameInfo.Strings.characteristics[pkm.Characteristic]; + updateStats(); + } + private void updateEVs(object sender, EventArgs e) + { + if (sender is MaskedTextBox m) + { + if (Util.ToInt32(m.Text) > pkm.MaxEV) + { m.Text = pkm.MaxEV.ToString(); return; } // recursive on text set + } + + changingFields = true; + if (sender == TB_HPEV) pkm.EV_HP = Util.ToInt32(TB_HPEV.Text); + else if (sender == TB_ATKEV) pkm.EV_ATK = Util.ToInt32(TB_ATKEV.Text); + else if (sender == TB_DEFEV) pkm.EV_DEF = Util.ToInt32(TB_DEFEV.Text); + else if (sender == TB_SPEEV) pkm.EV_SPE = Util.ToInt32(TB_SPEEV.Text); + else if (sender == TB_SPAEV) pkm.EV_SPA = Util.ToInt32(TB_SPAEV.Text); + else if (sender == TB_SPDEV) pkm.EV_SPD = Util.ToInt32(TB_SPDEV.Text); + + if (pkm.Format < 3) + TB_SPDEV.Text = TB_SPAEV.Text; + + int evtotal = pkm.EVs.Sum(); + + if (evtotal > 510) // Background turns Red + TB_EVTotal.BackColor = Color.Red; + else if (evtotal == 510) // Maximum EVs + TB_EVTotal.BackColor = Color.Honeydew; + else if (evtotal == 508) // Fishy EVs + TB_EVTotal.BackColor = Color.LightYellow; + else TB_EVTotal.BackColor = TB_IVTotal.BackColor; + + TB_EVTotal.Text = evtotal.ToString(); + EVTip.SetToolTip(TB_EVTotal, $"Remaining: {510 - evtotal}"); + changingFields = false; + updateStats(); + } + private void updateBall(object sender, EventArgs e) + { + PB_Ball.Image = PKMUtil.getBallSprite(WinFormsUtil.getIndex(CB_Ball)); + } + private void updateEXPLevel(object sender, EventArgs e) + { + if (changingFields || !fieldsInitialized) return; + + changingFields = true; + if (sender == TB_EXP) + { + // Change the Level + uint EXP = Util.ToUInt32(TB_EXP.Text); + int Species = WinFormsUtil.getIndex(CB_Species); + int Level = PKX.getLevel(Species, EXP); + if (Level == 100) + EXP = PKX.getEXP(100, Species); + + TB_Level.Text = Level.ToString(); + if (!HaX) + TB_EXP.Text = EXP.ToString(); + else if (Level <= 100 && Util.ToInt32(MT_Level.Text) <= 100) + MT_Level.Text = Level.ToString(); + } + else + { + // Change the XP + int Level = Util.ToInt32((HaX ? MT_Level : TB_Level).Text); + if (Level > 100) TB_Level.Text = "100"; + if (Level > byte.MaxValue) MT_Level.Text = "255"; + + if (Level <= 100) + TB_EXP.Text = PKX.getEXP(Level, WinFormsUtil.getIndex(CB_Species)).ToString(); + } + changingFields = false; + if (fieldsLoaded) // store values back + { + pkm.EXP = Util.ToUInt32(TB_EXP.Text); + pkm.Stat_Level = Util.ToInt32((HaX ? MT_Level : TB_Level).Text); + } + updateStats(); + updateLegality(); + } + private void updateHPType(object sender, EventArgs e) + { + if (changingFields || !fieldsInitialized) return; + changingFields = true; + int[] ivs = + { + Util.ToInt32(TB_HPIV.Text), Util.ToInt32(TB_ATKIV.Text), Util.ToInt32(TB_DEFIV.Text), + Util.ToInt32(TB_SPAIV.Text), Util.ToInt32(TB_SPDIV.Text), Util.ToInt32(TB_SPEIV.Text) + }; + + // Change IVs to match the new Hidden Power + int[] newIVs = PKX.setHPIVs(WinFormsUtil.getIndex(CB_HPType), ivs); + TB_HPIV.Text = newIVs[0].ToString(); + TB_ATKIV.Text = newIVs[1].ToString(); + TB_DEFIV.Text = newIVs[2].ToString(); + TB_SPAIV.Text = newIVs[3].ToString(); + TB_SPDIV.Text = newIVs[4].ToString(); + TB_SPEIV.Text = newIVs[5].ToString(); + + // Refresh View + changingFields = false; + updateIVs(null, null); + } + private void updateRandomIVs(object sender, EventArgs e) + { + changingFields = true; + if (ModifierKeys == Keys.Control || ModifierKeys == Keys.Shift) // Max IVs + { + TB_HPIV.Text = TB_ATKIV.Text = TB_DEFIV.Text = TB_SPAIV.Text = TB_SPDIV.Text = TB_SPEIV.Text = pkm.MaxIV.ToString(); + } + else + { + var IVs = pkm.randomizeIVs(); + var IVBoxes = new[] { TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV }; + for (int i = 0; i < 6; i++) + IVBoxes[i].Text = IVs[i].ToString(); + } + changingFields = false; + updateIVs(null, e); + } + private void updateRandomEVs(object sender, EventArgs e) + { + changingFields = true; + + var tb = new[] { TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPAEV, TB_SPDEV, TB_SPEEV }; + bool zero = ModifierKeys == Keys.Control || ModifierKeys == Keys.Shift; + var evs = zero ? new uint[6] : PKX.getRandomEVs(pkm.Format); + for (int i = 0; i < 6; i++) + tb[i].Text = evs[i].ToString(); + + changingFields = false; + updateEVs(null, null); + } + private void updateRandomPID(object sender, EventArgs e) + { + if (pkm.Format < 3) + return; + if (fieldsLoaded) + pkm.PID = Util.getHEXval(TB_PID.Text); + + if (sender == Label_Gender) + pkm.setPIDGender(pkm.Gender); + else if (sender == CB_Nature && pkm.Nature != WinFormsUtil.getIndex(CB_Nature)) + pkm.setPIDNature(WinFormsUtil.getIndex(CB_Nature)); + else if (sender == BTN_RerollPID) + pkm.setPIDGender(pkm.Gender); + else if (sender == CB_Ability && CB_Ability.SelectedIndex != pkm.PIDAbility && pkm.PIDAbility > -1) + pkm.PID = PKX.getRandomPID(pkm.Species, pkm.Gender, pkm.Version, pkm.Nature, pkm.Format, (uint)(CB_Ability.SelectedIndex * 0x10001)); + + TB_PID.Text = pkm.PID.ToString("X8"); + UpdatePreviewSprite?.Invoke(this, null); + if (pkm.GenNumber < 6 && pkm.Format >= 6) + TB_EC.Text = TB_PID.Text; + } + private void updateRandomEC(object sender, EventArgs e) + { + if (pkm.Format < 6) + return; + + int wIndex = Array.IndexOf(Legal.WurmpleEvolutions, WinFormsUtil.getIndex(CB_Species)); + if (wIndex < 0) + { + TB_EC.Text = Util.rnd32().ToString("X8"); + } + else + { + uint EC; + bool valid; + do + { + EC = Util.rnd32(); + uint evoVal; + switch (pkm.GenNumber) + { + case 4: + case 3: evoVal = pkm.EncryptionConstant & 0xFFFF; break; + default: evoVal = pkm.EncryptionConstant >> 16; break; + } + evoVal = evoVal % 10 / 5; + valid = evoVal == wIndex / 2; + } while (!valid); + TB_EC.Text = EC.ToString("X8"); + } + updateLegality(); + } + private void updateHackedStats(object sender, EventArgs e) + { + Stat_HP.Enabled = + Stat_ATK.Enabled = + Stat_DEF.Enabled = + Stat_SPA.Enabled = + Stat_SPD.Enabled = + Stat_SPE.Enabled = CHK_HackedStats.Checked; + } + private void updateHackedStatText(object sender, EventArgs e) + { + if (!CHK_HackedStats.Checked || !(sender is TextBox tb)) + return; + + string text = tb.Text; + if (string.IsNullOrWhiteSpace(text)) + tb.Text = "0"; + + if (Convert.ToUInt32(text) > ushort.MaxValue) + tb.Text = "65535"; + } + private void update255_MTB(object sender, EventArgs e) + { + if (!(sender is MaskedTextBox tb)) return; + if (Util.ToInt32(tb.Text) > byte.MaxValue) + tb.Text = "255"; + } + private void updateForm(object sender, EventArgs e) + { + if (CB_Form == sender && fieldsLoaded) + pkm.AltForm = CB_Form.SelectedIndex; + + updateGender(); + updateStats(); + // Repopulate Abilities if Species Form has different abilities + setAbilityList(); + + // Gender Forms + if (WinFormsUtil.getIndex(CB_Species) == 201 && fieldsLoaded) + { + if (pkm.Format == 3) + { + pkm.setPIDUnown3(CB_Form.SelectedIndex); + TB_PID.Text = pkm.PID.ToString("X8"); + } + else if (pkm.Format == 2) + { + int desiredForm = CB_Form.SelectedIndex; + while (pkm.AltForm != desiredForm) + updateRandomIVs(null, null); + } + } + else if (PKX.getGender(CB_Form.Text) < 2) + { + if (CB_Form.Items.Count == 2) // actually M/F; Pumpkaboo formes in German are S,M,L,XL + Label_Gender.Text = gendersymbols[PKX.getGender(CB_Form.Text)]; + } + + if (changingFields) + return; + changingFields = true; + MT_Form.Text = CB_Form.SelectedIndex.ToString(); + changingFields = false; + + if (fieldsLoaded) + UpdatePreviewSprite?.Invoke(this, null); + } + private void updateHaXForm(object sender, EventArgs e) + { + if (changingFields) + return; + changingFields = true; + int form = pkm.AltForm = Util.ToInt32(MT_Form.Text); + CB_Form.SelectedIndex = CB_Form.Items.Count > form ? form : -1; + changingFields = false; + + if (fieldsLoaded) + UpdatePreviewSprite?.Invoke(this, null); + } + private void updatePP(object sender, EventArgs e) + { + ComboBox[] cbs = { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }; + ComboBox[] pps = { CB_PPu1, CB_PPu2, CB_PPu3, CB_PPu4 }; + MaskedTextBox[] tbs = { TB_PP1, TB_PP2, TB_PP3, TB_PP4 }; + int index = Array.IndexOf(cbs, sender); + if (index < 0) + index = Array.IndexOf(pps, sender); + if (index < 0) + return; + + int move = WinFormsUtil.getIndex(cbs[index]); + int pp = pps[index].SelectedIndex; + if (move == 0 && pp != 0) + { + pps[index].SelectedIndex = 0; + return; // recursively triggers + } + tbs[index].Text = pkm.getMovePP(move, pp).ToString(); + } + private void updatePKRSstrain(object sender, EventArgs e) + { + // Change the PKRS Days to the legal bounds. + int currentDuration = CB_PKRSDays.SelectedIndex; + CB_PKRSDays.Items.Clear(); + foreach (int day in Enumerable.Range(0, CB_PKRSStrain.SelectedIndex % 4 + 2)) CB_PKRSDays.Items.Add(day); + + // Set the days back if they're legal, else set it to 1. (0 always passes). + CB_PKRSDays.SelectedIndex = currentDuration < CB_PKRSDays.Items.Count ? currentDuration : 1; + + if (CB_PKRSStrain.SelectedIndex != 0) return; + + // Never Infected + CB_PKRSDays.SelectedIndex = 0; + CHK_Cured.Checked = false; + CHK_Infected.Checked = false; + } + private void updatePKRSdays(object sender, EventArgs e) + { + if (CB_PKRSDays.SelectedIndex != 0) return; + + // If no days are selected + if (CB_PKRSStrain.SelectedIndex == 0) + CHK_Cured.Checked = CHK_Infected.Checked = false; // No Strain = Never Cured / Infected, triggers Strain update + else CHK_Cured.Checked = true; // Any Strain = Cured + } + private void updatePKRSCured(object sender, EventArgs e) + { + if (!fieldsInitialized) return; + // Cured PokeRus is toggled + if (CHK_Cured.Checked) + { + // Has Had PokeRus + Label_PKRSdays.Visible = CB_PKRSDays.Visible = false; + CB_PKRSDays.SelectedIndex = 0; + + Label_PKRS.Visible = CB_PKRSStrain.Visible = true; + CHK_Infected.Checked = true; + + // If we're cured we have to have a strain infection. + if (CB_PKRSStrain.SelectedIndex == 0) + CB_PKRSStrain.SelectedIndex = 1; + } + else if (!CHK_Infected.Checked) + { + // Not Infected, Disable the other + Label_PKRS.Visible = CB_PKRSStrain.Visible = false; + CB_PKRSStrain.SelectedIndex = 0; + } + else + { + // Still Infected for a duration + Label_PKRSdays.Visible = CB_PKRSDays.Visible = true; + CB_PKRSDays.SelectedValue = 1; + } + // if not cured yet, days > 0 + if (!CHK_Cured.Checked && CHK_Infected.Checked && CB_PKRSDays.SelectedIndex == 0) + CB_PKRSDays.SelectedIndex++; + + setMarkings(); + } + private void updatePKRSInfected(object sender, EventArgs e) + { + if (!fieldsInitialized) return; + if (CHK_Cured.Checked && !CHK_Infected.Checked) { CHK_Cured.Checked = false; return; } + if (CHK_Cured.Checked) return; + Label_PKRS.Visible = CB_PKRSStrain.Visible = CHK_Infected.Checked; + if (!CHK_Infected.Checked) { CB_PKRSStrain.SelectedIndex = 0; CB_PKRSDays.SelectedIndex = 0; Label_PKRSdays.Visible = CB_PKRSDays.Visible = false; } + else if (CB_PKRSStrain.SelectedIndex == 0) { CB_PKRSStrain.SelectedIndex = 1; Label_PKRSdays.Visible = CB_PKRSDays.Visible = true; updatePKRSCured(sender, e); } + + // if not cured yet, days > 0 + if (CHK_Infected.Checked && CB_PKRSDays.SelectedIndex == 0) CB_PKRSDays.SelectedIndex++; + } + private void updateCountry(object sender, EventArgs e) + { + if (WinFormsUtil.getIndex(sender as ComboBox) > 0) + setCountrySubRegion(CB_SubRegion, "sr_" + WinFormsUtil.getIndex(sender as ComboBox).ToString("000")); + } + private void updateSpecies(object sender, EventArgs e) + { + // Get Species dependent information + pkm.Species = WinFormsUtil.getIndex(CB_Species); + setAbilityList(); + setForms(); + updateForm(null, null); + + if (!fieldsLoaded) + return; + + // Recalculate EXP for Given Level + uint EXP = PKX.getEXP(pkm.CurrentLevel, pkm.Species); + TB_EXP.Text = EXP.ToString(); + + // Check for Gender Changes + updateGender(); + + // If species changes and no nickname, set the new name == speciesName. + if (!CHK_Nicknamed.Checked) + updateNickname(sender, e); + + updateLegality(); + } + private void updateOriginGame(object sender, EventArgs e) + { + GameVersion Version = (GameVersion)WinFormsUtil.getIndex(CB_GameOrigin); + + // check if differs + GameVersion newTrack = GameUtil.getMetLocationVersionGroup(Version); + if (newTrack != origintrack) + { + var met_list = GameInfo.getLocationList(Version, pkm.Format, egg: false); + CB_MetLocation.DisplayMember = "Text"; + CB_MetLocation.ValueMember = "Value"; + CB_MetLocation.DataSource = new BindingSource(met_list, null); + + int metLoc = 0; // transporter or pal park for past gen pkm + switch (newTrack) + { + case GameVersion.GO: metLoc = 30012; break; + case GameVersion.RBY: metLoc = 30013; break; + } + if (metLoc != 0) + CB_MetLocation.SelectedValue = metLoc; + else + CB_MetLocation.SelectedIndex = metLoc; + + var egg_list = GameInfo.getLocationList(Version, pkm.Format, egg: true); + CB_EggLocation.DisplayMember = "Text"; + CB_EggLocation.ValueMember = "Value"; + CB_EggLocation.DataSource = new BindingSource(egg_list, null); + CB_EggLocation.SelectedIndex = CHK_AsEgg.Checked ? 1 : 0; // daycare : none + + origintrack = newTrack; + + // Stretch C/XD met location dropdowns + int width = CB_EggLocation.DropDownWidth; + if (Version == GameVersion.CXD && pkm.Format == 3) + width = 2 * width; + CB_MetLocation.DropDownWidth = width; + } + + // Visibility logic for Gen 4 encounter type; only show for Gen 4 Pokemon. + if (pkm.Format >= 4) + { + bool g4 = Version >= GameVersion.HG && Version <= GameVersion.Pt; + if ((int)Version == 9) // invalid + g4 = false; + CB_EncounterType.Visible = Label_EncounterType.Visible = g4 && pkm.Format < 7; + if (!g4) + CB_EncounterType.SelectedValue = 0; + } + + if (!fieldsLoaded) + return; + pkm.Version = (int)Version; + setMarkings(); // Set/Remove KB marking + updateLegality(); + } + private void updateExtraByteValue(object sender, EventArgs e) + { + if (CB_ExtraBytes.Items.Count == 0) + return; + // Changed Extra Byte's Value + if (Util.ToInt32(((MaskedTextBox)sender).Text) > byte.MaxValue) + ((MaskedTextBox)sender).Text = "255"; + + int value = Util.ToInt32(TB_ExtraByte.Text); + int offset = Convert.ToInt32(CB_ExtraBytes.Text, 16); + pkm.Data[offset] = (byte)value; + } + private void updateExtraByteIndex(object sender, EventArgs e) + { + if (CB_ExtraBytes.Items.Count == 0) + return; + // Byte changed, need to refresh the Text box for the byte's value. + TB_ExtraByte.Text = pkm.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString(); + } + private void updateNatureModification(object sender, EventArgs e) + { + if (sender != CB_Nature) return; + int nature = WinFormsUtil.getIndex(CB_Nature); + int incr = nature / 5; + int decr = nature % 5; + + Label[] labarray = { Label_ATK, Label_DEF, Label_SPE, Label_SPA, Label_SPD }; + // Reset Label Colors + foreach (Label label in labarray) + label.ResetForeColor(); + + // Set Colored StatLabels only if Nature isn't Neutral + NatureTip.SetToolTip(CB_Nature, + incr != decr + ? $"+{labarray[incr].Text} / -{labarray[decr].Text}".Replace(":", "") + : "-/-"); + } + private void updateIsNicknamed(object sender, EventArgs e) + { + if (!fieldsLoaded) + return; + + pkm.Nickname = TB_Nickname.Text; + if (CHK_Nicknamed.Checked) + return; + + int species = WinFormsUtil.getIndex(CB_Species); + if (species < 1 || species > pkm.MaxSpeciesID) + return; + + if (CHK_IsEgg.Checked) + species = 0; // get the egg name. + + if (PKX.getIsNicknamedAnyLanguage(species, TB_Nickname.Text, pkm.Format)) + CHK_Nicknamed.Checked = true; + } + private void updateNickname(object sender, EventArgs e) + { + if (fieldsInitialized && ModifierKeys == Keys.Control && sender != null) // Import Showdown + { RequestShowdownImport(sender, e); return; } + if (fieldsInitialized && ModifierKeys == Keys.Alt && sender != null) // Export Showdown + { RequestShowdownExport(sender, e); return; } + + int lang = WinFormsUtil.getIndex(CB_Language); + + if (!fieldsInitialized || CHK_Nicknamed.Checked) + return; + + // Fetch Current Species and set it as Nickname Text + int species = WinFormsUtil.getIndex(CB_Species); + if (species < 1 || species > pkm.MaxSpeciesID) + { TB_Nickname.Text = ""; return; } + + if (CHK_IsEgg.Checked) + species = 0; // get the egg name. + + // If name is that of another language, don't replace the nickname + if (sender != CB_Language && species != 0 && !PKX.getIsNicknamedAnyLanguage(species, TB_Nickname.Text, pkm.Format)) + return; + + TB_Nickname.Text = PKX.getSpeciesNameGeneration(species, lang, pkm.Format); + if (pkm.Format == 1) + ((PK1)pkm).setNotNicknamed(); + if (pkm.Format == 2) + ((PK2)pkm).setNotNicknamed(); + } + private void updateNicknameClick(object sender, MouseEventArgs e) + { + TextBox tb = sender as TextBox ?? TB_Nickname; + // Special Character Form + if (ModifierKeys != Keys.Control) + return; + + var SAV = RequestSaveFile; + if (SAV == null) // form did not provide the needed info + return; + + if (tb == TB_Nickname) + { + pkm.Nickname = tb.Text; + var d = new f2_Text(tb, pkm.Nickname_Trash, SAV); + d.ShowDialog(); + tb.Text = d.FinalString; + pkm.Nickname_Trash = d.FinalBytes; + } + else if (tb == TB_OT) + { + pkm.OT_Name = tb.Text; + var d = new f2_Text(tb, pkm.OT_Trash, SAV); + d.ShowDialog(); + tb.Text = d.FinalString; + pkm.OT_Trash = d.FinalBytes; + } + else if (tb == TB_OTt2) + { + pkm.HT_Name = tb.Text; + var d = new f2_Text(tb, pkm.HT_Trash, SAV); + d.ShowDialog(); + tb.Text = d.FinalString; + pkm.HT_Trash = d.FinalBytes; + } + } + private void updateNotOT(object sender, EventArgs e) + { + if (string.IsNullOrWhiteSpace(TB_OTt2.Text)) + { + clickGT(GB_OT, null); // Switch CT over to OT. + Label_CTGender.Text = ""; + TB_Friendship.Text = pkm.CurrentFriendship.ToString(); + } + else if (string.IsNullOrWhiteSpace(Label_CTGender.Text)) + Label_CTGender.Text = gendersymbols[0]; + } + private void updateIsEgg(object sender, EventArgs e) + { + // Display hatch counter if it is an egg, Display Friendship if it is not. + Label_HatchCounter.Visible = CHK_IsEgg.Checked && pkm.Format > 1; + Label_Friendship.Visible = !CHK_IsEgg.Checked && pkm.Format > 1; + + if (!fieldsLoaded) + return; + + pkm.IsEgg = CHK_IsEgg.Checked; + if (CHK_IsEgg.Checked) + { + TB_Friendship.Text = "1"; + + // If we are an egg, it won't have a met location. + CHK_AsEgg.Checked = true; + GB_EggConditions.Enabled = true; + + CAL_MetDate.Value = new DateTime(2000, 01, 01); + + // if egg wasn't originally obtained by OT => Link Trade, else => None + bool isTraded = false; + var SAV = SaveFileRequested?.Invoke(this, e); + if (SAV != null) + isTraded = SAV.OT != TB_OT.Text || SAV.TID != Util.ToInt32(TB_TID.Text) || SAV.SID != Util.ToInt32(TB_SID.Text); + CB_MetLocation.SelectedIndex = isTraded ? 2 : 0; + + if (!CHK_Nicknamed.Checked) + { + TB_Nickname.Text = PKX.getSpeciesNameGeneration(0, WinFormsUtil.getIndex(CB_Language), pkm.Format); + CHK_Nicknamed.Checked = true; + } + } + else // Not Egg + { + if (!CHK_Nicknamed.Checked) + updateNickname(null, null); + + TB_Friendship.Text = pkm.PersonalInfo.BaseFriendship.ToString(); + + if (CB_EggLocation.SelectedIndex == 0) + { + CAL_EggDate.Value = new DateTime(2000, 01, 01); + CHK_AsEgg.Checked = false; + GB_EggConditions.Enabled = false; + } + + if (TB_Nickname.Text == PKX.getSpeciesNameGeneration(0, WinFormsUtil.getIndex(CB_Language), pkm.Format)) + CHK_Nicknamed.Checked = false; + } + + updateNickname(null, null); + UpdatePreviewSprite?.Invoke(this, null); + } + private void updateMetAsEgg(object sender, EventArgs e) + { + GB_EggConditions.Enabled = CHK_AsEgg.Checked; + if (CHK_AsEgg.Checked) + { + if (!fieldsLoaded) + return; + + CAL_EggDate.Value = DateTime.Now; + CB_EggLocation.SelectedIndex = 1; + return; + } + // Remove egg met data + CHK_IsEgg.Checked = false; + CAL_EggDate.Value = new DateTime(2000, 01, 01); + CB_EggLocation.SelectedValue = 0; + + updateLegality(); + } + private void updateShinyPID(object sender, EventArgs e) + { + pkm.TID = Util.ToInt32(TB_TID.Text); + pkm.SID = Util.ToInt32(TB_SID.Text); + pkm.PID = Util.getHEXval(TB_PID.Text); + pkm.Nature = WinFormsUtil.getIndex(CB_Nature); + pkm.Gender = PKX.getGender(Label_Gender.Text); + pkm.AltForm = CB_Form.SelectedIndex; + pkm.Version = WinFormsUtil.getIndex(CB_GameOrigin); + + if (pkm.Format > 2) + pkm.setShinyPID(); + else + { + // IVs determine shininess + // All 10IV except for one where (IV & 2 == 2) [gen specific] + int[] and2 = { 2, 3, 6, 7, 10, 11, 14, 15 }; + int randIV = and2[Util.rnd32() % and2.Length]; + if (pkm.Format == 1) + { + TB_ATKIV.Text = "10"; // an attempt was made + TB_DEFIV.Text = randIV.ToString(); + } + else // pkm.Format == 2 + { + TB_ATKIV.Text = randIV.ToString(); + TB_DEFIV.Text = "10"; + } + TB_SPEIV.Text = "10"; + TB_SPAIV.Text = "10"; + updateIVs(null, null); + } + TB_PID.Text = pkm.PID.ToString("X8"); + + if (pkm.GenNumber < 6 && TB_EC.Visible) + TB_EC.Text = TB_PID.Text; + + UpdatePreviewSprite?.Invoke(this, null); + updateLegality(); + } + private void updateTSV(object sender, EventArgs e) + { + if (pkm.Format < 6) + return; + + string IDstr = $"TSV: {pkm.TSV:d4}"; + if (pkm.Format > 6) + IDstr += Environment.NewLine + $"G7TID: {pkm.TrainerID7:d7}"; + + Tip1.SetToolTip(TB_TID, IDstr); + Tip2.SetToolTip(TB_SID, IDstr); + + pkm.PID = Util.getHEXval(TB_PID.Text); + Tip3.SetToolTip(TB_PID, $"PSV: {pkm.PSV:d4}"); + } + private void update_ID(object sender, EventArgs e) + { + // Trim out nonhex characters + TB_PID.Text = Util.getHEXval(TB_PID.Text).ToString("X8"); + TB_EC.Text = Util.getHEXval(TB_EC.Text).ToString("X8"); + + // Max TID/SID is 65535 + if (Util.ToUInt32(TB_TID.Text) > ushort.MaxValue) TB_TID.Text = "65535"; + if (Util.ToUInt32(TB_SID.Text) > ushort.MaxValue) TB_SID.Text = "65535"; + + setIsShiny(sender); + UpdatePreviewSprite?.Invoke(this, null); + updateIVs(null, null); // If the EC is changed, EC%6 (Characteristic) might be changed. + TB_PID.Select(60, 0); // position cursor at end of field + if (pkm.Format <= 4 && fieldsLoaded) + { + fieldsLoaded = false; + pkm.PID = Util.getHEXval(TB_PID.Text); + CB_Nature.SelectedValue = pkm.Nature; + Label_Gender.Text = gendersymbols[pkm.Gender]; + Label_Gender.ForeColor = getGenderColor(pkm.Gender); + fieldsLoaded = true; + } + } + private void updateShadowID(object sender, EventArgs e) + { + if (!fieldsLoaded) + return; + FLP_Purification.Visible = NUD_ShadowID.Value > 0; + } + private void updatePurification(object sender, EventArgs e) + { + if (!fieldsLoaded) + return; + fieldsLoaded = false; + CHK_Shadow.Checked = NUD_Purification.Value > 0; + fieldsLoaded = true; + } + private void updateShadowCHK(object sender, EventArgs e) + { + if (!fieldsLoaded) + return; + fieldsLoaded = false; + NUD_Purification.Value = CHK_Shadow.Checked ? NUD_Purification.Maximum : 0; + fieldsLoaded = true; + } + private void validateComboBox(object sender) + { + if (!fieldsInitialized) + return; + ComboBox cb = sender as ComboBox; + if (cb == null) + return; + + if (cb.Text == "" && cb.Items.Count > 0) + { cb.SelectedIndex = 0; return; } + if (cb.SelectedValue == null) + cb.BackColor = Color.DarkSalmon; + else + cb.ResetBackColor(); + } + private void validateComboBox(object sender, CancelEventArgs e) + { + if (!(sender is ComboBox)) + return; + + validateComboBox(sender); + + if (fieldsLoaded) + UpdatePreviewSprite?.Invoke(this, null); + } + private void validateComboBox2(object sender, EventArgs e) + { + if (!fieldsInitialized) + return; + validateComboBox(sender, null); + if (fieldsLoaded) + { + if (sender == CB_Ability && pkm.Format >= 6) + TB_AbilityNumber.Text = (1 << CB_Ability.SelectedIndex).ToString(); + if (sender == CB_Ability && pkm.Format <= 5 && CB_Ability.SelectedIndex < 2) // not hidden + updateRandomPID(sender, e); + if (sender == CB_Nature && pkm.Format <= 4) + { + pkm.Nature = CB_Nature.SelectedIndex; + updateRandomPID(sender, e); + } + if (sender == CB_HeldItem || sender == CB_Ability) + updateLegality(); + } + updateNatureModification(sender, null); + updateIVs(null, null); // updating Nature will trigger stats to update as well + } + private void validateMove(object sender, EventArgs e) + { + if (!fieldsInitialized) + return; + validateComboBox(sender); + if (!fieldsLoaded) + return; + + if (new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }.Contains(sender)) // Move + updatePP(sender, e); + + // Legality + pkm.Moves = new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }.Select(WinFormsUtil.getIndex).ToArray(); + pkm.RelearnMoves = new[] { CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 }.Select(WinFormsUtil.getIndex).ToArray(); + updateLegality(skipMoveRepop: true); + } + private void validateMovePaint(object sender, DrawItemEventArgs e) + { + if (e.Index < 0) return; + + var i = (ComboItem)(sender as ComboBox).Items[e.Index]; + var moves = Legality.AllSuggestedMovesAndRelearn; + bool vm = moves != null && moves.Contains(i.Value) && !HaX; + + bool current = (e.State & DrawItemState.Selected) == DrawItemState.Selected; + Brush tBrush = current ? SystemBrushes.HighlightText : new SolidBrush(e.ForeColor); + Brush brush = current ? SystemBrushes.Highlight : vm ? Brushes.PaleGreen : new SolidBrush(e.BackColor); + + e.Graphics.FillRectangle(brush, e.Bounds); + e.Graphics.DrawString(i.Text, e.Font, tBrush, e.Bounds, StringFormat.GenericDefault); + if (current) return; + tBrush.Dispose(); + if (!vm) + brush.Dispose(); + } + private void validateLocation(object sender, EventArgs e) + { + validateComboBox(sender); + if (!fieldsLoaded) + return; + + pkm.Met_Location = WinFormsUtil.getIndex(CB_MetLocation); + pkm.Egg_Location = WinFormsUtil.getIndex(CB_EggLocation); + updateLegality(); + } + private void removedropCB(object sender, KeyEventArgs e) => ((ComboBox)sender).DroppedDown = false; + + // Secondary Windows for Ribbons/Amie/Memories + private void openRibbons(object sender, EventArgs e) + { + new RibbonEditor(pkm).ShowDialog(); + } + private void openMedals(object sender, EventArgs e) + { + new SuperTrainingEditor(pkm).ShowDialog(); + } + private void openHistory(object sender, EventArgs e) + { + // Write back current values + pkm.HT_Name = TB_OTt2.Text; + pkm.OT_Name = TB_OT.Text; + pkm.IsEgg = CHK_IsEgg.Checked; + pkm.CurrentFriendship = Util.ToInt32(TB_Friendship.Text); + new MemoryAmie(pkm).ShowDialog(); + TB_Friendship.Text = pkm.CurrentFriendship.ToString(); + } + + /// + /// Refreshes the interface for the current PKM format. + /// + public void ToggleInterface() + { + Tip1.RemoveAll(); Tip2.RemoveAll(); Tip3.RemoveAll(); // TSV/PSV + + FLP_Country.Visible = FLP_SubRegion.Visible = FLP_3DSRegion.Visible = pkm.Format >= 6; + Label_EncryptionConstant.Visible = BTN_RerollEC.Visible = TB_EC.Visible = pkm.Format >= 6; + GB_nOT.Visible = GB_RelearnMoves.Visible = BTN_Medals.Visible = BTN_History.Visible = pkm.Format >= 6; + + PB_MarkPentagon.Visible = pkm.Format >= 6; + PB_MarkAlola.Visible = PB_MarkVC.Visible = PB_MarkHorohoro.Visible = pkm.Format >= 7; + + FLP_NSparkle.Visible = L_NSparkle.Visible = CHK_NSparkle.Visible = pkm.Format == 5; + + CB_Form.Visible = Label_Form.Visible = CHK_AsEgg.Visible = GB_EggConditions.Visible = PB_Mark5.Visible = PB_Mark6.Visible = pkm.Format >= 4; + + DEV_Ability.Enabled = DEV_Ability.Visible = pkm.Format > 3 && HaX; + CB_Ability.Visible = !DEV_Ability.Enabled && pkm.Format >= 3; + FLP_Nature.Visible = pkm.Format >= 3; + FLP_Ability.Visible = pkm.Format >= 3; + FLP_Language.Visible = pkm.Format >= 3; + GB_ExtraBytes.Visible = GB_ExtraBytes.Enabled = pkm.Format >= 3; + GB_Markings.Visible = pkm.Format >= 3; + BTN_Ribbons.Visible = pkm.Format >= 3; + CB_HPType.Enabled = CB_Form.Enabled = pkm.Format >= 3; + BTN_RerollPID.Visible = Label_PID.Visible = TB_PID.Visible = Label_SID.Visible = TB_SID.Visible = pkm.Format >= 3; + + FLP_FriendshipForm.Visible = pkm.Format >= 2; + FLP_HeldItem.Visible = pkm.Format >= 2; + CHK_IsEgg.Visible = Label_Gender.Visible = pkm.Format >= 2; + FLP_PKRS.Visible = FLP_EggPKRSRight.Visible = pkm.Format >= 2; + Label_OTGender.Visible = pkm.Format >= 2; + + FLP_Purification.Visible = FLP_ShadowID.Visible = pkm is XK3 || pkm is CK3; + NUD_ShadowID.Maximum = 127; + + // HaX override, needs to be after DEV_Ability enabled assignment. + TB_AbilityNumber.Visible = pkm.Format >= 6 && DEV_Ability.Enabled; + + // Met Tab + FLP_MetDate.Visible = pkm.Format >= 4; + FLP_Fateful.Visible = FLP_Ball.Visible = FLP_OriginGame.Visible = pkm.Format >= 3; + FLP_MetLocation.Visible = FLP_MetLevel.Visible = pkm.Format >= 2; + FLP_TimeOfDay.Visible = pkm.Format == 2; + + // Stats + FLP_StatsTotal.Visible = pkm.Format >= 3; + FLP_Characteristic.Visible = pkm.Format >= 3; + FLP_HPType.Visible = pkm.Format >= 2; + + PAN_Contest.Visible = pkm.Format >= 3; + + if (pkm.Format == 1) + { + FLP_SpD.Visible = false; + Label_SPA.Visible = false; + Label_SPC.Visible = true; + TB_HPIV.Enabled = false; + MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; + foreach (var ctrl in evControls) + { + ctrl.Mask = "00000"; + ctrl.Size = Stat_HP.Size; + } + } + else if (pkm.Format == 2) + { + FLP_SpD.Visible = true; + Label_SPA.Visible = true; + Label_SPC.Visible = false; + TB_SPDEV.Enabled = TB_SPDIV.Enabled = false; + TB_HPIV.Enabled = false; + MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; + foreach (var ctrl in evControls) + { + ctrl.Mask = "00000"; + ctrl.Size = Stat_HP.Size; + } + } + else + { + FLP_SpD.Visible = true; + Label_SPA.Visible = true; + Label_SPC.Visible = false; + TB_SPDEV.Enabled = TB_SPDIV.Enabled = true; + TB_HPIV.Enabled = true; + MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; + foreach (var ctrl in evControls) + { + ctrl.Mask = "000"; + ctrl.Size = TB_ExtraByte.Size; + } + } + + // Recenter PKM SubEditors + FLP_PKMEditors.Location = new Point((Tab_OTMisc.Width - FLP_PKMEditors.Width) / 2, FLP_PKMEditors.Location.Y); + } + public void FlickerInterface() + { + tabMain.SelectedTab = Tab_Met; // parent tab of CB_GameOrigin + tabMain.SelectedTab = Tab_Main; // first tab + } + public bool FinalizeInterface(bool init, SaveFile SAV, PKM pk) + { + pkm = pk.GetType() != SAV.PKMType ? SAV.BlankPKM : pk; + if (pkm.Format < 3) + pkm = SAV.BlankPKM; + + bool TranslationRequired = false; + populateFilteredDataSources(SAV); + populateFields(pkm); + fieldsInitialized |= init; + + // SAV Specific Limits + TB_OT.MaxLength = pkm.OTLength; + TB_OTt2.MaxLength = pkm.OTLength; + TB_Nickname.MaxLength = pkm.NickLength; + + // Hide Unused Tabs + if (pkm.Format == 1 && tabMain.TabPages.Contains(Tab_Met)) + tabMain.TabPages.Remove(Tab_Met); + else if (pkm.Format != 1 && !tabMain.TabPages.Contains(Tab_Met)) + { + tabMain.TabPages.Insert(1, Tab_Met); + TranslationRequired = true; + } + + // Common HaX Interface + CHK_HackedStats.Enabled = CHK_HackedStats.Visible = MT_Level.Enabled = MT_Level.Visible = MT_Form.Enabled = MT_Form.Visible = HaX; + TB_Level.Visible = !HaX; + + // Setup PKM Preparation/Extra Bytes + setPKMFormatMode(pkm.Format); + + // pk2 save files do not have an Origin Game stored. Prompt the met location list to update. + if (pkm.Format == 2) + updateOriginGame(null, null); + return TranslationRequired; + } + public void CenterSubEditors() + { + // Recenter PKM SubEditors + FLP_PKMEditors.Location = new Point((Tab_OTMisc.Width - FLP_PKMEditors.Width) / 2, FLP_PKMEditors.Location.Y); + } + + // Loading Setup + public void TemplateFields(PKM template) + { + if (template != null) + { populateFields(template); return; } + CB_GameOrigin.SelectedIndex = 0; + CB_Move1.SelectedValue = 1; + TB_OT.Text = "PKHeX"; + TB_TID.Text = 12345.ToString(); + TB_SID.Text = 54321.ToString(); + int curlang = GameInfo.Language(); + CB_Language.SelectedIndex = curlang > CB_Language.Items.Count - 1 ? 1 : curlang; + CB_Ball.SelectedIndex = Math.Min(0, CB_Ball.Items.Count - 1); + CB_Country.SelectedIndex = Math.Min(0, CB_Country.Items.Count - 1); + CAL_MetDate.Value = CAL_EggDate.Value = DateTime.Today; + CB_Species.SelectedValue = pkm.MaxSpeciesID; + CHK_Nicknamed.Checked = false; + lastData = null; + } + public void EnableDragDrop(DragEventHandler enter, DragEventHandler drop) + { + AllowDrop = true; + DragDrop += drop; + foreach (TabPage tab in tabMain.TabPages) + { + tab.AllowDrop = true; + tab.DragEnter += enter; + tab.DragDrop += drop; + } + } + public void LoadShowdownSet(ShowdownSet Set, SaveFile SAV) + { + CB_Species.SelectedValue = Set.Species; + CHK_Nicknamed.Checked = Set.Nickname != null; + if (Set.Nickname != null) + TB_Nickname.Text = Set.Nickname; + if (Set.Gender != null) + { + int Gender = PKX.getGender(Set.Gender); + Label_Gender.Text = gendersymbols[Gender]; + Label_Gender.ForeColor = getGenderColor(Gender); + } + + // Set Form + string[] formStrings = PKX.getFormList(Set.Species, + Util.getTypesList("en"), + Util.getFormsList("en"), gendersymbols, pkm.Format); + int form = 0; + for (int i = 0; i < formStrings.Length; i++) + if (formStrings[i].Contains(Set.Form ?? "")) + { form = i; break; } + CB_Form.SelectedIndex = Math.Min(CB_Form.Items.Count - 1, form); + + // Set Ability + int[] abilities = SAV.Personal.getAbilities(Set.Species, form); + int ability = Array.IndexOf(abilities, Set.Ability); + if (ability < 0) ability = 0; + CB_Ability.SelectedIndex = ability; + ComboBox[] m = { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }; + for (int i = 0; i < 4; i++) m[i].SelectedValue = Set.Moves[i]; + + // Set Item and Nature + CB_HeldItem.SelectedValue = Set.Item < 0 ? 0 : Set.Item; + CB_Nature.SelectedValue = Set.Nature < 0 ? 0 : Set.Nature; + + // Set IVs + TB_HPIV.Text = Set.IVs[0].ToString(); + TB_ATKIV.Text = Set.IVs[1].ToString(); + TB_DEFIV.Text = Set.IVs[2].ToString(); + TB_SPAIV.Text = Set.IVs[4].ToString(); + TB_SPDIV.Text = Set.IVs[5].ToString(); + TB_SPEIV.Text = Set.IVs[3].ToString(); + + // Set EVs + TB_HPEV.Text = Set.EVs[0].ToString(); + TB_ATKEV.Text = Set.EVs[1].ToString(); + TB_DEFEV.Text = Set.EVs[2].ToString(); + TB_SPAEV.Text = Set.EVs[4].ToString(); + TB_SPDEV.Text = Set.EVs[5].ToString(); + TB_SPEEV.Text = Set.EVs[3].ToString(); + + // Set Level and Friendship + TB_Level.Text = Set.Level.ToString(); + TB_Friendship.Text = Set.Friendship.ToString(); + + // Reset IV/EVs + updateRandomPID(null, null); + updateRandomEC(null, null); + ComboBox[] p = { CB_PPu1, CB_PPu2, CB_PPu3, CB_PPu4 }; + for (int i = 0; i < 4; i++) + p[i].SelectedIndex = m[i].SelectedIndex != 0 ? 3 : 0; // max PP + + if (Set.Shiny) updateShinyPID(null, null); + pkm = preparePKM(); + updateLegality(); + } + public void InitializeLanguage(SaveFile SAV) + { + ComboBox[] cbs = + { + CB_Country, CB_SubRegion, CB_3DSReg, CB_Language, CB_Ball, CB_HeldItem, CB_Species, DEV_Ability, + CB_Nature, CB_EncounterType, CB_GameOrigin, CB_HPType + }; + foreach (var cb in cbs) { cb.DisplayMember = "Text"; cb.ValueMember = "Value"; } + + // Set the various ComboBox DataSources up with their allowed entries + setCountrySubRegion(CB_Country, "countries"); + CB_3DSReg.DataSource = Util.getUnsortedCBList("regions3ds"); + + GameInfo.InitializeDataSources(GameInfo.Strings); + + CB_EncounterType.DataSource = Util.getCBList(GameInfo.Strings.encountertypelist, new[] { 0 }, Legal.Gen4EncounterTypes); + CB_HPType.DataSource = Util.getCBList(GameInfo.Strings.types.Skip(1).Take(16).ToArray(), null); + CB_Nature.DataSource = new BindingSource(GameInfo.NatureDataSource, null); + + populateFilteredDataSources(SAV); + } + + private void populateFilteredDataSources(SaveFile SAV) + { + GameInfo.setItemDataSource(HaX, pkm.MaxItemID, SAV.HeldItems, pkm.Format, SAV.Version, GameInfo.Strings); + if (pkm.Format > 1) + CB_HeldItem.DataSource = new BindingSource(GameInfo.ItemDataSource.Where(i => i.Value <= SAV.MaxItemID).ToList(), null); + + var languages = Util.getUnsortedCBList("languages"); + if (pkm.Format < 7) + languages = languages.Where(l => l.Value <= 8).ToList(); // Korean + CB_Language.DataSource = languages; + + CB_Ball.DataSource = new BindingSource(GameInfo.BallDataSource.Where(b => b.Value <= pkm.MaxBallID).ToList(), null); + CB_Species.DataSource = new BindingSource(GameInfo.SpeciesDataSource.Where(s => s.Value <= pkm.MaxSpeciesID).ToList(), null); + DEV_Ability.DataSource = new BindingSource(GameInfo.AbilityDataSource.Where(a => a.Value <= pkm.MaxAbilityID).ToList(), null); + CB_GameOrigin.DataSource = new BindingSource(GameInfo.VersionDataSource.Where(g => g.Value <= pkm.MaxGameID || pkm.Format >= 3 && g.Value == 15).ToList(), null); + + // Set the Move ComboBoxes too.. + GameInfo.MoveDataSource = (HaX ? GameInfo.HaXMoveDataSource : GameInfo.LegalMoveDataSource).Where(m => m.Value <= SAV.MaxMoveID).ToList(); // Filter Z-Moves if appropriate + foreach (ComboBox cb in new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4, CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 }) + { + cb.DisplayMember = "Text"; cb.ValueMember = "Value"; + cb.DataSource = new BindingSource(GameInfo.MoveDataSource, null); + } + } + } +} diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.resx b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.resx new file mode 100644 index 000000000..b418ccbd0 --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.resx @@ -0,0 +1,1097 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM + xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK + GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM + xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK + GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 + kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ + UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm + y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e + HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 + ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG + JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh + cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN + Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK + SiSLGvswRQAAAABJRU5ErkJggg== + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + 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 + yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v + vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp + vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L + Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA + bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z + llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW + ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s + xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 + eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw + YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR + XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm + WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl + xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 + dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 + V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za + 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 + dQwMAL/BNIG87NYcAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC45bDN+TgAAAEpJREFUKFNjQAMB + QPwAikFsnACk4AMUg9g4wQUghikEsVEAzDqQBLpCEIY7A9k6XBjsDKIVEm01MkBXiBMgOwNsHS4Acwaa + dQwMAL/BNIG87NYcAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAFVJREFUKFNjQAeKioqhUCZuoKSktAqI/wMVd0CFMAFMEQxjVYyuCIZRFCsrK6dh + UwTDQMUuUKVgD8zEpgiIy6FKEACLYkxFMICkGLciGEBxE+mAgQEAw6cxLyPYHYMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAFVJREFUKFNjQAeKioqhUCZuoKSktAqI/wMVd0CFMAFMEQxjVYyuCIZRFCsrK6dh + UwTDQMUuUKVgD8zEpgiIy6FKEACLYkxFMICkGLciGEBxE+mAgQEAw6cxLyPYHYMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAGFJREFUKFNjIA/oVggyGJetYjCpUIKKYAEmFS5ARe8YjMv/gzGIjwGMy8vhClBx + OVQFEBhXhGJRgISB8nCAVQEUowCjsg6sikDiKADsWywKQeIYwLhsJhCfgWMM04gCDAwAOXZIpY+syQoA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAGFJREFUKFNjIA/oVggyGJetYjCpUIKKYAEmFS5ARe8YjMv/gzGIjwGMy8vhClBx + OVQFEBhXhGJRgISB8nCAVQEUowCjsg6sikDiKADsWywKQeIYwLhsJhCfgWMM04gCDAwAOXZIpY+syQoA + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAPklEQVQoU2OA + gf///+PEcKCkpPQOF0ZRDBX8jwW/g6iAApAAmgIaKoS7EUSABNAU4FWIFaMoJAZjFcTE/xkAiduxT7wO + KegAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAPklEQVQoU2OA + gf///+PEcKCkpPQOF0ZRDBX8jwW/g6iAApAAmgIaKoS7EUSABNAU4FWIFaMoJAZjFcTE/xkAiduxT7wO + KegAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHpJREFUKFNjQAeKioodUCZuAFTkoqSk9B9EQ4UwgZycnCBQwRmowrvKysrGUCkI + AEqUgyRxYaCmmVClEHdhUwTEq6BKEAAouBtZEch6qBQqgLkPGUOlUAFUcreqqqoSyF0gPpBG9T3Ih0Cc + BuWCAUgMqDAUyiUWMDAAALO6MzuvKR9eAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHpJREFUKFNjQAeKioodUCZuAFTkoqSk9B9EQ4UwgZycnCBQwRmowrvKysrGUCkI + AEqUgyRxYaCmmVClEHdhUwTEq6BKEAAouBtZEch6qBQqgLkPGUOlUAFUcreqqqoSyF0gPpBG9T3Ih0Cc + BuWCAUgMqDAUyiUWMDAAALO6MzuvKR9eAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAI1JREFUKFOVUEENwzAMDIViKYVBiPcogFIohXIahUKwK5VAIcSz3ZvqaPvspJMv + vpPjpGTodAxadwqaRrtHI16URHvyDPuCPuURxnreoY82DzELkmzRdMwIQrfKL8Ts2spnmO57TbqRCGJp + 4g92E23pMYzF9rISdO29vKPDX5gnBe2bYH/jms4jjv+ilDfBD7LrZqlEjQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAI1JREFUKFOVUEENwzAMDIViKYVBiPcogFIohXIahUKwK5VAIcSz3ZvqaPvspJMv + vpPjpGTodAxadwqaRrtHI16URHvyDPuCPuURxnreoY82DzELkmzRdMwIQrfKL8Ts2spnmO57TbqRCGJp + 4g92E23pMYzF9rISdO29vKPDX5gnBe2bYH/jms4jjv+ilDfBD7LrZqlEjQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAG5JREFUKFNjQAeKioqhUCZuoKysbKykpPQfREOFsAOgot0ghUBTz0CFMAFQ0gWk + CIZxOgFkCprCu1ApBADpRlYEw0C3pkGVQABQ8B26Iih+B1UCVlSOJomCgbZ1gBWqqqoqgYIDFwbJgxUS + BxgYAGs4NknmoWGpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAG5JREFUKFNjQAeKioqhUCZuoKysbKykpPQfREOFsAOgot0ghUBTz0CFMAFQ0gWk + CIZxOgFkCprCu1ApBADpRlYEw0C3pkGVQABQ8B26Iih+B1UCVlSOJomCgbZ1gBWqqqoqgYIDFwbJgxUS + BxgYAGs4NknmoWGpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM + xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK + GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM + xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK + GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAGxJREFUKFNjQAbKysrGQJwGoqFCqEBVVVVJUVHxjJKS0n8YBvHl5OQEoUogAF0R + smKoErAiF2yKYBjuDJCbsCmAYaBBoTCFxtgUwDCKx3C5EYh3Q5VAAMh3IEF0RRi+hgFoMLmAaKgQqYCB + AQDOs0aM0tfjRAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAGxJREFUKFNjQAbKysrGQJwGoqFCqEBVVVVJUVHxjJKS0n8YBvHl5OQEoUogAF0R + smKoErAiF2yKYBjuDJCbsCmAYaBBoTCFxtgUwDCKx3C5EYh3Q5VAAMh3IEF0RRi+hgFoMLmAaKgQqYCB + AQDOs0aM0tfjRAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHBJREFUKFNjgAFlZWVjOTk5QRAbRCsqKrrA+GCgqqqqBATvgPg/iEbnwxUDOeVQ + QTAGmnQGmQ+0KQ2sECjRgSyBjkHyYIUgt2FTAMMgebBCEAA5HJsioHgoVAkCgASRFcHdhg2AJAkqggEU + N5EOGBgAEVY/pv9ltCoAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAHBJREFUKFNjgAFlZWVjOTk5QRAbRCsqKrrA+GCgqqqqBATvgPg/iEbnwxUDOeVQ + QTAGmnQGmQ+0KQ2sECjRgSyBjkHyYIUgt2FTAMMgebBCEAA5HJsioHgoVAkCgASRFcHdhg2AJAkqggEU + N5EOGBgAEVY/pv9ltCoAAAAASUVORK5CYII= + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.Designer.cs b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.Designer.cs new file mode 100644 index 000000000..81c6b883b --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.Designer.cs @@ -0,0 +1,584 @@ +namespace PKHeX.WinForms.Controls +{ + partial class BoxEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BoxEditor)); + this.PAN_Box = new System.Windows.Forms.Panel(); + this.bpkx30 = new System.Windows.Forms.PictureBox(); + this.bpkx29 = new System.Windows.Forms.PictureBox(); + this.bpkx28 = new System.Windows.Forms.PictureBox(); + this.bpkx27 = new System.Windows.Forms.PictureBox(); + this.bpkx26 = new System.Windows.Forms.PictureBox(); + this.bpkx25 = new System.Windows.Forms.PictureBox(); + this.bpkx24 = new System.Windows.Forms.PictureBox(); + this.bpkx23 = new System.Windows.Forms.PictureBox(); + this.bpkx22 = new System.Windows.Forms.PictureBox(); + this.bpkx21 = new System.Windows.Forms.PictureBox(); + this.bpkx20 = new System.Windows.Forms.PictureBox(); + this.bpkx19 = new System.Windows.Forms.PictureBox(); + this.bpkx18 = new System.Windows.Forms.PictureBox(); + this.bpkx17 = new System.Windows.Forms.PictureBox(); + this.bpkx16 = new System.Windows.Forms.PictureBox(); + this.bpkx15 = new System.Windows.Forms.PictureBox(); + this.bpkx14 = new System.Windows.Forms.PictureBox(); + this.bpkx13 = new System.Windows.Forms.PictureBox(); + this.bpkx12 = new System.Windows.Forms.PictureBox(); + this.bpkx11 = new System.Windows.Forms.PictureBox(); + this.bpkx10 = new System.Windows.Forms.PictureBox(); + this.bpkx9 = new System.Windows.Forms.PictureBox(); + this.bpkx8 = new System.Windows.Forms.PictureBox(); + this.bpkx7 = new System.Windows.Forms.PictureBox(); + this.bpkx6 = new System.Windows.Forms.PictureBox(); + this.bpkx5 = new System.Windows.Forms.PictureBox(); + this.bpkx4 = new System.Windows.Forms.PictureBox(); + this.bpkx3 = new System.Windows.Forms.PictureBox(); + this.bpkx2 = new System.Windows.Forms.PictureBox(); + this.bpkx1 = new System.Windows.Forms.PictureBox(); + this.B_BoxRight = new System.Windows.Forms.Button(); + this.B_BoxLeft = new System.Windows.Forms.Button(); + this.CB_BoxSelect = new System.Windows.Forms.ComboBox(); + this.PAN_Box.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).BeginInit(); + this.SuspendLayout(); + // + // PAN_Box + // + this.PAN_Box.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_Box.BackgroundImage"))); + this.PAN_Box.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.PAN_Box.Controls.Add(this.bpkx30); + this.PAN_Box.Controls.Add(this.bpkx29); + this.PAN_Box.Controls.Add(this.bpkx28); + this.PAN_Box.Controls.Add(this.bpkx27); + this.PAN_Box.Controls.Add(this.bpkx26); + this.PAN_Box.Controls.Add(this.bpkx25); + this.PAN_Box.Controls.Add(this.bpkx24); + this.PAN_Box.Controls.Add(this.bpkx23); + this.PAN_Box.Controls.Add(this.bpkx22); + this.PAN_Box.Controls.Add(this.bpkx21); + this.PAN_Box.Controls.Add(this.bpkx20); + this.PAN_Box.Controls.Add(this.bpkx19); + this.PAN_Box.Controls.Add(this.bpkx18); + this.PAN_Box.Controls.Add(this.bpkx17); + this.PAN_Box.Controls.Add(this.bpkx16); + this.PAN_Box.Controls.Add(this.bpkx15); + this.PAN_Box.Controls.Add(this.bpkx14); + this.PAN_Box.Controls.Add(this.bpkx13); + this.PAN_Box.Controls.Add(this.bpkx12); + this.PAN_Box.Controls.Add(this.bpkx11); + this.PAN_Box.Controls.Add(this.bpkx10); + this.PAN_Box.Controls.Add(this.bpkx9); + this.PAN_Box.Controls.Add(this.bpkx8); + this.PAN_Box.Controls.Add(this.bpkx7); + this.PAN_Box.Controls.Add(this.bpkx6); + this.PAN_Box.Controls.Add(this.bpkx5); + this.PAN_Box.Controls.Add(this.bpkx4); + this.PAN_Box.Controls.Add(this.bpkx3); + this.PAN_Box.Controls.Add(this.bpkx2); + this.PAN_Box.Controls.Add(this.bpkx1); + this.PAN_Box.Location = new System.Drawing.Point(0, 25); + this.PAN_Box.Name = "PAN_Box"; + this.PAN_Box.Size = new System.Drawing.Size(251, 160); + this.PAN_Box.TabIndex = 66; + // + // bpkx30 + // + this.bpkx30.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx30.Location = new System.Drawing.Point(207, 126); + this.bpkx30.Name = "bpkx30"; + this.bpkx30.Size = new System.Drawing.Size(42, 32); + this.bpkx30.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx30.TabIndex = 59; + this.bpkx30.TabStop = false; + // + // bpkx29 + // + this.bpkx29.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx29.Location = new System.Drawing.Point(166, 126); + this.bpkx29.Name = "bpkx29"; + this.bpkx29.Size = new System.Drawing.Size(42, 32); + this.bpkx29.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx29.TabIndex = 58; + this.bpkx29.TabStop = false; + // + // bpkx28 + // + this.bpkx28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx28.Location = new System.Drawing.Point(125, 126); + this.bpkx28.Name = "bpkx28"; + this.bpkx28.Size = new System.Drawing.Size(42, 32); + this.bpkx28.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx28.TabIndex = 57; + this.bpkx28.TabStop = false; + // + // bpkx27 + // + this.bpkx27.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx27.Location = new System.Drawing.Point(84, 126); + this.bpkx27.Name = "bpkx27"; + this.bpkx27.Size = new System.Drawing.Size(42, 32); + this.bpkx27.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx27.TabIndex = 56; + this.bpkx27.TabStop = false; + // + // bpkx26 + // + this.bpkx26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx26.Location = new System.Drawing.Point(43, 126); + this.bpkx26.Name = "bpkx26"; + this.bpkx26.Size = new System.Drawing.Size(42, 32); + this.bpkx26.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx26.TabIndex = 55; + this.bpkx26.TabStop = false; + // + // bpkx25 + // + this.bpkx25.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx25.Location = new System.Drawing.Point(2, 126); + this.bpkx25.Name = "bpkx25"; + this.bpkx25.Size = new System.Drawing.Size(42, 32); + this.bpkx25.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx25.TabIndex = 54; + this.bpkx25.TabStop = false; + // + // bpkx24 + // + this.bpkx24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx24.Location = new System.Drawing.Point(207, 95); + this.bpkx24.Name = "bpkx24"; + this.bpkx24.Size = new System.Drawing.Size(42, 32); + this.bpkx24.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx24.TabIndex = 53; + this.bpkx24.TabStop = false; + // + // bpkx23 + // + this.bpkx23.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx23.Location = new System.Drawing.Point(166, 95); + this.bpkx23.Name = "bpkx23"; + this.bpkx23.Size = new System.Drawing.Size(42, 32); + this.bpkx23.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx23.TabIndex = 52; + this.bpkx23.TabStop = false; + // + // bpkx22 + // + this.bpkx22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx22.Location = new System.Drawing.Point(125, 95); + this.bpkx22.Name = "bpkx22"; + this.bpkx22.Size = new System.Drawing.Size(42, 32); + this.bpkx22.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx22.TabIndex = 51; + this.bpkx22.TabStop = false; + // + // bpkx21 + // + this.bpkx21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx21.Location = new System.Drawing.Point(84, 95); + this.bpkx21.Name = "bpkx21"; + this.bpkx21.Size = new System.Drawing.Size(42, 32); + this.bpkx21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx21.TabIndex = 50; + this.bpkx21.TabStop = false; + // + // bpkx20 + // + this.bpkx20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx20.Location = new System.Drawing.Point(43, 95); + this.bpkx20.Name = "bpkx20"; + this.bpkx20.Size = new System.Drawing.Size(42, 32); + this.bpkx20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx20.TabIndex = 49; + this.bpkx20.TabStop = false; + // + // bpkx19 + // + this.bpkx19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx19.Location = new System.Drawing.Point(2, 95); + this.bpkx19.Name = "bpkx19"; + this.bpkx19.Size = new System.Drawing.Size(42, 32); + this.bpkx19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx19.TabIndex = 48; + this.bpkx19.TabStop = false; + // + // bpkx18 + // + this.bpkx18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx18.Location = new System.Drawing.Point(207, 64); + this.bpkx18.Name = "bpkx18"; + this.bpkx18.Size = new System.Drawing.Size(42, 32); + this.bpkx18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx18.TabIndex = 47; + this.bpkx18.TabStop = false; + // + // bpkx17 + // + this.bpkx17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx17.Location = new System.Drawing.Point(166, 64); + this.bpkx17.Name = "bpkx17"; + this.bpkx17.Size = new System.Drawing.Size(42, 32); + this.bpkx17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx17.TabIndex = 46; + this.bpkx17.TabStop = false; + // + // bpkx16 + // + this.bpkx16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx16.Location = new System.Drawing.Point(125, 64); + this.bpkx16.Name = "bpkx16"; + this.bpkx16.Size = new System.Drawing.Size(42, 32); + this.bpkx16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx16.TabIndex = 45; + this.bpkx16.TabStop = false; + // + // bpkx15 + // + this.bpkx15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx15.Location = new System.Drawing.Point(84, 64); + this.bpkx15.Name = "bpkx15"; + this.bpkx15.Size = new System.Drawing.Size(42, 32); + this.bpkx15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx15.TabIndex = 44; + this.bpkx15.TabStop = false; + // + // bpkx14 + // + this.bpkx14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx14.Location = new System.Drawing.Point(43, 64); + this.bpkx14.Name = "bpkx14"; + this.bpkx14.Size = new System.Drawing.Size(42, 32); + this.bpkx14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx14.TabIndex = 43; + this.bpkx14.TabStop = false; + // + // bpkx13 + // + this.bpkx13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx13.Location = new System.Drawing.Point(2, 64); + this.bpkx13.Name = "bpkx13"; + this.bpkx13.Size = new System.Drawing.Size(42, 32); + this.bpkx13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx13.TabIndex = 42; + this.bpkx13.TabStop = false; + // + // bpkx12 + // + this.bpkx12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx12.Location = new System.Drawing.Point(207, 33); + this.bpkx12.Name = "bpkx12"; + this.bpkx12.Size = new System.Drawing.Size(42, 32); + this.bpkx12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx12.TabIndex = 41; + this.bpkx12.TabStop = false; + // + // bpkx11 + // + this.bpkx11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx11.Location = new System.Drawing.Point(166, 33); + this.bpkx11.Name = "bpkx11"; + this.bpkx11.Size = new System.Drawing.Size(42, 32); + this.bpkx11.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx11.TabIndex = 40; + this.bpkx11.TabStop = false; + // + // bpkx10 + // + this.bpkx10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx10.Location = new System.Drawing.Point(125, 33); + this.bpkx10.Name = "bpkx10"; + this.bpkx10.Size = new System.Drawing.Size(42, 32); + this.bpkx10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx10.TabIndex = 39; + this.bpkx10.TabStop = false; + // + // bpkx9 + // + this.bpkx9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx9.Location = new System.Drawing.Point(84, 33); + this.bpkx9.Name = "bpkx9"; + this.bpkx9.Size = new System.Drawing.Size(42, 32); + this.bpkx9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx9.TabIndex = 38; + this.bpkx9.TabStop = false; + // + // bpkx8 + // + this.bpkx8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx8.Location = new System.Drawing.Point(43, 33); + this.bpkx8.Name = "bpkx8"; + this.bpkx8.Size = new System.Drawing.Size(42, 32); + this.bpkx8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx8.TabIndex = 37; + this.bpkx8.TabStop = false; + // + // bpkx7 + // + this.bpkx7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx7.Location = new System.Drawing.Point(2, 33); + this.bpkx7.Name = "bpkx7"; + this.bpkx7.Size = new System.Drawing.Size(42, 32); + this.bpkx7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx7.TabIndex = 36; + this.bpkx7.TabStop = false; + // + // bpkx6 + // + this.bpkx6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx6.Location = new System.Drawing.Point(207, 2); + this.bpkx6.Name = "bpkx6"; + this.bpkx6.Size = new System.Drawing.Size(42, 32); + this.bpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx6.TabIndex = 35; + this.bpkx6.TabStop = false; + // + // bpkx5 + // + this.bpkx5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx5.Location = new System.Drawing.Point(166, 2); + this.bpkx5.Name = "bpkx5"; + this.bpkx5.Size = new System.Drawing.Size(42, 32); + this.bpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx5.TabIndex = 34; + this.bpkx5.TabStop = false; + // + // bpkx4 + // + this.bpkx4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx4.Location = new System.Drawing.Point(125, 2); + this.bpkx4.Name = "bpkx4"; + this.bpkx4.Size = new System.Drawing.Size(42, 32); + this.bpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx4.TabIndex = 33; + this.bpkx4.TabStop = false; + // + // bpkx3 + // + this.bpkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx3.Location = new System.Drawing.Point(84, 2); + this.bpkx3.Name = "bpkx3"; + this.bpkx3.Size = new System.Drawing.Size(42, 32); + this.bpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx3.TabIndex = 32; + this.bpkx3.TabStop = false; + // + // bpkx2 + // + this.bpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx2.Location = new System.Drawing.Point(43, 2); + this.bpkx2.Name = "bpkx2"; + this.bpkx2.Size = new System.Drawing.Size(42, 32); + this.bpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx2.TabIndex = 31; + this.bpkx2.TabStop = false; + // + // bpkx1 + // + this.bpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bpkx1.Location = new System.Drawing.Point(2, 2); + this.bpkx1.Name = "bpkx1"; + this.bpkx1.Size = new System.Drawing.Size(42, 32); + this.bpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.bpkx1.TabIndex = 30; + this.bpkx1.TabStop = false; + // + // B_BoxRight + // + this.B_BoxRight.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.B_BoxRight.Location = new System.Drawing.Point(193, -1); + this.B_BoxRight.Name = "B_BoxRight"; + this.B_BoxRight.Size = new System.Drawing.Size(27, 23); + this.B_BoxRight.TabIndex = 65; + this.B_BoxRight.Text = ">>"; + this.B_BoxRight.UseVisualStyleBackColor = true; + this.B_BoxRight.Click += new System.EventHandler(this.clickBoxRight); + // + // B_BoxLeft + // + this.B_BoxLeft.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.B_BoxLeft.Location = new System.Drawing.Point(31, -1); + this.B_BoxLeft.Name = "B_BoxLeft"; + this.B_BoxLeft.Size = new System.Drawing.Size(27, 23); + this.B_BoxLeft.TabIndex = 64; + this.B_BoxLeft.Text = "<<"; + this.B_BoxLeft.UseVisualStyleBackColor = true; + this.B_BoxLeft.Click += new System.EventHandler(this.clickBoxLeft); + // + // CB_BoxSelect + // + this.CB_BoxSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_BoxSelect.FormattingEnabled = true; + this.CB_BoxSelect.Items.AddRange(new object[] { + "Box 1", + "Box 2", + "Box 3", + "Box 4", + "Box 5", + "Box 6", + "Box 7", + "Box 8", + "Box 9", + "Box 10", + "Box 11", + "Box 12", + "Box 13", + "Box 14", + "Box 15", + "Box 16", + "Box 17", + "Box 18", + "Box 19", + "Box 20", + "Box 21", + "Box 22", + "Box 23", + "Box 24", + "Box 25", + "Box 26", + "Box 27", + "Box 28", + "Box 29", + "Box 30", + "Box 31"}); + this.CB_BoxSelect.Location = new System.Drawing.Point(62, 0); + this.CB_BoxSelect.Name = "CB_BoxSelect"; + this.CB_BoxSelect.Size = new System.Drawing.Size(127, 21); + this.CB_BoxSelect.TabIndex = 63; + this.CB_BoxSelect.SelectedIndexChanged += new System.EventHandler(this.getBox); + // + // BoxEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.PAN_Box); + this.Controls.Add(this.B_BoxRight); + this.Controls.Add(this.B_BoxLeft); + this.Controls.Add(this.CB_BoxSelect); + this.Name = "BoxEditor"; + this.Size = new System.Drawing.Size(251, 185); + this.PAN_Box.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel PAN_Box; + private System.Windows.Forms.PictureBox bpkx30; + private System.Windows.Forms.PictureBox bpkx29; + private System.Windows.Forms.PictureBox bpkx28; + private System.Windows.Forms.PictureBox bpkx27; + private System.Windows.Forms.PictureBox bpkx26; + private System.Windows.Forms.PictureBox bpkx25; + private System.Windows.Forms.PictureBox bpkx24; + private System.Windows.Forms.PictureBox bpkx23; + private System.Windows.Forms.PictureBox bpkx22; + private System.Windows.Forms.PictureBox bpkx21; + private System.Windows.Forms.PictureBox bpkx20; + private System.Windows.Forms.PictureBox bpkx19; + private System.Windows.Forms.PictureBox bpkx18; + private System.Windows.Forms.PictureBox bpkx17; + private System.Windows.Forms.PictureBox bpkx16; + private System.Windows.Forms.PictureBox bpkx15; + private System.Windows.Forms.PictureBox bpkx14; + private System.Windows.Forms.PictureBox bpkx13; + private System.Windows.Forms.PictureBox bpkx12; + private System.Windows.Forms.PictureBox bpkx11; + private System.Windows.Forms.PictureBox bpkx10; + private System.Windows.Forms.PictureBox bpkx9; + private System.Windows.Forms.PictureBox bpkx8; + private System.Windows.Forms.PictureBox bpkx7; + private System.Windows.Forms.PictureBox bpkx6; + private System.Windows.Forms.PictureBox bpkx5; + private System.Windows.Forms.PictureBox bpkx4; + private System.Windows.Forms.PictureBox bpkx3; + private System.Windows.Forms.PictureBox bpkx2; + private System.Windows.Forms.PictureBox bpkx1; + private System.Windows.Forms.Button B_BoxRight; + private System.Windows.Forms.Button B_BoxLeft; + private System.Windows.Forms.ComboBox CB_BoxSelect; + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.cs b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.cs new file mode 100644 index 000000000..ed4c97a89 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.cs @@ -0,0 +1,234 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Media; +using System.Windows.Forms; +using PKHeX.Core; + +namespace PKHeX.WinForms.Controls +{ + public partial class BoxEditor : UserControl + { + public readonly List SlotPictureBoxes; + public readonly int BoxSlotCount; + public SlotChangeManager M; + private SaveFile SAV => M?.SE.SAV; + public bool FlagIllegal; + + public BoxEditor() + { + InitializeComponent(); + SlotPictureBoxes = new List(); + SlotPictureBoxes.AddRange(new[] + { + bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6, + bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12, + bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18, + bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24, + bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30, + }); + BoxSlotCount = SlotPictureBoxes.Count; + foreach (var pb in SlotPictureBoxes) + { + pb.MouseEnter += pbBoxSlot_MouseEnter; + pb.MouseLeave += pbBoxSlot_MouseLeave; + pb.MouseClick += pbBoxSlot_MouseClick; + pb.MouseMove += pbBoxSlot_MouseMove; + pb.MouseDown += pbBoxSlot_MouseDown; + pb.MouseUp += pbBoxSlot_MouseUp; + + pb.DragEnter += pbBoxSlot_DragEnter; + pb.DragDrop += pbBoxSlot_DragDrop; + pb.QueryContinueDrag += pbBoxSlot_QueryContinueDrag; + pb.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; + pb.AllowDrop = true; + } + } + + public int CurrentBox + { + get => CB_BoxSelect.SelectedIndex; + set => CB_BoxSelect.SelectedIndex = value; + } + public string CurrentBoxName => CB_BoxSelect.Text; + public int getOffset(int slot, int box) + { + if (box < 0) + box = CurrentBox; + return SAV.getBoxOffset(box) + slot * SAV.SIZE_STORED; + } + public void Setup(SlotChangeManager m) + { + M = m; + M.Boxes.Add(this); + FlagIllegal = M.SE.FlagIllegal; + Reset(); + } + public void setSlotFiller(PKM p, int box = -1, int slot = -1, PictureBox pb = null) + { + if (pb == null) + pb = SlotPictureBoxes[slot]; + if (!p.Valid) // Invalid + { + // Bad Egg present in slot. + pb.Image = null; + pb.BackColor = Color.Red; + pb.Visible = true; + return; + } + + pb.Image = p.Sprite(SAV, box, slot, FlagIllegal); + pb.BackColor = Color.Transparent; + pb.Visible = true; + + if (M != null && M.colorizedbox == box && M.colorizedslot == slot) + pb.BackgroundImage = M.colorizedcolor; + } + + public void ResetBoxNames() + { + if (!SAV.HasBox) + return; + // Build ComboBox Dropdown Items + try + { + CB_BoxSelect.Items.Clear(); + for (int i = 0; i < SAV.BoxCount; i++) + CB_BoxSelect.Items.Add(SAV.getBoxName(i)); + } + catch + { + CB_BoxSelect.Items.Clear(); + for (int i = 1; i <= SAV.BoxCount; i++) + CB_BoxSelect.Items.Add($"BOX {i}"); + } + if (SAV.CurrentBox < CB_BoxSelect.Items.Count) + CurrentBox = SAV.CurrentBox; // restore selected box + } + public void ResetSlots() + { + int box = CurrentBox; + int boxoffset = SAV.getBoxOffset(box); + int boxbgval = SAV.getBoxWallpaper(box); + PAN_Box.BackgroundImage = SAV.WallpaperImage(boxbgval); + + int slot = M?.colorizedbox == box ? M.colorizedslot : -1; + + for (int i = 0; i < BoxSlotCount; i++) + { + var pb = SlotPictureBoxes[i]; + if (i < SAV.BoxSlotCount) + getSlotFiller(boxoffset + SAV.SIZE_STORED * i, pb, box, i); + else + pb.Visible = false; + pb.BackgroundImage = slot == i ? M?.colorizedcolor : null; + } + } + public bool SaveBoxBinary() + { + DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, + "Yes: Export All Boxes" + Environment.NewLine + + $"No: Export {CurrentBoxName} (Box {CurrentBox + 1})" + Environment.NewLine + + "Cancel: Abort"); + + if (dr == DialogResult.Yes) + { + SaveFileDialog sfd = new SaveFileDialog { Filter = "Box Data|*.bin", FileName = "pcdata.bin" }; + if (sfd.ShowDialog() != DialogResult.OK) + return false; + File.WriteAllBytes(sfd.FileName, SAV.getPCBin()); + return true; + } + if (dr == DialogResult.No) + { + SaveFileDialog sfd = new SaveFileDialog { Filter = "Box Data|*.bin", FileName = $"boxdata {CurrentBoxName}.bin" }; + if (sfd.ShowDialog() != DialogResult.OK) + return false; + File.WriteAllBytes(sfd.FileName, SAV.getBoxBin(CurrentBox)); + return true; + } + return false; + } + + public int getSlot(object sender) => SlotPictureBoxes.IndexOf(WinFormsUtil.GetUnderlyingControl(sender) as PictureBox); + + private void Reset() + { + ResetBoxNames(); + ResetSlots(); + } + private void getBox(object sender, EventArgs e) + { + if (SAV.CurrentBox != CurrentBox) + SAV.CurrentBox = CurrentBox; + ResetSlots(); + } + private void clickBoxRight(object sender, EventArgs e) => CurrentBox = (CurrentBox + 1) % SAV.BoxCount; + private void clickBoxLeft(object sender, EventArgs e) => CurrentBox = (CurrentBox + SAV.BoxCount - 1) % SAV.BoxCount; + private void getSlotFiller(int offset, PictureBox pb, int box = -1, int slot = -1) + { + if (SAV.getData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED])) + { + // 00s present in slot. + pb.Image = null; + pb.BackColor = Color.Transparent; + pb.Visible = true; + return; + } + PKM p = SAV.getStoredSlot(offset); + setSlotFiller(p, box, slot, pb); + } + + // Drag & Drop Handling + private void pbBoxSlot_MouseEnter(object sender, EventArgs e) => M?.MouseEnter(sender, e); + private void pbBoxSlot_MouseLeave(object sender, EventArgs e) => M?.MouseLeave(sender, e); + private void pbBoxSlot_MouseClick(object sender, MouseEventArgs e) => M?.MouseClick(sender, e); + private void pbBoxSlot_MouseUp(object sender, MouseEventArgs e) => M?.MouseUp(sender, e); + private void pbBoxSlot_MouseDown(object sender, MouseEventArgs e) => M?.MouseDown(sender, e); + private void pbBoxSlot_DragEnter(object sender, DragEventArgs e) => M?.DragEnter(sender, e); + private void pbBoxSlot_QueryContinueDrag(object sender, QueryContinueDragEventArgs e) => M?.QueryContinueDrag(sender, e); + private void pbBoxSlot_MouseMove(object sender, MouseEventArgs e) + { + if (M == null || M.DragActive) + return; + + // Abort if there is no Pokemon in the given slot. + PictureBox pb = (PictureBox)sender; + if (pb.Image == null) + return; + int slot = getSlot(pb); + int box = slot >= 30 ? -1 : CurrentBox; + if (SAV.getIsSlotLocked(box, slot)) + return; + + bool encrypt = ModifierKeys == Keys.Control; + M.HandleMovePKM(pb, slot, box, encrypt); + } + private void pbBoxSlot_DragDrop(object sender, DragEventArgs e) + { + if (M == null) + return; + + // Abort if there is no Pokemon in the given slot. + PictureBox pb = (PictureBox)sender; + int slot = getSlot(pb); + int box = slot >= 30 ? -1 : CurrentBox; + if (SAV.getIsSlotLocked(box, slot) || slot >= 36) + { + SystemSounds.Asterisk.Play(); + e.Effect = DragDropEffects.Copy; + M.DragInfo.Reset(); + return; + } + + bool overwrite = ModifierKeys == Keys.Alt; + bool clone = ModifierKeys == Keys.Control; + M.DragInfo.Destination.Parent = FindForm(); + M.DragInfo.Destination.Slot = getSlot(sender); + M.DragInfo.Destination.Box = M.DragInfo.Destination.IsParty ? -1 : CurrentBox; + M.HandleDropPKM(sender, e, overwrite, clone); + } + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.resx b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.resx new file mode 100644 index 000000000..5b55f56d8 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/BoxEditor.resx @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAANwAAADSCAMAAAAWjl7DAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFtays + uK+vu7KyvbW1v7a2vb21wrm5w7u7xby8xb29x7+/w8O7x8e/y8O7zcW9z8e/yMDAy8PDzcXFz8fH08vD + 1s3F18/H0srK08vL1c3N18/P3NPL2tLS3NPT3dXV3NzT3t7W4NfP4NfX5NzT49ra5Nzc5t3d5t7e4ODX + 4+Pa5OTc5ubd5ube6ODX6eHZ7OTc6ODg6eHh7OTk7ubm6Ojg6enh7Ozk8Ojg9Ozk8Ojo8+vr9Ozs9u7u + 8PDo+PDo+PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs5hT+gAAAAlwSFlzAAAO + wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAONklEQVR4Xu2Z + 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 + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.Designer.cs b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.Designer.cs new file mode 100644 index 000000000..09f8f7db6 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.Designer.cs @@ -0,0 +1,98 @@ +namespace PKHeX.WinForms.Controls +{ + partial class ContextMenuSAV + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.mnuVSD = new System.Windows.Forms.ContextMenuStrip(this.components); + this.mnuView = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuSet = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuDelete = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuLegality = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuVSD.SuspendLayout(); + this.SuspendLayout(); + // + // mnuVSD + // + this.mnuVSD.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuView, + this.mnuSet, + this.mnuDelete, + this.mnuLegality}); + this.mnuVSD.Name = "mnuVSD"; + this.mnuVSD.Size = new System.Drawing.Size(116, 92); + this.mnuVSD.Opening += new System.ComponentModel.CancelEventHandler(this.MenuOpening); + // + // mnuView + // + this.mnuView.Name = "mnuView"; + this.mnuView.Size = new System.Drawing.Size(152, 22); + this.mnuView.Text = "View"; + this.mnuView.Click += new System.EventHandler(this.ClickView); + // + // mnuSet + // + this.mnuSet.Name = "mnuSet"; + this.mnuSet.Size = new System.Drawing.Size(152, 22); + this.mnuSet.Text = "Set"; + this.mnuSet.Click += new System.EventHandler(this.ClickSet); + // + // mnuDelete + // + this.mnuDelete.Name = "mnuDelete"; + this.mnuDelete.Size = new System.Drawing.Size(152, 22); + this.mnuDelete.Text = "Delete"; + this.mnuDelete.Click += new System.EventHandler(this.ClickDelete); + // + // mnuLegality + // + this.mnuLegality.Name = "mnuLegality"; + this.mnuLegality.Size = new System.Drawing.Size(152, 22); + this.mnuLegality.Text = "Legality"; + this.mnuLegality.Click += new System.EventHandler(this.ClickShowLegality); + // + // ContextMenuSAV + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.Name = "ContextMenuSAV"; + this.mnuVSD.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + public System.Windows.Forms.ContextMenuStrip mnuVSD; + private System.Windows.Forms.ToolStripMenuItem mnuView; + private System.Windows.Forms.ToolStripMenuItem mnuSet; + private System.Windows.Forms.ToolStripMenuItem mnuDelete; + private System.Windows.Forms.ToolStripMenuItem mnuLegality; + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.cs b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.cs new file mode 100644 index 000000000..868ffe7d4 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.cs @@ -0,0 +1,202 @@ +using System; +using System.ComponentModel; +using System.Windows.Forms; +using PKHeX.Core; +using PKHeX.WinForms.Properties; + +namespace PKHeX.WinForms.Controls +{ + public partial class ContextMenuSAV : UserControl + { + public ContextMenuSAV() + { + InitializeComponent(); + } + + public void OmniClick(object sender, EventArgs e, Keys z) + { + switch (z) + { + case Keys.Control: ClickView(sender, e); break; + case Keys.Shift: ClickSet(sender, e); break; + case Keys.Alt: ClickDelete(sender, e); break; + } + } + private void ClickView(object sender, EventArgs e) + { + SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info); + if (m == null) + return; + if ((sender as PictureBox)?.Image == null) + { System.Media.SystemSounds.Asterisk.Play(); return; } + + m.SE.PKME_Tabs.populateFields(m.GetPKM(info), false); + m.SetColor(info.Box, info.Slot, Resources.slotView); + } + private void ClickSet(object sender, EventArgs e) + { + SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info); + if (m == null) + return; + + var editor = m.SE.PKME_Tabs; + var sav = m.SE.SAV; + if (info.Slot == 30 && editor.IsEmptyOrEgg) + { WinFormsUtil.Alert("Can't have empty/egg first info.Slot."); return; } + if (m.SE.SAV.getIsSlotLocked(info.Box, info.Slot)) + { WinFormsUtil.Alert("Can't set to locked info.Slot."); return; } + + PKM pk = editor.preparePKM(); + + string[] errata = sav.IsPKMCompatible(pk); + if (errata.Length > 0 && DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, string.Join(Environment.NewLine, errata), "Continue?")) + return; + + if (info.Slot >= 30) + info.Box = -1; + if (info.Slot >= 30 && info.Slot < 36) // Party + { + // If info.Slot isn't overwriting existing PKM, make it write to the lowest empty PKM info.Slot + if (sav.PartyCount < info.Slot + 1 - 30) + { + info.Slot = sav.PartyCount + 30; + info.Offset = m.SE.getPKXOffset(info.Slot); + } + m.SetPKM(pk, info, true, Resources.slotSet); + } + else if (info.Slot < 30 || m.SE.HaX) + { + if (info.Slot < 30) + { + m.SE.UndoStack.Push(new SlotChange + { + Box = info.Box, + Slot = info.Slot, + Offset = info.Offset, + PKM = sav.getStoredSlot(info.Offset) + }); + m.SE.Menu_Undo.Enabled = true; + } + + m.SetPKM(pk, info, true, Resources.slotSet); + } + + editor.lastData = pk.Data; + m.SE.RedoStack.Clear(); m.SE.Menu_Redo.Enabled = false; + } + private void ClickDelete(object sender, EventArgs e) + { + SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info); + if (m == null) + return; + + if ((sender as PictureBox)?.Image == null) + { System.Media.SystemSounds.Asterisk.Play(); return; } + + var sav = m.SE.SAV; + if (info.Slot == 30 && sav.PartyCount == 1 && !m.SE.HaX) + { WinFormsUtil.Alert("Can't delete first slot."); return; } + if (sav.getIsSlotLocked(info.Box, info.Slot)) + { WinFormsUtil.Alert("Can't delete locked slot."); return; } + + if (info.Slot >= 30 && info.Slot < 36) // Party + { + m.SetPKM(sav.BlankPKM, info, true, Resources.slotDel); + return; + } + if (info.Slot < 30 || m.SE.HaX) + { + if (info.Slot < 30) + { + m.SE.UndoStack.Push(new SlotChange + { + Box = info.Box, + Slot = info.Slot, + Offset = info.Offset, + PKM = sav.getStoredSlot(info.Offset) + }); + m.SE.Menu_Undo.Enabled = true; + } + m.SetPKM(sav.BlankPKM, info, true, Resources.slotDel); + } + else return; + + m.SE.RedoStack.Clear(); m.SE.Menu_Redo.Enabled = false; + } + private void ClickShowLegality(object sender, EventArgs e) + { + SlotChangeManager m = GetSenderInfo(ref sender, out SlotChange info); + if (m == null) + return; + + bool verbose = ModifierKeys == Keys.Control; + var pk = m.GetPKM(info); + LegalityAnalysis la = new LegalityAnalysis(pk); + var report = la.Report(verbose); + if (verbose) + { + var dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, report, "Copy report to Clipboard?"); + if (dr == DialogResult.Yes) + Clipboard.SetText(report); + } + else + WinFormsUtil.Alert(report); + } + private void MenuOpening(object sender, CancelEventArgs e) + { + var items = ((ContextMenuStrip)sender).Items; + + object ctrl = ((ContextMenuStrip)sender).SourceControl; + GetSenderInfo(ref ctrl, out SlotChange info); + bool SlotFull = (ctrl as PictureBox)?.Image != null; + bool Editable = info.Slot < 36; + bool legality = ModifierKeys == Keys.Control; + ToggleItem(items, mnuSet, Editable); + ToggleItem(items, mnuDelete, Editable && SlotFull); + ToggleItem(items, mnuLegality, legality && SlotFull); + ToggleItem(items, mnuView, SlotFull || items.Count <= 1, true); + + if (items.Count == 0) + e.Cancel = true; + } + + private static SlotChangeManager GetSenderInfo(ref object sender, out SlotChange loc) + { + loc = new SlotChange(); + var ctrl = WinFormsUtil.GetUnderlyingControl(sender); + var obj = ctrl.Parent.Parent; + if (obj is BoxEditor b) + { + loc.Box = b.CurrentBox; + loc.Slot = b.getSlot(sender); + loc.Offset = b.getOffset(loc.Slot, loc.Box); + loc.Parent = b.FindForm(); + sender = ctrl; + return b.M; + } + obj = obj.Parent.Parent; + if (obj is SAVEditor z) + { + loc.Box = z.Box.CurrentBox; + loc.Slot = z.getSlot(sender); + loc.Offset = z.getPKXOffset(loc.Slot, loc.Box); + loc.Parent = z.FindForm(); + sender = ctrl; + return z.M; + } + return null; + } + private static void ToggleItem(ToolStripItemCollection items, ToolStripItem item, bool visible, bool first = false) + { + if (visible) + { + if (first) + items.Insert(0, item); + else + items.Add(item); + } + else if (items.Contains(item)) + items.Remove(item); + } + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.resx b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.resx new file mode 100644 index 000000000..b4ae0e8f0 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/ContextMenuSAV.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs new file mode 100644 index 000000000..e97bc8e05 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.Designer.cs @@ -0,0 +1,1144 @@ +namespace PKHeX.WinForms.Controls +{ + partial class SAVEditor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAVEditor)); + this.tabBoxMulti = new System.Windows.Forms.TabControl(); + this.Tab_Box = new System.Windows.Forms.TabPage(); + this.Box = new PKHeX.WinForms.Controls.BoxEditor(); + this.Tab_PartyBattle = new System.Windows.Forms.TabPage(); + this.PAN_BattleBox = new System.Windows.Forms.Panel(); + this.PB_Locked = new System.Windows.Forms.PictureBox(); + this.bbpkx1 = new System.Windows.Forms.PictureBox(); + this.bbpkx2 = new System.Windows.Forms.PictureBox(); + this.bbpkx3 = new System.Windows.Forms.PictureBox(); + this.bbpkx4 = new System.Windows.Forms.PictureBox(); + this.bbpkx5 = new System.Windows.Forms.PictureBox(); + this.bbpkx6 = new System.Windows.Forms.PictureBox(); + this.L_ReadOnlyPBB = new System.Windows.Forms.Label(); + this.L_BattleBox = new System.Windows.Forms.Label(); + this.L_Party = new System.Windows.Forms.Label(); + this.PAN_Party = new System.Windows.Forms.Panel(); + this.ppkx1 = new System.Windows.Forms.PictureBox(); + this.ppkx2 = new System.Windows.Forms.PictureBox(); + this.ppkx3 = new System.Windows.Forms.PictureBox(); + this.ppkx4 = new System.Windows.Forms.PictureBox(); + this.ppkx5 = new System.Windows.Forms.PictureBox(); + this.ppkx6 = new System.Windows.Forms.PictureBox(); + this.Tab_Other = new System.Windows.Forms.TabPage(); + this.GB_Daycare = new System.Windows.Forms.GroupBox(); + this.L_XP2 = new System.Windows.Forms.Label(); + this.L_XP1 = new System.Windows.Forms.Label(); + this.TB_Daycare2XP = new System.Windows.Forms.TextBox(); + this.TB_Daycare1XP = new System.Windows.Forms.TextBox(); + this.L_DC2 = new System.Windows.Forms.Label(); + this.L_DC1 = new System.Windows.Forms.Label(); + this.L_DaycareSeed = new System.Windows.Forms.Label(); + this.TB_RNGSeed = new System.Windows.Forms.TextBox(); + this.dcpkx2 = new System.Windows.Forms.PictureBox(); + this.dcpkx1 = new System.Windows.Forms.PictureBox(); + this.DayCare_HasEgg = new System.Windows.Forms.CheckBox(); + this.GB_GTS = new System.Windows.Forms.GroupBox(); + this.gtspkx = new System.Windows.Forms.PictureBox(); + this.GB_Fused = new System.Windows.Forms.GroupBox(); + this.fusedpkx = new System.Windows.Forms.PictureBox(); + this.L_ReadOnlyOther = new System.Windows.Forms.Label(); + this.GB_SUBE = new System.Windows.Forms.GroupBox(); + this.subepkx1 = new System.Windows.Forms.PictureBox(); + this.subepkx2 = new System.Windows.Forms.PictureBox(); + this.subepkx3 = new System.Windows.Forms.PictureBox(); + this.Tab_SAV = new System.Windows.Forms.TabPage(); + this.CB_SaveSlot = new System.Windows.Forms.ComboBox(); + this.L_SaveSlot = new System.Windows.Forms.Label(); + this.L_Secure2 = new System.Windows.Forms.Label(); + this.TB_Secure2 = new System.Windows.Forms.TextBox(); + this.L_Secure1 = new System.Windows.Forms.Label(); + this.TB_Secure1 = new System.Windows.Forms.TextBox(); + this.B_JPEG = new System.Windows.Forms.Button(); + this.L_GameSync = new System.Windows.Forms.Label(); + this.TB_GameSync = new System.Windows.Forms.TextBox(); + this.B_SaveBoxBin = new System.Windows.Forms.Button(); + this.B_VerifyCHK = new System.Windows.Forms.Button(); + this.GB_SAVtools = new System.Windows.Forms.GroupBox(); + this.FLP_SAVtools = new System.Windows.Forms.FlowLayoutPanel(); + this.B_OpenTrainerInfo = new System.Windows.Forms.Button(); + this.B_OpenItemPouch = new System.Windows.Forms.Button(); + this.B_OpenBoxLayout = new System.Windows.Forms.Button(); + this.B_OpenWondercards = new System.Windows.Forms.Button(); + this.B_OpenOPowers = new System.Windows.Forms.Button(); + this.B_OpenEventFlags = new System.Windows.Forms.Button(); + this.B_OpenPokedex = new System.Windows.Forms.Button(); + this.B_OpenLinkInfo = new System.Windows.Forms.Button(); + this.B_OpenBerryField = new System.Windows.Forms.Button(); + this.B_OpenPokeblocks = new System.Windows.Forms.Button(); + this.B_OpenSecretBase = new System.Windows.Forms.Button(); + this.B_OpenPokepuffs = new System.Windows.Forms.Button(); + this.B_OpenSuperTraining = new System.Windows.Forms.Button(); + this.B_OpenHallofFame = new System.Windows.Forms.Button(); + this.B_OUTPasserby = new System.Windows.Forms.Button(); + this.B_CGearSkin = new System.Windows.Forms.Button(); + this.B_OpenPokeBeans = new System.Windows.Forms.Button(); + this.B_OpenZygardeCells = new System.Windows.Forms.Button(); + this.B_OpenMiscEditor = new System.Windows.Forms.Button(); + this.B_OpenHoneyTreeEditor = new System.Windows.Forms.Button(); + this.B_OpenFriendSafari = new System.Windows.Forms.Button(); + this.B_OpenRTCEditor = new System.Windows.Forms.Button(); + this.tabBoxMulti.SuspendLayout(); + this.Tab_Box.SuspendLayout(); + this.Tab_PartyBattle.SuspendLayout(); + this.PAN_BattleBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Locked)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx6)).BeginInit(); + this.PAN_Party.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx6)).BeginInit(); + this.Tab_Other.SuspendLayout(); + this.GB_Daycare.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dcpkx2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dcpkx1)).BeginInit(); + this.GB_GTS.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gtspkx)).BeginInit(); + this.GB_Fused.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fusedpkx)).BeginInit(); + this.GB_SUBE.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx3)).BeginInit(); + this.Tab_SAV.SuspendLayout(); + this.GB_SAVtools.SuspendLayout(); + this.FLP_SAVtools.SuspendLayout(); + this.SuspendLayout(); + // + // tabBoxMulti + // + this.tabBoxMulti.AllowDrop = true; + this.tabBoxMulti.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabBoxMulti.Controls.Add(this.Tab_Box); + this.tabBoxMulti.Controls.Add(this.Tab_PartyBattle); + this.tabBoxMulti.Controls.Add(this.Tab_Other); + this.tabBoxMulti.Controls.Add(this.Tab_SAV); + this.tabBoxMulti.Location = new System.Drawing.Point(0, 0); + this.tabBoxMulti.Name = "tabBoxMulti"; + this.tabBoxMulti.SelectedIndex = 0; + this.tabBoxMulti.Size = new System.Drawing.Size(310, 225); + this.tabBoxMulti.TabIndex = 101; + this.tabBoxMulti.Click += new System.EventHandler(this.clickBoxSort); + this.tabBoxMulti.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.clickBoxDouble); + // + // Tab_Box + // + this.Tab_Box.Controls.Add(this.Box); + this.Tab_Box.Location = new System.Drawing.Point(4, 22); + this.Tab_Box.Name = "Tab_Box"; + this.Tab_Box.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Box.Size = new System.Drawing.Size(302, 199); + this.Tab_Box.TabIndex = 0; + this.Tab_Box.Text = "Box"; + this.Tab_Box.UseVisualStyleBackColor = true; + // + // Box + // + this.Box.AllowDrop = true; + this.Box.CurrentBox = -1; + this.Box.Location = new System.Drawing.Point(26, 7); + this.Box.Name = "Box"; + this.Box.Size = new System.Drawing.Size(251, 185); + this.Box.TabIndex = 1; + // + // Tab_PartyBattle + // + this.Tab_PartyBattle.Controls.Add(this.PAN_BattleBox); + this.Tab_PartyBattle.Controls.Add(this.L_ReadOnlyPBB); + this.Tab_PartyBattle.Controls.Add(this.L_BattleBox); + this.Tab_PartyBattle.Controls.Add(this.L_Party); + this.Tab_PartyBattle.Controls.Add(this.PAN_Party); + this.Tab_PartyBattle.Location = new System.Drawing.Point(4, 22); + this.Tab_PartyBattle.Name = "Tab_PartyBattle"; + this.Tab_PartyBattle.Padding = new System.Windows.Forms.Padding(3); + this.Tab_PartyBattle.Size = new System.Drawing.Size(302, 199); + this.Tab_PartyBattle.TabIndex = 1; + this.Tab_PartyBattle.Text = "Party-Battle Box"; + this.Tab_PartyBattle.UseVisualStyleBackColor = true; + // + // PAN_BattleBox + // + this.PAN_BattleBox.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_BattleBox.BackgroundImage"))); + this.PAN_BattleBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.PAN_BattleBox.Controls.Add(this.PB_Locked); + this.PAN_BattleBox.Controls.Add(this.bbpkx1); + this.PAN_BattleBox.Controls.Add(this.bbpkx2); + this.PAN_BattleBox.Controls.Add(this.bbpkx3); + this.PAN_BattleBox.Controls.Add(this.bbpkx4); + this.PAN_BattleBox.Controls.Add(this.bbpkx5); + this.PAN_BattleBox.Controls.Add(this.bbpkx6); + this.PAN_BattleBox.Location = new System.Drawing.Point(168, 28); + this.PAN_BattleBox.Name = "PAN_BattleBox"; + this.PAN_BattleBox.Size = new System.Drawing.Size(111, 160); + this.PAN_BattleBox.TabIndex = 17; + // + // PB_Locked + // + this.PB_Locked.Image = ((System.Drawing.Image)(resources.GetObject("PB_Locked.Image"))); + this.PB_Locked.Location = new System.Drawing.Point(76, 2); + this.PB_Locked.Name = "PB_Locked"; + this.PB_Locked.Size = new System.Drawing.Size(32, 32); + this.PB_Locked.TabIndex = 14; + this.PB_Locked.TabStop = false; + this.PB_Locked.Visible = false; + // + // bbpkx1 + // + this.bbpkx1.Location = new System.Drawing.Point(11, 14); + this.bbpkx1.Name = "bbpkx1"; + this.bbpkx1.Size = new System.Drawing.Size(40, 30); + this.bbpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx1.TabIndex = 8; + this.bbpkx1.TabStop = false; + // + // bbpkx2 + // + this.bbpkx2.Location = new System.Drawing.Point(60, 35); + this.bbpkx2.Name = "bbpkx2"; + this.bbpkx2.Size = new System.Drawing.Size(40, 30); + this.bbpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx2.TabIndex = 9; + this.bbpkx2.TabStop = false; + // + // bbpkx3 + // + this.bbpkx3.Location = new System.Drawing.Point(11, 54); + this.bbpkx3.Name = "bbpkx3"; + this.bbpkx3.Size = new System.Drawing.Size(40, 30); + this.bbpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx3.TabIndex = 10; + this.bbpkx3.TabStop = false; + // + // bbpkx4 + // + this.bbpkx4.Location = new System.Drawing.Point(60, 75); + this.bbpkx4.Name = "bbpkx4"; + this.bbpkx4.Size = new System.Drawing.Size(40, 30); + this.bbpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx4.TabIndex = 11; + this.bbpkx4.TabStop = false; + // + // bbpkx5 + // + this.bbpkx5.Location = new System.Drawing.Point(11, 94); + this.bbpkx5.Name = "bbpkx5"; + this.bbpkx5.Size = new System.Drawing.Size(40, 30); + this.bbpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx5.TabIndex = 12; + this.bbpkx5.TabStop = false; + // + // bbpkx6 + // + this.bbpkx6.Location = new System.Drawing.Point(60, 115); + this.bbpkx6.Name = "bbpkx6"; + this.bbpkx6.Size = new System.Drawing.Size(40, 30); + this.bbpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.bbpkx6.TabIndex = 13; + this.bbpkx6.TabStop = false; + // + // L_ReadOnlyPBB + // + this.L_ReadOnlyPBB.ForeColor = System.Drawing.Color.Red; + this.L_ReadOnlyPBB.Location = new System.Drawing.Point(175, 186); + this.L_ReadOnlyPBB.Name = "L_ReadOnlyPBB"; + this.L_ReadOnlyPBB.Size = new System.Drawing.Size(100, 13); + this.L_ReadOnlyPBB.TabIndex = 15; + this.L_ReadOnlyPBB.Text = "This is read only."; + this.L_ReadOnlyPBB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // L_BattleBox + // + this.L_BattleBox.AutoSize = true; + this.L_BattleBox.Location = new System.Drawing.Point(179, 13); + this.L_BattleBox.Name = "L_BattleBox"; + this.L_BattleBox.Size = new System.Drawing.Size(58, 13); + this.L_BattleBox.TabIndex = 1; + this.L_BattleBox.Text = "Battle Box:"; + this.L_BattleBox.Click += new System.EventHandler(this.clickShowdownExportBattleBox); + // + // L_Party + // + this.L_Party.AutoSize = true; + this.L_Party.Location = new System.Drawing.Point(29, 13); + this.L_Party.Name = "L_Party"; + this.L_Party.Size = new System.Drawing.Size(34, 13); + this.L_Party.TabIndex = 0; + this.L_Party.Text = "Party:"; + this.L_Party.Click += new System.EventHandler(this.clickShowdownExportParty); + // + // PAN_Party + // + this.PAN_Party.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_Party.BackgroundImage"))); + this.PAN_Party.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.PAN_Party.Controls.Add(this.ppkx1); + this.PAN_Party.Controls.Add(this.ppkx2); + this.PAN_Party.Controls.Add(this.ppkx3); + this.PAN_Party.Controls.Add(this.ppkx4); + this.PAN_Party.Controls.Add(this.ppkx5); + this.PAN_Party.Controls.Add(this.ppkx6); + this.PAN_Party.Location = new System.Drawing.Point(24, 28); + this.PAN_Party.Name = "PAN_Party"; + this.PAN_Party.Size = new System.Drawing.Size(111, 160); + this.PAN_Party.TabIndex = 16; + // + // ppkx1 + // + this.ppkx1.Location = new System.Drawing.Point(11, 14); + this.ppkx1.Name = "ppkx1"; + this.ppkx1.Size = new System.Drawing.Size(40, 30); + this.ppkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx1.TabIndex = 2; + this.ppkx1.TabStop = false; + // + // ppkx2 + // + this.ppkx2.Location = new System.Drawing.Point(60, 35); + this.ppkx2.Name = "ppkx2"; + this.ppkx2.Size = new System.Drawing.Size(40, 30); + this.ppkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx2.TabIndex = 3; + this.ppkx2.TabStop = false; + // + // ppkx3 + // + this.ppkx3.Location = new System.Drawing.Point(11, 54); + this.ppkx3.Name = "ppkx3"; + this.ppkx3.Size = new System.Drawing.Size(40, 30); + this.ppkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx3.TabIndex = 4; + this.ppkx3.TabStop = false; + // + // ppkx4 + // + this.ppkx4.Location = new System.Drawing.Point(60, 75); + this.ppkx4.Name = "ppkx4"; + this.ppkx4.Size = new System.Drawing.Size(40, 30); + this.ppkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx4.TabIndex = 5; + this.ppkx4.TabStop = false; + // + // ppkx5 + // + this.ppkx5.Location = new System.Drawing.Point(11, 94); + this.ppkx5.Name = "ppkx5"; + this.ppkx5.Size = new System.Drawing.Size(40, 30); + this.ppkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx5.TabIndex = 6; + this.ppkx5.TabStop = false; + // + // ppkx6 + // + this.ppkx6.Location = new System.Drawing.Point(60, 115); + this.ppkx6.Name = "ppkx6"; + this.ppkx6.Size = new System.Drawing.Size(40, 30); + this.ppkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.ppkx6.TabIndex = 7; + this.ppkx6.TabStop = false; + // + // Tab_Other + // + this.Tab_Other.Controls.Add(this.GB_Daycare); + this.Tab_Other.Controls.Add(this.GB_GTS); + this.Tab_Other.Controls.Add(this.GB_Fused); + this.Tab_Other.Controls.Add(this.L_ReadOnlyOther); + this.Tab_Other.Controls.Add(this.GB_SUBE); + this.Tab_Other.Location = new System.Drawing.Point(4, 22); + this.Tab_Other.Name = "Tab_Other"; + this.Tab_Other.Size = new System.Drawing.Size(302, 199); + this.Tab_Other.TabIndex = 2; + this.Tab_Other.Text = "Other"; + this.Tab_Other.UseVisualStyleBackColor = true; + // + // GB_Daycare + // + this.GB_Daycare.Controls.Add(this.L_XP2); + this.GB_Daycare.Controls.Add(this.L_XP1); + this.GB_Daycare.Controls.Add(this.TB_Daycare2XP); + this.GB_Daycare.Controls.Add(this.TB_Daycare1XP); + this.GB_Daycare.Controls.Add(this.L_DC2); + this.GB_Daycare.Controls.Add(this.L_DC1); + this.GB_Daycare.Controls.Add(this.L_DaycareSeed); + this.GB_Daycare.Controls.Add(this.TB_RNGSeed); + this.GB_Daycare.Controls.Add(this.dcpkx2); + this.GB_Daycare.Controls.Add(this.dcpkx1); + this.GB_Daycare.Controls.Add(this.DayCare_HasEgg); + this.GB_Daycare.Location = new System.Drawing.Point(16, 4); + this.GB_Daycare.Name = "GB_Daycare"; + this.GB_Daycare.Size = new System.Drawing.Size(205, 170); + this.GB_Daycare.TabIndex = 28; + this.GB_Daycare.TabStop = false; + this.GB_Daycare.Text = "Daycare"; + // + // L_XP2 + // + this.L_XP2.AutoSize = true; + this.L_XP2.Location = new System.Drawing.Point(74, 88); + this.L_XP2.Name = "L_XP2"; + this.L_XP2.Size = new System.Drawing.Size(30, 13); + this.L_XP2.TabIndex = 17; + this.L_XP2.Text = "+XP:"; + // + // L_XP1 + // + this.L_XP1.AutoSize = true; + this.L_XP1.Location = new System.Drawing.Point(74, 35); + this.L_XP1.Name = "L_XP1"; + this.L_XP1.Size = new System.Drawing.Size(30, 13); + this.L_XP1.TabIndex = 16; + this.L_XP1.Text = "+XP:"; + // + // TB_Daycare2XP + // + this.TB_Daycare2XP.Location = new System.Drawing.Point(108, 85); + this.TB_Daycare2XP.Name = "TB_Daycare2XP"; + this.TB_Daycare2XP.ReadOnly = true; + this.TB_Daycare2XP.Size = new System.Drawing.Size(73, 20); + this.TB_Daycare2XP.TabIndex = 15; + // + // TB_Daycare1XP + // + this.TB_Daycare1XP.Location = new System.Drawing.Point(108, 32); + this.TB_Daycare1XP.Name = "TB_Daycare1XP"; + this.TB_Daycare1XP.ReadOnly = true; + this.TB_Daycare1XP.Size = new System.Drawing.Size(73, 20); + this.TB_Daycare1XP.TabIndex = 14; + // + // L_DC2 + // + this.L_DC2.AutoSize = true; + this.L_DC2.Location = new System.Drawing.Point(74, 71); + this.L_DC2.Name = "L_DC2"; + this.L_DC2.Size = new System.Drawing.Size(19, 13); + this.L_DC2.TabIndex = 13; + this.L_DC2.Text = "2: "; + // + // L_DC1 + // + this.L_DC1.AutoSize = true; + this.L_DC1.Location = new System.Drawing.Point(74, 18); + this.L_DC1.Name = "L_DC1"; + this.L_DC1.Size = new System.Drawing.Size(19, 13); + this.L_DC1.TabIndex = 12; + this.L_DC1.Text = "1: "; + // + // L_DaycareSeed + // + this.L_DaycareSeed.AutoSize = true; + this.L_DaycareSeed.Location = new System.Drawing.Point(23, 143); + this.L_DaycareSeed.Name = "L_DaycareSeed"; + this.L_DaycareSeed.Size = new System.Drawing.Size(35, 13); + this.L_DaycareSeed.TabIndex = 9; + this.L_DaycareSeed.Text = "Seed:"; + // + // TB_RNGSeed + // + this.TB_RNGSeed.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_RNGSeed.Location = new System.Drawing.Point(61, 140); + this.TB_RNGSeed.MaxLength = 16; + this.TB_RNGSeed.Name = "TB_RNGSeed"; + this.TB_RNGSeed.Size = new System.Drawing.Size(120, 20); + this.TB_RNGSeed.TabIndex = 8; + this.TB_RNGSeed.Text = "0123456789ABCDEF"; + this.TB_RNGSeed.Validated += new System.EventHandler(this.updateStringSeed); + // + // dcpkx2 + // + this.dcpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.dcpkx2.Location = new System.Drawing.Point(26, 71); + this.dcpkx2.Name = "dcpkx2"; + this.dcpkx2.Size = new System.Drawing.Size(42, 32); + this.dcpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.dcpkx2.TabIndex = 11; + this.dcpkx2.TabStop = false; + // + // dcpkx1 + // + this.dcpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.dcpkx1.Location = new System.Drawing.Point(26, 18); + this.dcpkx1.Name = "dcpkx1"; + this.dcpkx1.Size = new System.Drawing.Size(42, 32); + this.dcpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.dcpkx1.TabIndex = 10; + this.dcpkx1.TabStop = false; + // + // DayCare_HasEgg + // + this.DayCare_HasEgg.AutoSize = true; + this.DayCare_HasEgg.Enabled = false; + this.DayCare_HasEgg.Location = new System.Drawing.Point(61, 123); + this.DayCare_HasEgg.Name = "DayCare_HasEgg"; + this.DayCare_HasEgg.Size = new System.Drawing.Size(91, 17); + this.DayCare_HasEgg.TabIndex = 7; + this.DayCare_HasEgg.Text = "Egg Available"; + this.DayCare_HasEgg.UseVisualStyleBackColor = true; + // + // GB_GTS + // + this.GB_GTS.Controls.Add(this.gtspkx); + this.GB_GTS.Location = new System.Drawing.Point(227, 4); + this.GB_GTS.Name = "GB_GTS"; + this.GB_GTS.Size = new System.Drawing.Size(60, 60); + this.GB_GTS.TabIndex = 26; + this.GB_GTS.TabStop = false; + this.GB_GTS.Text = "GTS"; + // + // gtspkx + // + this.gtspkx.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.gtspkx.Location = new System.Drawing.Point(9, 18); + this.gtspkx.Name = "gtspkx"; + this.gtspkx.Size = new System.Drawing.Size(42, 32); + this.gtspkx.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.gtspkx.TabIndex = 23; + this.gtspkx.TabStop = false; + // + // GB_Fused + // + this.GB_Fused.Controls.Add(this.fusedpkx); + this.GB_Fused.Location = new System.Drawing.Point(227, 70); + this.GB_Fused.Name = "GB_Fused"; + this.GB_Fused.Size = new System.Drawing.Size(60, 60); + this.GB_Fused.TabIndex = 25; + this.GB_Fused.TabStop = false; + this.GB_Fused.Text = "Fused"; + // + // fusedpkx + // + this.fusedpkx.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.fusedpkx.Location = new System.Drawing.Point(9, 18); + this.fusedpkx.Name = "fusedpkx"; + this.fusedpkx.Size = new System.Drawing.Size(42, 32); + this.fusedpkx.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.fusedpkx.TabIndex = 24; + this.fusedpkx.TabStop = false; + // + // L_ReadOnlyOther + // + this.L_ReadOnlyOther.ForeColor = System.Drawing.Color.Red; + this.L_ReadOnlyOther.Location = new System.Drawing.Point(32, 179); + this.L_ReadOnlyOther.Name = "L_ReadOnlyOther"; + this.L_ReadOnlyOther.Size = new System.Drawing.Size(170, 13); + this.L_ReadOnlyOther.TabIndex = 29; + this.L_ReadOnlyOther.Text = "This tab is read only."; + this.L_ReadOnlyOther.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // GB_SUBE + // + this.GB_SUBE.Controls.Add(this.subepkx1); + this.GB_SUBE.Controls.Add(this.subepkx2); + this.GB_SUBE.Controls.Add(this.subepkx3); + this.GB_SUBE.Location = new System.Drawing.Point(227, 136); + this.GB_SUBE.Name = "GB_SUBE"; + this.GB_SUBE.Size = new System.Drawing.Size(60, 60); + this.GB_SUBE.TabIndex = 27; + this.GB_SUBE.TabStop = false; + this.GB_SUBE.Text = "OldMan"; + // + // subepkx1 + // + this.subepkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.subepkx1.Location = new System.Drawing.Point(9, 18); + this.subepkx1.Name = "subepkx1"; + this.subepkx1.Size = new System.Drawing.Size(42, 32); + this.subepkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.subepkx1.TabIndex = 18; + this.subepkx1.TabStop = false; + // + // subepkx2 + // + this.subepkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.subepkx2.Location = new System.Drawing.Point(62, 19); + this.subepkx2.Name = "subepkx2"; + this.subepkx2.Size = new System.Drawing.Size(42, 34); + this.subepkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.subepkx2.TabIndex = 19; + this.subepkx2.TabStop = false; + // + // subepkx3 + // + this.subepkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.subepkx3.Location = new System.Drawing.Point(109, 19); + this.subepkx3.Name = "subepkx3"; + this.subepkx3.Size = new System.Drawing.Size(42, 34); + this.subepkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.subepkx3.TabIndex = 20; + this.subepkx3.TabStop = false; + // + // Tab_SAV + // + this.Tab_SAV.Controls.Add(this.CB_SaveSlot); + this.Tab_SAV.Controls.Add(this.L_SaveSlot); + this.Tab_SAV.Controls.Add(this.L_Secure2); + this.Tab_SAV.Controls.Add(this.TB_Secure2); + this.Tab_SAV.Controls.Add(this.L_Secure1); + this.Tab_SAV.Controls.Add(this.TB_Secure1); + this.Tab_SAV.Controls.Add(this.B_JPEG); + this.Tab_SAV.Controls.Add(this.L_GameSync); + this.Tab_SAV.Controls.Add(this.TB_GameSync); + this.Tab_SAV.Controls.Add(this.B_SaveBoxBin); + this.Tab_SAV.Controls.Add(this.B_VerifyCHK); + this.Tab_SAV.Location = new System.Drawing.Point(4, 22); + this.Tab_SAV.Name = "Tab_SAV"; + this.Tab_SAV.Size = new System.Drawing.Size(302, 199); + this.Tab_SAV.TabIndex = 3; + this.Tab_SAV.Text = "SAV"; + this.Tab_SAV.UseVisualStyleBackColor = true; + // + // CB_SaveSlot + // + this.CB_SaveSlot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_SaveSlot.FormattingEnabled = true; + this.CB_SaveSlot.Location = new System.Drawing.Point(150, 148); + this.CB_SaveSlot.Name = "CB_SaveSlot"; + this.CB_SaveSlot.Size = new System.Drawing.Size(121, 21); + this.CB_SaveSlot.TabIndex = 20; + this.CB_SaveSlot.Validated += new System.EventHandler(this.updateSaveSlot); + // + // L_SaveSlot + // + this.L_SaveSlot.AutoSize = true; + this.L_SaveSlot.Location = new System.Drawing.Point(92, 151); + this.L_SaveSlot.Name = "L_SaveSlot"; + this.L_SaveSlot.Size = new System.Drawing.Size(56, 13); + this.L_SaveSlot.TabIndex = 19; + this.L_SaveSlot.Text = "Save Slot:"; + // + // L_Secure2 + // + this.L_Secure2.Location = new System.Drawing.Point(33, 113); + this.L_Secure2.Name = "L_Secure2"; + this.L_Secure2.Size = new System.Drawing.Size(115, 20); + this.L_Secure2.TabIndex = 18; + this.L_Secure2.Text = "Secure Value 2:"; + this.L_Secure2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // TB_Secure2 + // + this.TB_Secure2.Enabled = false; + this.TB_Secure2.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_Secure2.Location = new System.Drawing.Point(151, 113); + this.TB_Secure2.MaxLength = 16; + this.TB_Secure2.Name = "TB_Secure2"; + this.TB_Secure2.Size = new System.Drawing.Size(120, 20); + this.TB_Secure2.TabIndex = 17; + this.TB_Secure2.Text = "0000000000000000"; + this.TB_Secure2.Validated += new System.EventHandler(this.updateStringSeed); + // + // L_Secure1 + // + this.L_Secure1.Location = new System.Drawing.Point(33, 91); + this.L_Secure1.Name = "L_Secure1"; + this.L_Secure1.Size = new System.Drawing.Size(115, 20); + this.L_Secure1.TabIndex = 16; + this.L_Secure1.Text = "Secure Value 1:"; + this.L_Secure1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // TB_Secure1 + // + this.TB_Secure1.Enabled = false; + this.TB_Secure1.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_Secure1.Location = new System.Drawing.Point(151, 91); + this.TB_Secure1.MaxLength = 16; + this.TB_Secure1.Name = "TB_Secure1"; + this.TB_Secure1.Size = new System.Drawing.Size(120, 20); + this.TB_Secure1.TabIndex = 15; + this.TB_Secure1.Text = "0000000000000000"; + this.TB_Secure1.Validated += new System.EventHandler(this.updateStringSeed); + // + // B_JPEG + // + this.B_JPEG.Location = new System.Drawing.Point(198, 20); + this.B_JPEG.Name = "B_JPEG"; + this.B_JPEG.Size = new System.Drawing.Size(75, 45); + this.B_JPEG.TabIndex = 12; + this.B_JPEG.Text = "Save PGL .JPEG"; + this.B_JPEG.UseVisualStyleBackColor = true; + this.B_JPEG.Click += new System.EventHandler(this.B_JPEG_Click); + // + // L_GameSync + // + this.L_GameSync.Location = new System.Drawing.Point(33, 69); + this.L_GameSync.Name = "L_GameSync"; + this.L_GameSync.Size = new System.Drawing.Size(115, 20); + this.L_GameSync.TabIndex = 11; + this.L_GameSync.Text = "Game Sync ID:"; + this.L_GameSync.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // TB_GameSync + // + this.TB_GameSync.Enabled = false; + this.TB_GameSync.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_GameSync.Location = new System.Drawing.Point(151, 69); + this.TB_GameSync.MaxLength = 16; + this.TB_GameSync.Name = "TB_GameSync"; + this.TB_GameSync.Size = new System.Drawing.Size(120, 20); + this.TB_GameSync.TabIndex = 10; + this.TB_GameSync.Text = "0000000000000000"; + this.TB_GameSync.Validated += new System.EventHandler(this.updateStringSeed); + // + // B_SaveBoxBin + // + this.B_SaveBoxBin.Location = new System.Drawing.Point(116, 20); + this.B_SaveBoxBin.Name = "B_SaveBoxBin"; + this.B_SaveBoxBin.Size = new System.Drawing.Size(75, 45); + this.B_SaveBoxBin.TabIndex = 8; + this.B_SaveBoxBin.Text = "Save Box Data++"; + this.B_SaveBoxBin.UseVisualStyleBackColor = true; + this.B_SaveBoxBin.Click += new System.EventHandler(this.B_SaveBoxBin_Click); + // + // B_VerifyCHK + // + this.B_VerifyCHK.Enabled = false; + this.B_VerifyCHK.Location = new System.Drawing.Point(32, 20); + this.B_VerifyCHK.Name = "B_VerifyCHK"; + this.B_VerifyCHK.Size = new System.Drawing.Size(75, 45); + this.B_VerifyCHK.TabIndex = 2; + this.B_VerifyCHK.Text = "Verify Checksums"; + this.B_VerifyCHK.UseVisualStyleBackColor = true; + this.B_VerifyCHK.Click += new System.EventHandler(this.clickVerifyCHK); + // + // GB_SAVtools + // + this.GB_SAVtools.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.GB_SAVtools.Controls.Add(this.FLP_SAVtools); + this.GB_SAVtools.Location = new System.Drawing.Point(0, 225); + this.GB_SAVtools.Name = "GB_SAVtools"; + this.GB_SAVtools.Size = new System.Drawing.Size(308, 101); + this.GB_SAVtools.TabIndex = 102; + this.GB_SAVtools.TabStop = false; + // + // FLP_SAVtools + // + this.FLP_SAVtools.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_SAVtools.AutoScroll = true; + this.FLP_SAVtools.Controls.Add(this.B_OpenTrainerInfo); + this.FLP_SAVtools.Controls.Add(this.B_OpenItemPouch); + this.FLP_SAVtools.Controls.Add(this.B_OpenBoxLayout); + this.FLP_SAVtools.Controls.Add(this.B_OpenWondercards); + this.FLP_SAVtools.Controls.Add(this.B_OpenOPowers); + this.FLP_SAVtools.Controls.Add(this.B_OpenEventFlags); + this.FLP_SAVtools.Controls.Add(this.B_OpenPokedex); + this.FLP_SAVtools.Controls.Add(this.B_OpenLinkInfo); + this.FLP_SAVtools.Controls.Add(this.B_OpenBerryField); + this.FLP_SAVtools.Controls.Add(this.B_OpenPokeblocks); + this.FLP_SAVtools.Controls.Add(this.B_OpenSecretBase); + this.FLP_SAVtools.Controls.Add(this.B_OpenPokepuffs); + this.FLP_SAVtools.Controls.Add(this.B_OpenSuperTraining); + this.FLP_SAVtools.Controls.Add(this.B_OpenHallofFame); + this.FLP_SAVtools.Controls.Add(this.B_OUTPasserby); + this.FLP_SAVtools.Controls.Add(this.B_CGearSkin); + this.FLP_SAVtools.Controls.Add(this.B_OpenPokeBeans); + this.FLP_SAVtools.Controls.Add(this.B_OpenZygardeCells); + this.FLP_SAVtools.Controls.Add(this.B_OpenMiscEditor); + this.FLP_SAVtools.Controls.Add(this.B_OpenHoneyTreeEditor); + this.FLP_SAVtools.Controls.Add(this.B_OpenFriendSafari); + this.FLP_SAVtools.Controls.Add(this.B_OpenRTCEditor); + 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, 88); + this.FLP_SAVtools.TabIndex = 101; + // + // B_OpenTrainerInfo + // + this.B_OpenTrainerInfo.Location = new System.Drawing.Point(3, 3); + this.B_OpenTrainerInfo.Name = "B_OpenTrainerInfo"; + this.B_OpenTrainerInfo.Size = new System.Drawing.Size(87, 23); + this.B_OpenTrainerInfo.TabIndex = 3; + this.B_OpenTrainerInfo.Text = "Trainer Info"; + this.B_OpenTrainerInfo.UseVisualStyleBackColor = true; + this.B_OpenTrainerInfo.Click += new System.EventHandler(this.B_OpenTrainerInfo_Click); + // + // B_OpenItemPouch + // + this.B_OpenItemPouch.Location = new System.Drawing.Point(96, 3); + this.B_OpenItemPouch.Name = "B_OpenItemPouch"; + this.B_OpenItemPouch.Size = new System.Drawing.Size(87, 23); + this.B_OpenItemPouch.TabIndex = 2; + this.B_OpenItemPouch.Text = "Items"; + this.B_OpenItemPouch.UseVisualStyleBackColor = true; + this.B_OpenItemPouch.Click += new System.EventHandler(this.B_OpenItemPouch_Click); + // + // B_OpenBoxLayout + // + this.B_OpenBoxLayout.Location = new System.Drawing.Point(189, 3); + this.B_OpenBoxLayout.Name = "B_OpenBoxLayout"; + this.B_OpenBoxLayout.Size = new System.Drawing.Size(87, 23); + this.B_OpenBoxLayout.TabIndex = 5; + this.B_OpenBoxLayout.Text = "Box Layout"; + this.B_OpenBoxLayout.UseVisualStyleBackColor = true; + this.B_OpenBoxLayout.Click += new System.EventHandler(this.B_OpenBoxLayout_Click); + // + // B_OpenWondercards + // + this.B_OpenWondercards.Location = new System.Drawing.Point(3, 32); + this.B_OpenWondercards.Name = "B_OpenWondercards"; + this.B_OpenWondercards.Size = new System.Drawing.Size(87, 23); + this.B_OpenWondercards.TabIndex = 6; + this.B_OpenWondercards.Text = "Wondercard"; + this.B_OpenWondercards.UseVisualStyleBackColor = true; + this.B_OpenWondercards.Click += new System.EventHandler(this.B_OpenWondercards_Click); + // + // B_OpenOPowers + // + this.B_OpenOPowers.Location = new System.Drawing.Point(96, 32); + this.B_OpenOPowers.Name = "B_OpenOPowers"; + this.B_OpenOPowers.Size = new System.Drawing.Size(87, 23); + this.B_OpenOPowers.TabIndex = 9; + this.B_OpenOPowers.Text = "O-Powers"; + this.B_OpenOPowers.UseVisualStyleBackColor = true; + this.B_OpenOPowers.Click += new System.EventHandler(this.B_OpenOPowers_Click); + // + // B_OpenEventFlags + // + this.B_OpenEventFlags.Location = new System.Drawing.Point(189, 32); + this.B_OpenEventFlags.Name = "B_OpenEventFlags"; + this.B_OpenEventFlags.Size = new System.Drawing.Size(87, 23); + this.B_OpenEventFlags.TabIndex = 10; + this.B_OpenEventFlags.Text = "Event Flags"; + this.B_OpenEventFlags.UseVisualStyleBackColor = true; + this.B_OpenEventFlags.Click += new System.EventHandler(this.B_OpenEventFlags_Click); + // + // B_OpenPokedex + // + this.B_OpenPokedex.Location = new System.Drawing.Point(3, 61); + this.B_OpenPokedex.Name = "B_OpenPokedex"; + this.B_OpenPokedex.Size = new System.Drawing.Size(87, 23); + this.B_OpenPokedex.TabIndex = 11; + this.B_OpenPokedex.Text = "Pokédex"; + this.B_OpenPokedex.UseVisualStyleBackColor = true; + this.B_OpenPokedex.Click += new System.EventHandler(this.B_OpenPokedex_Click); + // + // B_OpenLinkInfo + // + this.B_OpenLinkInfo.Location = new System.Drawing.Point(96, 61); + this.B_OpenLinkInfo.Name = "B_OpenLinkInfo"; + this.B_OpenLinkInfo.Size = new System.Drawing.Size(87, 23); + this.B_OpenLinkInfo.TabIndex = 23; + this.B_OpenLinkInfo.Text = "Link Data"; + this.B_OpenLinkInfo.UseVisualStyleBackColor = true; + this.B_OpenLinkInfo.Click += new System.EventHandler(this.B_LinkInfo_Click); + // + // B_OpenBerryField + // + this.B_OpenBerryField.Location = new System.Drawing.Point(189, 61); + this.B_OpenBerryField.Name = "B_OpenBerryField"; + this.B_OpenBerryField.Size = new System.Drawing.Size(87, 23); + this.B_OpenBerryField.TabIndex = 12; + this.B_OpenBerryField.Text = "Berry Field"; + this.B_OpenBerryField.UseVisualStyleBackColor = true; + this.B_OpenBerryField.Click += new System.EventHandler(this.B_OpenBerryField_Click); + // + // B_OpenPokeblocks + // + this.B_OpenPokeblocks.Location = new System.Drawing.Point(3, 90); + this.B_OpenPokeblocks.Name = "B_OpenPokeblocks"; + this.B_OpenPokeblocks.Size = new System.Drawing.Size(87, 23); + this.B_OpenPokeblocks.TabIndex = 22; + this.B_OpenPokeblocks.Text = "Pokéblocks"; + this.B_OpenPokeblocks.UseVisualStyleBackColor = true; + this.B_OpenPokeblocks.Visible = false; + this.B_OpenPokeblocks.Click += new System.EventHandler(this.B_OpenPokeblocks_Click); + // + // B_OpenSecretBase + // + this.B_OpenSecretBase.Location = new System.Drawing.Point(96, 90); + this.B_OpenSecretBase.Name = "B_OpenSecretBase"; + this.B_OpenSecretBase.Size = new System.Drawing.Size(87, 23); + this.B_OpenSecretBase.TabIndex = 21; + this.B_OpenSecretBase.Text = "Secret Base"; + this.B_OpenSecretBase.UseVisualStyleBackColor = true; + this.B_OpenSecretBase.Visible = false; + this.B_OpenSecretBase.Click += new System.EventHandler(this.B_OpenSecretBase_Click); + // + // B_OpenPokepuffs + // + this.B_OpenPokepuffs.Location = new System.Drawing.Point(189, 90); + this.B_OpenPokepuffs.Name = "B_OpenPokepuffs"; + this.B_OpenPokepuffs.Size = new System.Drawing.Size(87, 23); + this.B_OpenPokepuffs.TabIndex = 1; + this.B_OpenPokepuffs.Text = "‎Poké Puffs"; + this.B_OpenPokepuffs.UseVisualStyleBackColor = true; + this.B_OpenPokepuffs.Click += new System.EventHandler(this.B_OpenPokepuffs_Click); + // + // B_OpenSuperTraining + // + this.B_OpenSuperTraining.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.B_OpenSuperTraining.Location = new System.Drawing.Point(3, 119); + this.B_OpenSuperTraining.Name = "B_OpenSuperTraining"; + this.B_OpenSuperTraining.Size = new System.Drawing.Size(87, 23); + this.B_OpenSuperTraining.TabIndex = 7; + this.B_OpenSuperTraining.Text = "Super Train"; + this.B_OpenSuperTraining.UseVisualStyleBackColor = true; + this.B_OpenSuperTraining.Click += new System.EventHandler(this.B_OpenSuperTraining_Click); + // + // B_OpenHallofFame + // + this.B_OpenHallofFame.Location = new System.Drawing.Point(96, 119); + this.B_OpenHallofFame.Name = "B_OpenHallofFame"; + this.B_OpenHallofFame.Size = new System.Drawing.Size(87, 23); + this.B_OpenHallofFame.TabIndex = 8; + this.B_OpenHallofFame.Text = "Hall of Fame"; + this.B_OpenHallofFame.UseVisualStyleBackColor = true; + this.B_OpenHallofFame.Click += new System.EventHandler(this.B_OUTHallofFame_Click); + // + // B_OUTPasserby + // + this.B_OUTPasserby.Location = new System.Drawing.Point(189, 119); + this.B_OUTPasserby.Name = "B_OUTPasserby"; + this.B_OUTPasserby.Size = new System.Drawing.Size(87, 23); + this.B_OUTPasserby.TabIndex = 4; + this.B_OUTPasserby.Text = "Passerby"; + this.B_OUTPasserby.UseVisualStyleBackColor = true; + this.B_OUTPasserby.Click += new System.EventHandler(this.B_OUTPasserby_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); + // + // B_OpenPokeBeans + // + this.B_OpenPokeBeans.Location = new System.Drawing.Point(96, 148); + this.B_OpenPokeBeans.Name = "B_OpenPokeBeans"; + this.B_OpenPokeBeans.Size = new System.Drawing.Size(87, 23); + this.B_OpenPokeBeans.TabIndex = 25; + this.B_OpenPokeBeans.Text = "‎Poké Beans"; + this.B_OpenPokeBeans.UseVisualStyleBackColor = true; + this.B_OpenPokeBeans.Click += new System.EventHandler(this.B_OpenPokeBeans_Click); + // + // B_OpenZygardeCells + // + this.B_OpenZygardeCells.Location = new System.Drawing.Point(189, 148); + this.B_OpenZygardeCells.Name = "B_OpenZygardeCells"; + this.B_OpenZygardeCells.Size = new System.Drawing.Size(87, 23); + this.B_OpenZygardeCells.TabIndex = 26; + this.B_OpenZygardeCells.Text = "Zygarde Cells"; + this.B_OpenZygardeCells.UseVisualStyleBackColor = true; + this.B_OpenZygardeCells.Click += new System.EventHandler(this.B_OpenZygardeCells_Click); + // + // B_OpenMiscEditor + // + this.B_OpenMiscEditor.Location = new System.Drawing.Point(3, 177); + this.B_OpenMiscEditor.Name = "B_OpenMiscEditor"; + this.B_OpenMiscEditor.Size = new System.Drawing.Size(87, 23); + this.B_OpenMiscEditor.TabIndex = 27; + this.B_OpenMiscEditor.Text = "Misc Edits"; + this.B_OpenMiscEditor.UseVisualStyleBackColor = true; + this.B_OpenMiscEditor.Click += new System.EventHandler(this.B_OpenMiscEditor_Click); + // + // B_OpenHoneyTreeEditor + // + this.B_OpenHoneyTreeEditor.Location = new System.Drawing.Point(96, 177); + this.B_OpenHoneyTreeEditor.Name = "B_OpenHoneyTreeEditor"; + this.B_OpenHoneyTreeEditor.Size = new System.Drawing.Size(87, 23); + this.B_OpenHoneyTreeEditor.TabIndex = 28; + this.B_OpenHoneyTreeEditor.Text = "Honey Tree"; + this.B_OpenHoneyTreeEditor.UseVisualStyleBackColor = true; + this.B_OpenHoneyTreeEditor.Click += new System.EventHandler(this.B_OpenHoneyTreeEditor_Click); + // + // B_OpenFriendSafari + // + this.B_OpenFriendSafari.Location = new System.Drawing.Point(189, 177); + this.B_OpenFriendSafari.Name = "B_OpenFriendSafari"; + this.B_OpenFriendSafari.Size = new System.Drawing.Size(87, 23); + this.B_OpenFriendSafari.TabIndex = 28; + this.B_OpenFriendSafari.Text = "Friend Safari"; + this.B_OpenFriendSafari.UseVisualStyleBackColor = true; + this.B_OpenFriendSafari.Click += new System.EventHandler(this.B_OpenFriendSafari_Click); + // + // B_OpenRTCEditor + // + this.B_OpenRTCEditor.Location = new System.Drawing.Point(3, 206); + this.B_OpenRTCEditor.Name = "B_OpenRTCEditor"; + this.B_OpenRTCEditor.Size = new System.Drawing.Size(87, 23); + this.B_OpenRTCEditor.TabIndex = 29; + this.B_OpenRTCEditor.Text = "Clock (RTC)"; + this.B_OpenRTCEditor.UseVisualStyleBackColor = true; + this.B_OpenRTCEditor.Click += new System.EventHandler(this.B_OpenRTCEditor_Click); + // + // SAVEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.tabBoxMulti); + this.Controls.Add(this.GB_SAVtools); + this.Name = "SAVEditor"; + this.Size = new System.Drawing.Size(310, 326); + this.tabBoxMulti.ResumeLayout(false); + this.Tab_Box.ResumeLayout(false); + this.Tab_PartyBattle.ResumeLayout(false); + this.Tab_PartyBattle.PerformLayout(); + this.PAN_BattleBox.ResumeLayout(false); + this.PAN_BattleBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_Locked)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bbpkx6)).EndInit(); + this.PAN_Party.ResumeLayout(false); + this.PAN_Party.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ppkx6)).EndInit(); + this.Tab_Other.ResumeLayout(false); + this.GB_Daycare.ResumeLayout(false); + this.GB_Daycare.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dcpkx2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dcpkx1)).EndInit(); + this.GB_GTS.ResumeLayout(false); + this.GB_GTS.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gtspkx)).EndInit(); + this.GB_Fused.ResumeLayout(false); + this.GB_Fused.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fusedpkx)).EndInit(); + this.GB_SUBE.ResumeLayout(false); + this.GB_SUBE.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.subepkx3)).EndInit(); + this.Tab_SAV.ResumeLayout(false); + this.Tab_SAV.PerformLayout(); + this.GB_SAVtools.ResumeLayout(false); + this.FLP_SAVtools.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabBoxMulti; + private System.Windows.Forms.TabPage Tab_Box; + private System.Windows.Forms.TabPage Tab_PartyBattle; + private System.Windows.Forms.Panel PAN_BattleBox; + private System.Windows.Forms.PictureBox PB_Locked; + private System.Windows.Forms.PictureBox bbpkx1; + private System.Windows.Forms.PictureBox bbpkx2; + private System.Windows.Forms.PictureBox bbpkx3; + private System.Windows.Forms.PictureBox bbpkx4; + private System.Windows.Forms.PictureBox bbpkx5; + private System.Windows.Forms.PictureBox bbpkx6; + private System.Windows.Forms.Label L_ReadOnlyPBB; + private System.Windows.Forms.Label L_BattleBox; + private System.Windows.Forms.Label L_Party; + private System.Windows.Forms.Panel PAN_Party; + private System.Windows.Forms.PictureBox ppkx1; + private System.Windows.Forms.PictureBox ppkx2; + private System.Windows.Forms.PictureBox ppkx3; + private System.Windows.Forms.PictureBox ppkx4; + private System.Windows.Forms.PictureBox ppkx5; + private System.Windows.Forms.PictureBox ppkx6; + private System.Windows.Forms.TabPage Tab_Other; + private System.Windows.Forms.GroupBox GB_Daycare; + private System.Windows.Forms.Label L_XP2; + private System.Windows.Forms.Label L_XP1; + private System.Windows.Forms.TextBox TB_Daycare2XP; + private System.Windows.Forms.TextBox TB_Daycare1XP; + private System.Windows.Forms.Label L_DC2; + private System.Windows.Forms.Label L_DC1; + private System.Windows.Forms.Label L_DaycareSeed; + private System.Windows.Forms.TextBox TB_RNGSeed; + private System.Windows.Forms.PictureBox dcpkx2; + private System.Windows.Forms.PictureBox dcpkx1; + private System.Windows.Forms.CheckBox DayCare_HasEgg; + private System.Windows.Forms.GroupBox GB_GTS; + private System.Windows.Forms.PictureBox gtspkx; + private System.Windows.Forms.GroupBox GB_Fused; + private System.Windows.Forms.PictureBox fusedpkx; + private System.Windows.Forms.Label L_ReadOnlyOther; + private System.Windows.Forms.GroupBox GB_SUBE; + private System.Windows.Forms.PictureBox subepkx1; + private System.Windows.Forms.PictureBox subepkx2; + private System.Windows.Forms.PictureBox subepkx3; + private System.Windows.Forms.TabPage Tab_SAV; + private System.Windows.Forms.ComboBox CB_SaveSlot; + private System.Windows.Forms.Label L_SaveSlot; + private System.Windows.Forms.Label L_Secure2; + private System.Windows.Forms.TextBox TB_Secure2; + private System.Windows.Forms.Label L_Secure1; + private System.Windows.Forms.TextBox TB_Secure1; + private System.Windows.Forms.Button B_JPEG; + private System.Windows.Forms.Label L_GameSync; + private System.Windows.Forms.TextBox TB_GameSync; + private System.Windows.Forms.Button B_SaveBoxBin; + private System.Windows.Forms.Button B_VerifyCHK; + private System.Windows.Forms.GroupBox GB_SAVtools; + private System.Windows.Forms.FlowLayoutPanel FLP_SAVtools; + private System.Windows.Forms.Button B_OpenTrainerInfo; + private System.Windows.Forms.Button B_OpenItemPouch; + private System.Windows.Forms.Button B_OpenBoxLayout; + private System.Windows.Forms.Button B_OpenWondercards; + private System.Windows.Forms.Button B_OpenOPowers; + private System.Windows.Forms.Button B_OpenEventFlags; + private System.Windows.Forms.Button B_OpenPokedex; + private System.Windows.Forms.Button B_OpenLinkInfo; + private System.Windows.Forms.Button B_OpenBerryField; + private System.Windows.Forms.Button B_OpenPokeblocks; + private System.Windows.Forms.Button B_OpenSecretBase; + private System.Windows.Forms.Button B_OpenPokepuffs; + private System.Windows.Forms.Button B_OpenSuperTraining; + private System.Windows.Forms.Button B_OpenHallofFame; + private System.Windows.Forms.Button B_OUTPasserby; + private System.Windows.Forms.Button B_CGearSkin; + private System.Windows.Forms.Button B_OpenPokeBeans; + private System.Windows.Forms.Button B_OpenZygardeCells; + private System.Windows.Forms.Button B_OpenMiscEditor; + private System.Windows.Forms.Button B_OpenHoneyTreeEditor; + private System.Windows.Forms.Button B_OpenFriendSafari; + private System.Windows.Forms.Button B_OpenRTCEditor; + public BoxEditor Box; + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs new file mode 100644 index 000000000..c57bb0623 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs @@ -0,0 +1,1067 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Media; +using System.Text; +using System.Windows.Forms; +using PKHeX.Core; +using PKHeX.WinForms.Properties; + +namespace PKHeX.WinForms.Controls +{ + public partial class SAVEditor : UserControl + { + public SaveFile SAV = SaveUtil.getBlankSAV(GameVersion.SN, "PKHeX"); + public readonly PictureBox[] SlotPictureBoxes; + public readonly SlotChangeManager M; + public readonly Stack UndoStack = new Stack(); + public readonly Stack RedoStack = new Stack(); + private readonly ContextMenuSAV menu = new ContextMenuSAV(); + + public bool HaX; + public bool ModifyPKM; + public ToolStripMenuItem Menu_Redo; + public ToolStripMenuItem Menu_Undo; + private bool FieldsLoaded; + public PKMEditor PKME_Tabs; + + public bool FlagIllegal + { + get => Box.FlagIllegal; + set + { + Box.FlagIllegal = value && !HaX; + updateBoxViewers(all: true); + } + } + + public SAVEditor() + { + InitializeComponent(); + Box.Setup(M = new SlotChangeManager(this)); + + var SupplementarySlots = new[] + { + ppkx1, ppkx2, ppkx3, ppkx4, ppkx5, ppkx6, + bbpkx1, bbpkx2, bbpkx3, bbpkx4, bbpkx5, bbpkx6, + + dcpkx1, dcpkx2, gtspkx, fusedpkx, subepkx1, subepkx2, subepkx3, + }; + + GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; + foreach (PictureBox pb in SupplementarySlots) + { + pb.MouseEnter += M.MouseEnter; + pb.MouseLeave += M.MouseLeave; + pb.MouseClick += M.MouseClick; + pb.MouseMove += pbBoxSlot_MouseMove; + pb.MouseDown += M.MouseDown; + pb.MouseUp += M.MouseUp; + + pb.DragEnter += M.DragEnter; + pb.DragDrop += pbBoxSlot_DragDrop; + pb.QueryContinueDrag += M.QueryContinueDrag; + pb.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; + pb.AllowDrop = true; + } + foreach (TabPage tab in tabBoxMulti.TabPages) + tab.AllowDrop = true; + + Box.SlotPictureBoxes.AddRange(SupplementarySlots); + SlotPictureBoxes = Box.SlotPictureBoxes.ToArray(); + foreach (PictureBox pb in SlotPictureBoxes) + pb.ContextMenuStrip = menu.mnuVSD; + + GB_Daycare.Click += switchDaycare; + FLP_SAVtools.Scroll += WinFormsUtil.PanelScroll; + } + + /// Occurs when the Control Collection requests a cloning operation to the current box. + public event EventHandler RequestCloneData; + /// Occurs when the Control Collection requests a save to be reloaded. + public event EventHandler RequestReloadSave; + + public Cursor GetDefaultCursor => DefaultCursor; + private Image GetSprite(PKM p, int slot) => p.Sprite(SAV, Box.CurrentBox, slot, Box.FlagIllegal); + + public void EnableDragDrop(DragEventHandler enter, DragEventHandler drop) + { + AllowDrop = true; + DragDrop += drop; + foreach (TabPage tab in tabBoxMulti.TabPages) + { + tab.AllowDrop = true; + tab.DragEnter += enter; + tab.DragDrop += drop; + } + } + + // Generic Subfunctions // + public int getPKXOffset(int slot, int box = -1) + { + if (slot < 30) // Box Slot + return Box.getOffset(slot, box); + slot -= 30; + if (slot < 6) // Party Slot + return SAV.getPartyOffset(slot); + slot -= 6; + if (slot < 6) // Battle Box Slot + return SAV.BattleBox + slot * SAV.SIZE_STORED; + slot -= 6; + if (slot < 2) // Daycare + return SAV.getDaycareSlotOffset(SAV.DaycareIndex, slot); + slot -= 2; + if (slot == 0) // GTS + return SAV.GTS; + slot -= 1; + if (slot == 0) // Fused + return SAV.Fused; + slot -= 1; + if (slot < 3) // SUBE + return SAV.SUBE + slot * (SAV.SIZE_STORED + 4); + return -1; + } + public int getSlot(object sender) => Array.IndexOf(SlotPictureBoxes, WinFormsUtil.GetUnderlyingControl(sender)); + public int swapBoxesViewer(int viewBox) + { + int mainBox = Box.CurrentBox; + Box.CurrentBox = viewBox; + return mainBox; + } + public void updateBoxViewers(bool all = false) + { + foreach (var v in M.Boxes.Where(v => v.CurrentBox == Box.CurrentBox || all)) + { + v.FlagIllegal = Box.FlagIllegal; + v.ResetSlots(); + } + } + public void setPKXBoxes() + { + if (SAV.HasBox) + Box.ResetSlots(); + + // Reload Party + if (SAV.HasParty) + { + for (int i = 0; i < 6; i++) + getSlotFiller(SAV.getPartyOffset(i), SlotPictureBoxes[i + 30]); + } + + // Reload Battle Box + if (SAV.HasBattleBox) + { + for (int i = 0; i < 6; i++) + getSlotFiller(SAV.BattleBox + SAV.SIZE_STORED * i, SlotPictureBoxes[i + 36]); + } + + // Reload Daycare + if (SAV.HasDaycare) + { + Label[] L_SlotOccupied = { L_DC1, L_DC2 }; + TextBox[] TB_SlotEXP = { TB_Daycare1XP, TB_Daycare2XP }; + Label[] L_SlotEXP = { L_XP1, L_XP2 }; + + for (int i = 0; i < 2; i++) + { + getSlotFiller(SAV.getDaycareSlotOffset(SAV.DaycareIndex, i), SlotPictureBoxes[i + 42]); + uint? exp = SAV.getDaycareEXP(SAV.DaycareIndex, i); + TB_SlotEXP[i].Visible = L_SlotEXP[i].Visible = exp != null; + TB_SlotEXP[i].Text = exp.ToString(); + bool? occ = SAV.getDaycareOccupied(SAV.DaycareIndex, i); + L_SlotOccupied[i].Visible = occ != null; + if (occ == true) // If Occupied + L_SlotOccupied[i].Text = $"{i + 1}: ✓"; + else + { + L_SlotOccupied[i].Text = $"{i + 1}: ✘"; + SlotPictureBoxes[i + 42].Image = ImageUtil.ChangeOpacity(SlotPictureBoxes[i + 42].Image, 0.6); + } + } + bool? egg = SAV.getDaycareHasEgg(SAV.DaycareIndex); + DayCare_HasEgg.Visible = egg != null; + DayCare_HasEgg.Checked = egg == true; + + var seed = SAV.getDaycareRNGSeed(SAV.DaycareIndex); + L_DaycareSeed.Visible = TB_RNGSeed.Visible = seed != null; + if (seed != null) + { + TB_RNGSeed.MaxLength = SAV.DaycareSeedSize; + TB_RNGSeed.Text = seed; + } + } + + // GTS + if (SAV.HasGTS) + getSlotFiller(SAV.GTS, SlotPictureBoxes[44]); + + // Fused + if (SAV.HasFused) + getSlotFiller(SAV.Fused, SlotPictureBoxes[45]); + + // SUBE + if (SAV.HasSUBE) + for (int i = 0; i < 3; i++) + { + int offset = SAV.SUBE + i * (SAV.SIZE_STORED + 4); + if (BitConverter.ToUInt64(SAV.Data, offset) != 0) + getSlotFiller(offset, SlotPictureBoxes[46 + i]); + else SlotPictureBoxes[46 + i].Image = null; + } + + // Recoloring of a storage box slot (to not show for other storage boxes) + if (M?.colorizedslot >= 30) + SlotPictureBoxes[M.colorizedslot].BackgroundImage = M.colorizedcolor; + } + public void setParty() + { + // Refresh slots + if (SAV.HasParty) + { + PKM[] party = SAV.PartyData; + for (int i = 0; i < party.Length; i++) + SlotPictureBoxes[i + 30].Image = GetSprite(party[i], i + 30); + for (int i = party.Length; i < 6; i++) + SlotPictureBoxes[i + 30].Image = null; + } + if (SAV.HasBattleBox) + { + PKM[] battle = SAV.BattleBoxData; + for (int i = 0; i < battle.Length; i++) + SlotPictureBoxes[i + 36].Image = GetSprite(battle[i], i + 36); + for (int i = battle.Length; i < 6; i++) + SlotPictureBoxes[i + 36].Image = null; + } + } + public void clickUndo() + { + if (!UndoStack.Any()) + return; + + SlotChange change = UndoStack.Pop(); + if (change.Slot >= 30) + return; + + RedoStack.Push(new SlotChange + { + Slot = change.Slot, + Box = change.Box, + Offset = change.Offset, + PKM = SAV.getStoredSlot(change.Offset) + }); + undoSlotChange(change); + M.SetColor(change.Box, change.Slot, Resources.slotSet); + } + public void clickRedo() + { + if (!RedoStack.Any()) + return; + + SlotChange change = RedoStack.Pop(); + if (change.Slot >= 30) + return; + + UndoStack.Push(new SlotChange + { + Slot = change.Slot, + Box = change.Box, + Offset = change.Offset, + PKM = SAV.getStoredSlot(change.Offset) + }); + undoSlotChange(change); + M.SetColor(change.Box, change.Slot, Resources.slotSet); + } + public void SetClonesToBox(PKM pk) + { + if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Clone Pokemon from Editing Tabs to all slots in {Box.CurrentBoxName}?") != DialogResult.Yes) + return; + + int slotSkipped = 0; + for (int i = 0; i < SAV.BoxSlotCount; i++) // set to every slot in box + { + if (SAV.getIsSlotLocked(Box.CurrentBox, i)) + { slotSkipped++; continue; } + SAV.setStoredSlot(pk, getPKXOffset(i)); + Box.setSlotFiller(pk, Box.CurrentBox, i); + } + + if (slotSkipped > 0) + WinFormsUtil.Alert($"Skipped {slotSkipped} locked slot{(slotSkipped > 1 ? "s" : "")}."); + + updateBoxViewers(); + } + public void clickSlot(object sender, EventArgs e) + { + switch (ModifierKeys) + { + case Keys.Control | Keys.Alt: clickClone(sender, e); break; + default: + menu.OmniClick(sender, e, ModifierKeys); + break; + } + } + + private void undoSlotChange(SlotChange change) + { + int box = change.Box; + int slot = change.Slot; + int offset = change.Offset; + PKM pk = change.PKM; + + if (Box.CurrentBox != change.Box) + Box.CurrentBox = change.Box; + SAV.setStoredSlot(pk, offset); + Box.setSlotFiller(pk, box, slot); + M?.SetColor(box, slot, Resources.slotSet); + + if (Menu_Undo != null) + Menu_Undo.Enabled = UndoStack.Any(); + if (Menu_Redo != null) + Menu_Redo.Enabled = RedoStack.Any(); + + SystemSounds.Asterisk.Play(); + } + private void getSlotFiller(int offset, PictureBox pb) + { + if (SAV.getData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED])) + { + // 00s present in slot. + pb.Image = null; + pb.BackColor = Color.Transparent; + pb.Visible = true; + return; + } + PKM p = SAV.getStoredSlot(offset); + if (!p.Valid) // Invalid + { + // Bad Egg present in slot. + pb.Image = null; + pb.BackColor = Color.Red; + pb.Visible = true; + return; + } + + int slot = getSlot(pb); + pb.Image = GetSprite(p, slot); + pb.BackColor = Color.Transparent; + pb.Visible = true; + } + + private void clickBoxSort(object sender, EventArgs e) + { + if (tabBoxMulti.SelectedTab != Tab_Box) + return; + if (!SAV.HasBox) + return; + + string modified; + bool all = false; + if (ModifierKeys == (Keys.Alt | Keys.Shift) && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Clear ALL Boxes?!")) + { + if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) + { WinFormsUtil.Alert("Battle Box slots prevent the clearing of all boxes."); return; } + SAV.resetBoxes(); + modified = "Boxes cleared!"; + all = true; + } + else if (ModifierKeys == Keys.Alt && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Clear Current Box?")) + { + if (SAV.getBoxHasLockedSlot(Box.CurrentBox, Box.CurrentBox)) + { WinFormsUtil.Alert("Battle Box slots prevent the clearing of box."); return; } + SAV.resetBoxes(Box.CurrentBox, Box.CurrentBox + 1); + modified = "Current Box cleared!"; + } + else if (ModifierKeys == (Keys.Control | Keys.Shift) && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Sort ALL Boxes?!")) + { + if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) + { WinFormsUtil.Alert("Battle Box slots prevent the sorting of all boxes."); return; } + SAV.sortBoxes(); + modified = "Boxes sorted!"; + all = true; + } + else if (ModifierKeys == Keys.Control && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Sort Current Box?")) + { + if (SAV.getBoxHasLockedSlot(Box.CurrentBox, Box.CurrentBox)) + { WinFormsUtil.Alert("Battle Box slots prevent the sorting of box."); return; } + SAV.sortBoxes(Box.CurrentBox, Box.CurrentBox + 1); + modified = "Current Box sorted!"; + } + else + return; + + setPKXBoxes(); + updateBoxViewers(all); + WinFormsUtil.Alert(modified); + } + private void clickBoxDouble(object sender, MouseEventArgs e) + { + if (tabBoxMulti.SelectedTab == Tab_SAV) + { + RequestReloadSave?.Invoke(sender, e); + return; + } + if (tabBoxMulti.SelectedTab != Tab_Box) + return; + if (!SAV.HasBox) + return; + if (ModifierKeys != Keys.Shift) + { + if (M.Boxes.Count > 1) // subview open + { var z = M.Boxes[1].ParentForm; z.CenterToForm(ParentForm); z.BringToFront(); return; } + } + new SAV_BoxViewer(this, M).Show(); + } + private void clickClone(object sender, EventArgs e) + { + if (getSlot(sender) > 30) + return; // only perform action if cloning to boxes + RequestCloneData?.Invoke(sender, e); + } + private void updateSaveSlot(object sender, EventArgs e) + { + if (SAV.Version != GameVersion.BATREV) + return; + ((SAV4BR)SAV).CurrentSlot = WinFormsUtil.getIndex(CB_SaveSlot); + setPKXBoxes(); + } + private void updateStringSeed(object sender, EventArgs e) + { + if (!FieldsLoaded) + return; + + TextBox tb = sender as TextBox; + if (tb == null) + return; + + if (tb.Text.Length == 0) + { + tb.Undo(); + return; + } + + string filterText = Util.getOnlyHex(tb.Text); + if (filterText.Length != tb.Text.Length) + { + WinFormsUtil.Alert("Expected HEX (0-9, A-F).", "Received: " + Environment.NewLine + tb.Text); + tb.Undo(); + return; + } + + // Write final value back to the save + if (tb == TB_RNGSeed) + { + var value = filterText.PadLeft(SAV.DaycareSeedSize, '0'); + SAV.setDaycareRNGSeed(SAV.DaycareIndex, value); + SAV.Edited = true; + } + else if (tb == TB_GameSync) + { + var value = filterText.PadLeft(SAV.GameSyncIDSize, '0'); + SAV.GameSyncID = value; + SAV.Edited = true; + } + else if (SAV.Generation >= 6) + { + var value = Convert.ToUInt64(filterText, 16); + if (tb == TB_Secure1) + SAV.Secure1 = value; + else if (tb == TB_Secure2) + SAV.Secure2 = value; + SAV.Edited = true; + } + } + private void switchDaycare(object sender, EventArgs e) + { + if (!SAV.HasTwoDaycares) return; + if (DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Would you like to switch the view to the other Daycare?", + $"Currently viewing daycare {SAV.DaycareIndex + 1}.")) + // If ORAS, alter the daycare offset via toggle. + SAV.DaycareIndex ^= 1; + + // Refresh Boxes + setPKXBoxes(); + } + private void B_SaveBoxBin_Click(object sender, EventArgs e) + { + if (!SAV.HasBox) + { WinFormsUtil.Alert("Save file does not have boxes to dump!"); return; } + Box.SaveBoxBinary(); + } + + // Subfunction Save Buttons // + private void B_OpenWondercards_Click(object sender, EventArgs e) => new SAV_Wondercard(SAV, sender as MysteryGift).ShowDialog(); + private void B_OpenPokepuffs_Click(object sender, EventArgs e) => new SAV_Pokepuff(SAV).ShowDialog(); + private void B_OpenPokeBeans_Click(object sender, EventArgs e) => new SAV_Pokebean(SAV).ShowDialog(); + private void B_OpenItemPouch_Click(object sender, EventArgs e) => new SAV_Inventory(SAV).ShowDialog(); + private void B_OpenBerryField_Click(object sender, EventArgs e) => new SAV_BerryFieldXY(SAV).ShowDialog(); + private void B_OpenPokeblocks_Click(object sender, EventArgs e) => new SAV_PokeBlockORAS(SAV).ShowDialog(); + private void B_OpenEventFlags_Click(object sender, EventArgs e) => new SAV_EventFlags(SAV).ShowDialog(); + private void B_OpenSuperTraining_Click(object sender, EventArgs e) => new SAV_SuperTrain(SAV).ShowDialog(); + private void B_OpenSecretBase_Click(object sender, EventArgs e) => new SAV_SecretBase(SAV).ShowDialog(); + private void B_OpenZygardeCells_Click(object sender, EventArgs e) => new SAV_ZygardeCell(SAV).ShowDialog(); + private void B_LinkInfo_Click(object sender, EventArgs e) => new SAV_Link6(SAV).ShowDialog(); + private void B_OpenBoxLayout_Click(object sender, EventArgs e) + { + new SAV_BoxLayout(SAV, Box.CurrentBox).ShowDialog(); + Box.ResetBoxNames(); // fix box names + Box.ResetSlots(); // refresh box background + updateBoxViewers(all: true); // update subviewers + } + private void B_OpenTrainerInfo_Click(object sender, EventArgs e) + { + if (SAV.Generation < 6) + new SAV_SimpleTrainer(SAV).ShowDialog(); + else if (SAV.Generation == 6) + new SAV_Trainer(SAV).ShowDialog(); + else if (SAV.Generation == 7) + new SAV_Trainer7(SAV).ShowDialog(); + // Refresh conversion info + PKMConverter.updateConfig(SAV.SubRegion, SAV.Country, SAV.ConsoleRegion, SAV.OT, SAV.Gender, SAV.Language); + } + private void B_OpenOPowers_Click(object sender, EventArgs e) + { + if (SAV.Generation != 6) + return; + if (SAV.ORAS) + { + DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "No editing support for ORAS :(", "Max O-Powers with a working code?"); + if (dr != DialogResult.Yes) return; + new byte[] + { + 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, + }.CopyTo(SAV.Data, ((SAV6)SAV).OPower); + } + else if (SAV.XY) + new SAV_OPower(SAV).ShowDialog(); + } + private void B_OpenFriendSafari_Click(object sender, EventArgs e) + { + if (!SAV.XY) + return; + + DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "No editing support for Friend Safari :(", "Unlock all 3 slots for each friend?"); + if (dr != DialogResult.Yes) return; + + // Unlock + reveal all safari slots if friend data is present + for (int i = 1; i < 101; i++) + if (SAV.Data[0x1E7FF + 0x15 * i] != 0x00) // no friend data == 0x00 + SAV.Data[0x1E7FF + 0x15 * i] = 0x3D; + } + private void B_OpenPokedex_Click(object sender, EventArgs e) + { + switch (SAV.Generation) + { + case 1: + case 2: + new SAV_SimplePokedex(SAV).ShowDialog(); break; + case 3: + if (SAV.GameCube) + return; + new SAV_SimplePokedex(SAV).ShowDialog(); break; + case 4: + if (SAV is SAV4BR) + return; + new SAV_Pokedex4(SAV).ShowDialog(); break; + case 5: + new SAV_Pokedex5(SAV).ShowDialog(); break; + case 6: + if (SAV.ORAS) + new SAV_PokedexORAS(SAV).ShowDialog(); + else if (SAV.XY) + new SAV_PokedexXY(SAV).ShowDialog(); + break; + case 7: + if (SAV.SM) + new SAV_PokedexSM(SAV).ShowDialog(); + break; + } + } + private void B_OpenMiscEditor_Click(object sender, EventArgs e) + { + switch (SAV.Generation) + { + case 3: + new SAV_Misc3(SAV).ShowDialog(); break; + case 4: + new SAV_Misc4(SAV).ShowDialog(); break; + } + } + private void B_OpenRTCEditor_Click(object sender, EventArgs e) + { + switch (SAV.Generation) + { + case 3: + new SAV_RTC3(SAV).ShowDialog(); break; + } + } + private void B_OpenHoneyTreeEditor_Click(object sender, EventArgs e) + { + switch (SAV.Version) + { + case GameVersion.DP: + case GameVersion.Pt: + new SAV_HoneyTree(SAV).ShowDialog(); break; + } + } + private void B_OUTPasserby_Click(object sender, EventArgs e) + { + if (SAV.Generation != 6) + return; + if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Export Passerby Info to Clipboard?")) + return; + string result = "PSS List" + Environment.NewLine; + string[] headers = { "PSS Data - Friends", "PSS Data - Acquaintances", "PSS Data - Passerby", }; + int offset = ((SAV6)SAV).PSS; + for (int g = 0; g < 3; g++) + { + result += Environment.NewLine + + "----" + Environment.NewLine + + headers[g] + Environment.NewLine + + "----" + Environment.NewLine; + // uint count = BitConverter.ToUInt32(savefile, offset + 0x4E20); + int r_offset = offset; + + for (int i = 0; i < 100; i++) + { + ulong unkn = BitConverter.ToUInt64(SAV.Data, r_offset); + if (unkn == 0) break; // No data present here + if (i > 0) result += Environment.NewLine + Environment.NewLine; + + string otname = Util.TrimFromZero(Encoding.Unicode.GetString(SAV.Data, r_offset + 8, 0x1A)); + string message = Util.TrimFromZero(Encoding.Unicode.GetString(SAV.Data, r_offset + 0x22, 0x22)); + + // Trim terminated + + // uint unk1 = BitConverter.ToUInt32(savefile, r_offset + 0x44); + // ulong unk2 = BitConverter.ToUInt64(savefile, r_offset + 0x48); + // uint unk3 = BitConverter.ToUInt32(savefile, r_offset + 0x50); + // uint unk4 = BitConverter.ToUInt16(savefile, r_offset + 0x54); + byte region = SAV.Data[r_offset + 0x56]; + byte country = SAV.Data[r_offset + 0x57]; + byte game = SAV.Data[r_offset + 0x5A]; + // ulong outfit = BitConverter.ToUInt64(savefile, r_offset + 0x5C); + int favpkm = BitConverter.ToUInt16(SAV.Data, r_offset + 0x9C) & 0x7FF; + string gamename; + try { gamename = GameInfo.Strings.gamelist[game]; } + catch { gamename = "UNKNOWN GAME"; } + + var cr = GameInfo.getCountryRegionText(country, region, GameInfo.CurrentLanguage); + result += + "OT: " + otname + Environment.NewLine + + "Message: " + message + Environment.NewLine + + "Game: " + gamename + Environment.NewLine + + "Country: " + cr.Item1 + Environment.NewLine + + "Region: " + cr.Item2 + Environment.NewLine + + "Favorite: " + GameInfo.Strings.specieslist[favpkm]; + + r_offset += 0xC8; // Advance to next entry + } + offset += 0x5000; // Advance to next block + } + Clipboard.SetText(result); + } + private void B_OUTHallofFame_Click(object sender, EventArgs e) + { + if (SAV.Generation == 6) + new SAV_HallOfFame(SAV).ShowDialog(); + else if (SAV.SM) + new SAV_HallOfFame7(SAV).ShowDialog(); + } + private void B_CGearSkin_Click(object sender, EventArgs e) + { + if (SAV.Generation != 5) + return; // can never be too safe + new SAV_CGearSkin(SAV).ShowDialog(); + } + private void B_JPEG_Click(object sender, EventArgs e) + { + byte[] jpeg = SAV.JPEGData; + if (SAV.JPEGData == null) + { WinFormsUtil.Alert("No PGL picture data found in the save file!"); return; } + string filename = SAV.JPEGTitle + "'s picture"; + SaveFileDialog sfd = new SaveFileDialog { FileName = filename, Filter = "JPEG|*.jpeg" }; + if (sfd.ShowDialog() != DialogResult.OK) return; + File.WriteAllBytes(sfd.FileName, jpeg); + } + private void clickVerifyCHK(object sender, EventArgs e) + { + if (SAV.Edited) { WinFormsUtil.Alert("Save has been edited. Cannot integrity check."); return; } + + if (SAV.ChecksumsValid) { WinFormsUtil.Alert("Checksums are valid."); return; } + if (DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Export Checksum Info to Clipboard?")) + Clipboard.SetText(SAV.ChecksumInfo); + } + + // File I/O + private bool? getPKMSetOverride() + { + var yn = ModifyPKM ? "Yes" : "No"; + DialogResult noSet = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, + "Loading overrides:", + "Yes - Modify .pk* when set to SAV" + Environment.NewLine + + "No - Don't modify .pk*" + Environment.NewLine + + $"Cancel - Use current settings ({yn})"); + return noSet == DialogResult.Yes ? true : (noSet == DialogResult.No ? (bool?)false : null); + } + private bool getFolderPath(out string path) + { + FolderBrowserDialog fbd = new FolderBrowserDialog(); + var result = fbd.ShowDialog() == DialogResult.OK; + path = fbd.SelectedPath; + return result; + } + + public bool ExportSaveFile() + { + ValidateChildren(); + return WinFormsUtil.SaveSAVDialog(SAV, SAV.CurrentBox); + } + public bool ExportBackup() + { + if (!SAV.Exportable) + return false; + SaveFileDialog sfd = new SaveFileDialog + { FileName = Util.CleanFileName(SAV.BAKName) }; + if (sfd.ShowDialog() != DialogResult.OK) + return false; + + string path = sfd.FileName; + File.WriteAllBytes(path, SAV.BAK); + WinFormsUtil.Alert("Saved Backup of current SAV to:", path); + + return true; + } + public bool IsPCBoxBin(int length) => PKX.getIsPKM(length / SAV.SlotCount) || PKX.getIsPKM(length / SAV.BoxSlotCount); + public bool OpenPCBoxBin(byte[] input, out string c) + { + if (SAV.getPCBin().Length == input.Length) + { + if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) + { c = "Battle Box slots prevent loading of PC data."; return false; } + if (!SAV.setPCBin(input)) + { c = "Current SAV Generation: " + SAV.Generation; return false; } + + c = "PC Binary loaded."; + } + else if (SAV.getBoxBin(Box.CurrentBox).Length == input.Length) + { + if (SAV.getBoxHasLockedSlot(Box.CurrentBox, Box.CurrentBox)) + { c = "Battle Box slots in box prevent loading of box data."; return false; } + if (!SAV.setBoxBin(input, Box.CurrentBox)) + { c = "Current SAV Generation: " + SAV.Generation; return false; } + + c = "Box Binary loaded."; + } + else + { + c = "Current SAV Generation: " + SAV.Generation; + return false; + } + setPKXBoxes(); + updateBoxViewers(); + return true; + } + public bool OpenBattleVideo(BattleVideo b, out string c) + { + if (b == null || SAV.Generation != b.Generation) + { + c = "Cannot load the Battle Video to a different generation save file."; + return false; + } + + var prompt = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Load Battle Video Pokémon data to {Box.CurrentBoxName}?", "The box will be overwritten."); + if (prompt != DialogResult.Yes) + { + c = string.Empty; + return false; + } + + bool? noSetb = getPKMSetOverride(); + PKM[] data = b.BattlePKMs; + int offset = SAV.getBoxOffset(Box.CurrentBox); + int slotSkipped = 0; + for (int i = 0; i < 24; i++) + { + if (SAV.getIsSlotLocked(Box.CurrentBox, i)) + { slotSkipped++; continue; } + SAV.setStoredSlot(data[i], offset + i * SAV.SIZE_STORED, noSetb); + } + + setPKXBoxes(); + updateBoxViewers(); + + c = slotSkipped > 0 + ? $"Skipped {slotSkipped} locked slot{(slotSkipped > 1 ? "s" : "")}." + : "Battle Video data loaded to box slots."; + + return true; + } + public bool DumpBoxes(out string result, string path = null, bool separate = false) + { + if (path == null && !getFolderPath(out path)) + { + result = path; + return false; + } + + if (!Directory.Exists(path)) + Directory.CreateDirectory(path); + + SAV.dumpBoxes(path, out result, separate); + return true; + } + public bool DumpBox(out string result, string path = null) + { + if (path == null && !getFolderPath(out path)) + { + result = path; + return false; + } + + if (!Directory.Exists(path)) + Directory.CreateDirectory(path); + + SAV.dumpBox(path, out result, Box.CurrentBox); + return true; + } + public bool LoadBoxes(out string result, string path = null) + { + result = string.Empty; + if (!SAV.HasBox) + return false; + + if (path == null && !getFolderPath(out path)) + { + result = path; + return false; + } + + if (!Directory.Exists(path)) + return false; + + DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, "Clear subsequent boxes when importing data?", "If you only want to overwrite for new data, press no."); + if (dr == DialogResult.Cancel) + return false; + + bool clearAll = dr == DialogResult.Yes; + bool? noSetb = getPKMSetOverride(); + + SAV.loadBoxes(path, out result, Box.CurrentBox, clearAll, noSetb); + setPKXBoxes(); + return true; + } + + public bool ToggleInterface() + { + bool WindowTranslationRequired = false; + FieldsLoaded = false; + + // Close subforms that are save dependent + foreach (var z in M.Boxes.Skip(1).ToArray()) + z.FindForm()?.Close(); + + UndoStack.Clear(); + RedoStack.Clear(); + Box.M = M; + Box.ResetBoxNames(); // Display the Box Names + M.SetColor(-1, -1, null); + if (SAV.HasBox) + { + int startBox = SAV.Exportable ? 0 : SAV.CurrentBox; // FF if BattleBox + if (startBox > SAV.BoxCount - 1) { tabBoxMulti.SelectedIndex = 1; Box.CurrentBox = 0; } + else { tabBoxMulti.SelectedIndex = 0; Box.CurrentBox = startBox; } + } + setPKXBoxes(); // Reload all of the PKX Windows + + // Hide content if not present in game. + GB_SUBE.Visible = SAV.HasSUBE; + PB_Locked.Visible = SAV.HasBattleBox && SAV.BattleBoxLocked; + + if (!SAV.HasBox && tabBoxMulti.TabPages.Contains(Tab_Box)) + tabBoxMulti.TabPages.Remove(Tab_Box); + else if (SAV.HasBox && !tabBoxMulti.TabPages.Contains(Tab_Box)) + { + tabBoxMulti.TabPages.Insert(0, Tab_Box); + WindowTranslationRequired = true; + } + B_SaveBoxBin.Enabled = SAV.HasBox; + + int BoxTab = tabBoxMulti.TabPages.IndexOf(Tab_Box); + int PartyTab = tabBoxMulti.TabPages.IndexOf(Tab_PartyBattle); + + if (!SAV.HasParty && tabBoxMulti.TabPages.Contains(Tab_PartyBattle)) + tabBoxMulti.TabPages.Remove(Tab_PartyBattle); + else if (SAV.HasParty && !tabBoxMulti.TabPages.Contains(Tab_PartyBattle)) + { + int index = BoxTab; + if (index < 0) + index = -1; + tabBoxMulti.TabPages.Insert(index + 1, Tab_PartyBattle); + WindowTranslationRequired = true; + } + + if (!SAV.HasDaycare && tabBoxMulti.TabPages.Contains(Tab_Other)) + tabBoxMulti.TabPages.Remove(Tab_Other); + else if (SAV.HasDaycare && !tabBoxMulti.TabPages.Contains(Tab_Other)) + { + int index = PartyTab; + if (index < 0) + index = BoxTab; + if (index < 0) + index = -1; + tabBoxMulti.TabPages.Insert(index + 1, Tab_Other); + WindowTranslationRequired = true; + } + + if (SAV.Exportable) // Actual save file + { + 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.Enabled = SAV.HasSecretBase; + B_OpenPokepuffs.Enabled = SAV.HasPuff; + B_OpenPokeBeans.Enabled = SAV.Generation == 7; + B_OpenZygardeCells.Enabled = SAV.Generation == 7; + B_OUTPasserby.Enabled = SAV.HasPSS; + B_OpenBoxLayout.Enabled = SAV.HasBoxWallpapers; + B_OpenWondercards.Enabled = SAV.HasWondercards; + B_OpenSuperTraining.Enabled = SAV.HasSuperTrain; + B_OpenHallofFame.Enabled = SAV.HasHoF; + B_OpenOPowers.Enabled = SAV.HasOPower; + B_OpenPokedex.Enabled = SAV.HasPokeDex; + B_OpenBerryField.Enabled = SAV.HasBerryField && SAV.XY; + B_OpenFriendSafari.Enabled = SAV.XY; + B_OpenPokeblocks.Enabled = SAV.HasPokeBlock; + B_JPEG.Visible = SAV.HasJPEG; + B_OpenEventFlags.Enabled = SAV.HasEvents; + B_OpenLinkInfo.Enabled = SAV.HasLink; + B_CGearSkin.Enabled = SAV.Generation == 5; + + B_OpenTrainerInfo.Enabled = B_OpenItemPouch.Enabled = SAV.HasParty; // Box RS + B_OpenMiscEditor.Enabled = SAV is SAV3 || SAV.DP || SAV.HGSS; + + B_OpenHoneyTreeEditor.Enabled = SAV.DP || SAV.Pt; + B_OpenRTCEditor.Enabled = SAV.RS || SAV.E; + } + GB_SAVtools.Visible = SAV.Exportable && FLP_SAVtools.Controls.Cast().Any(c => c.Enabled); + foreach (Control c in FLP_SAVtools.Controls.Cast()) + c.Visible = c.Enabled; + B_VerifyCHK.Enabled = SAV.Exportable; + + // Second daycare slot + SlotPictureBoxes[43].Visible = SAV.Generation >= 2; + + return WindowTranslationRequired; + } + public void FinalizeInterface() + { + // Generational Interface + TB_Secure1.Visible = TB_Secure2.Visible = L_Secure1.Visible = L_Secure2.Visible = SAV.Exportable && SAV.Generation >= 6; + TB_GameSync.Visible = L_GameSync.Visible = SAV.Exportable && SAV.Generation >= 6; + + if (SAV.Version == GameVersion.BATREV) + { + L_SaveSlot.Visible = CB_SaveSlot.Visible = true; + CB_SaveSlot.DisplayMember = "Text"; CB_SaveSlot.ValueMember = "Value"; + CB_SaveSlot.DataSource = new BindingSource(((SAV4BR)SAV).SaveSlots.Select(i => new ComboItem + { + Text = ((SAV4BR)SAV).SaveNames[i], + Value = i + }).ToList(), null); + CB_SaveSlot.SelectedValue = ((SAV4BR)SAV).CurrentSlot; + } + else + L_SaveSlot.Visible = CB_SaveSlot.Visible = false; + + switch (SAV.Generation) + { + case 6: + TB_GameSync.Enabled = SAV.GameSyncID != null; + TB_GameSync.MaxLength = SAV.GameSyncIDSize; + TB_GameSync.Text = (SAV.GameSyncID ?? 0.ToString()).PadLeft(SAV.GameSyncIDSize, '0'); + TB_Secure1.Text = SAV.Secure1?.ToString("X16"); + TB_Secure2.Text = SAV.Secure2?.ToString("X16"); + break; + case 7: + TB_GameSync.Enabled = SAV.GameSyncID != null; + TB_GameSync.MaxLength = SAV.GameSyncIDSize; + TB_GameSync.Text = (SAV.GameSyncID ?? 0.ToString()).PadLeft(SAV.GameSyncIDSize, '0'); + TB_Secure1.Text = SAV.Secure1?.ToString("X16"); + TB_Secure2.Text = SAV.Secure2?.ToString("X16"); + break; + } + FieldsLoaded = true; + } + + // DragDrop + private void pbBoxSlot_MouseMove(object sender, MouseEventArgs e) + { + if (M == null || M.DragActive) + return; + + // Abort if there is no Pokemon in the given slot. + PictureBox pb = (PictureBox)sender; + if (pb.Image == null) + return; + int slot = getSlot(pb); + int box = slot >= 30 ? -1 : Box.CurrentBox; + if (SAV.getIsSlotLocked(box, slot)) + return; + + bool encrypt = ModifierKeys == Keys.Control; + M.HandleMovePKM(pb, slot, box, encrypt); + } + private void pbBoxSlot_DragDrop(object sender, DragEventArgs e) + { + if (M == null) + return; + + PictureBox pb = (PictureBox)sender; + int slot = getSlot(pb); + int box = slot >= 30 ? -1 : Box.CurrentBox; + if (SAV.getIsSlotLocked(box, slot) || slot >= 36) + { + SystemSounds.Asterisk.Play(); + e.Effect = DragDropEffects.Copy; + M.DragInfo.Reset(); + return; + } + + bool overwrite = ModifierKeys == Keys.Alt; + bool clone = ModifierKeys == Keys.Control; + M.DragInfo.Destination.Parent = FindForm(); + M.DragInfo.Destination.Slot = getSlot(sender); + M.DragInfo.Destination.Box = M.DragInfo.Destination.IsParty ? -1 : Box.CurrentBox; + M.HandleDropPKM(sender, e, overwrite, clone); + } + private void clickShowdownExportParty(object sender, EventArgs e) + { + try + { + var str = string.Join(Environment.NewLine + Environment.NewLine, SAV.PartyData.Select(pk => pk.ShowdownText)); + if (string.IsNullOrWhiteSpace(str)) return; + Clipboard.SetText(str); + } + catch { } + WinFormsUtil.Alert("Showdown Team (Party) set to Clipboard."); + } + private void clickShowdownExportBattleBox(object sender, EventArgs e) + { + try + { + var str = string.Join(Environment.NewLine + Environment.NewLine, SAV.BattleBoxData.Select(pk => pk.ShowdownText)); + if (string.IsNullOrWhiteSpace(str)) return; + Clipboard.SetText(str); + } + catch { } + WinFormsUtil.Alert("Showdown Team (Battle Box) set to Clipboard."); + } + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx new file mode 100644 index 000000000..cbe2b7fa3 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + + 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 + RU5ErkJggg== + + + + True + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAABSxJREFUWEfFl31M1VUYx+W+cn8X4k0mamDyotx7IUBeAoSLKBrpqNQQly8501K4 + WlCODAJKDDFGt9HmLKLbElIooAxZlA5la+pwUW1WMJtrzTl7+aNNzayevs+59/66vN0L2Ohsn8HvnOc8 + 3y/n/H7nPMwgov+V0R3jtPsTfHSgBHSAfnADkAN+/hRUgEjA8W6R9VzFRccYDRMKwBBwCrqDjb0IRom6 + Iuu5iouOEQ3BLC6Sl+brqM+qpu+aVfR7n4KoHwzG0uCZzXThkz1UVzJPNrIiwceG6V74fZQ4I+u5iosO + l4ZAXk6x1O3Pa+iPEwr68zMF/XVGQX+f/dcAXSkh+qmR6JKZ+hu1lJd8lzCxPM5nE9IowCgjsp6ruOhw + aQhsBFS7SUe3OhTCwMW3VVSzzZssD0lkeRisDaLKHSaxAmzg9mk1HX3GaF+FeJ9epNGAUSZkPVdx0eHS + EPgtJxpqUAkDnZUaeYnH4nBFuDBwtclMBRmBoi9toZSKVGowOQMISuQEO5f70o1mJd1sV9B6s14kXWyQ + WsNDNIVMRIhmZ+pCnY37H0j0pWvHNfTzO1n0ypYFIjbLpC9FOj1QAtmErOcqLjocDUEWTvDqBj9h4JtD + KpFw2b36IQyvADkgE9wHkpfE6E/y+CmrVhjo3Jsk4pfG6jsxHgS0YFIG6jlByw5/YaBnn335zSbpVPRc + bXFylO4AlrcqPVoqT4rUPYp+K4/bntMJA2cPZor4nDj9ANLNARJQoG/CBt7gBO0Wu4HOMvf776Rht93A + xYal4hlfwg9INx/4ASX6PBtAQDdPZk4UB9DX9Wqq3qijJ3MlKsqT6Nl8iay7vOm1p8Ce2VSK/basM1Dh + 6mAqXivRudok+sqaLZvCKpxD2kCgxrN7AxjM5UmP5QRS29NzaKAqkH61KeXP0NM5wF/Blbcyqb/OTF37 + E2j7ymBhItMobYcB+T1w6g0TZzBYzRNayhfQ9aYo+u31ILEFkzHAW/DLu6voZncufVhjEgbwMvLJyF+D + OBOcemMZqOEJRyvcGxg8pqAP9inpi/fnuzVwvDZGGMiO1bdA2B+IM8GpNyUDXzYpaWOGSqanaZlHA1kx + +lYIhwAdwNLdgYFDu4YbqNoa6tEA3oEOCM8DvkDp1JuSga6Xhxt4syLOo4EMo/QRhKMAb4PKqTclA7d7 + FXSkzG6irtCfbl3e7dmAQfoYwgYgPken3pQM8EvYWmU3UG8JmNBLiPujC8JGwMfynRm4Dp7IsS//ZrOK + rg1sm14D3QeGvwPvHUyZXgP9h5V00qqkCzghv++Joh/Pb5leA5M5CadioIwn2Eoj/xMDbS8ZhIG0aKlt + ogayeMKadD+qLggW9UAfagEuSCZi4NIxDZ2uXkTNxfFU+3gEPZLhLwzEhGkrIRwN3H+G3FBSt/Ck8Sh6 + EMWoS1Fqyb+H8lIDxoxlcAh9jrRZIAK4P4gcTYkqx4DDo8hslI7gHD+P2+zyWMlHgkvnKuYMpUTpek2h + Wtssf1UJ8q0EieBu4P4odjS+Mr0BLxdXM4vAEsCJVocFq0vB3tCZ6nLwAqNVe23F2AawHqwDa8AqkA1Y + PBzw/nNe7J17A15ABbiOYxPsPBKYQDzghCkgDaSDxY6f/Mz9SYDjOJ7P/1DA4pyP845/HTsaG+BV4GB2 + 7AN472aCWWA2mAs4Md9wTsIAm+UilK9ejg8AvOych/O5L0hGNKcRrul5Mv+Xw2UV3+n813CFw+ac8DP3 + 8zgLcjzP4/lCmMG74tCjGf8AU6o8jRL1xCQAAAAASUVORK5CYII= + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + 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 + RU5ErkJggg== + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/PKHeX.WinForms/Controls/SAV Editor/SlotChange.cs b/PKHeX.WinForms/Controls/SAV Editor/SlotChange.cs new file mode 100644 index 000000000..ff4596ddc --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SlotChange.cs @@ -0,0 +1,18 @@ +using PKHeX.Core; + +namespace PKHeX.WinForms +{ + public class SlotChange + { + public object Parent; + + public byte[] OriginalData; + public int Offset = -1; + public int Slot = -1; + public int Box = -1; + public PKM PKM; + + public bool IsParty => 30 <= Slot && Slot < 36; + public bool IsValid => Slot > -1 && (Box > -1 || IsParty); + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/SlotChangeInfo.cs b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeInfo.cs new file mode 100644 index 000000000..ec9eae55b --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeInfo.cs @@ -0,0 +1,34 @@ +using PKHeX.Core; + +namespace PKHeX.WinForms +{ + public class SlotChangeInfo + { + public bool LeftMouseIsDown; + public bool RightMouseIsDown; + public bool DragDropInProgress; + + public object Cursor; + public string CurrentPath; + + public SlotChange Source; + public SlotChange Destination; + + public readonly byte[] BlankData; + + public SlotChangeInfo(SaveFile sav) + { + BlankData = sav.BlankPKM.EncryptedPartyData; + Reset(); + } + + public bool SameSlot => Source.Slot == Destination.Slot && Source.Box == Destination.Box; + public void Reset() + { + LeftMouseIsDown = RightMouseIsDown = DragDropInProgress = false; + Source = new SlotChange {OriginalData = BlankData}; + Destination = new SlotChange(); + Cursor = CurrentPath = null; + } + } +} diff --git a/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs new file mode 100644 index 000000000..a8cf52d81 --- /dev/null +++ b/PKHeX.WinForms/Controls/SAV Editor/SlotChangeManager.cs @@ -0,0 +1,367 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Threading; +using System.Windows.Forms; +using PKHeX.Core; +using PKHeX.WinForms.Properties; + +namespace PKHeX.WinForms.Controls +{ + /// + /// Manager class for moving slots. + /// + public class SlotChangeManager + { + public readonly SAVEditor SE; + private SaveFile SAV => SE.SAV; + private Image OriginalBackground; + private Image CurrentBackground; + public SlotChangeInfo DragInfo; + public readonly List Boxes = new List(); + public int colorizedbox = -1; + public int colorizedslot = -1; + public Image colorizedcolor; + + public SlotChangeManager(SAVEditor se) + { + SE = se; + Reset(); + } + public void Reset() { DragInfo = new SlotChangeInfo(SAV); colorizedbox = colorizedslot = -1; } + public bool DragActive => DragInfo.DragDropInProgress || !DragInfo.LeftMouseIsDown; + public void SetCursor(Cursor z, object sender) + { + if (SE != null) + DragInfo.Cursor = (sender as Control).FindForm().Cursor = z; + } + public void MouseEnter(object sender, EventArgs e) + { + var pb = (PictureBox)sender; + if (pb.Image == null) + return; + OriginalBackground = pb.BackgroundImage; + pb.BackgroundImage = CurrentBackground = Resources.slotHover; + if (!DragActive) + SetCursor(Cursors.Hand, sender); + } + public void MouseLeave(object sender, EventArgs e) + { + var pb = (PictureBox)sender; + if (pb.BackgroundImage != CurrentBackground) + return; + pb.BackgroundImage = OriginalBackground; + if (!DragActive) + SetCursor(Cursors.Default, sender); + } + public void MouseClick(object sender, MouseEventArgs e) + { + if (!DragInfo.DragDropInProgress) + SE.clickSlot(sender, e); + } + public void MouseUp(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + DragInfo.LeftMouseIsDown = false; + if (e.Button == MouseButtons.Right) + DragInfo.RightMouseIsDown = false; + } + public void MouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + DragInfo.LeftMouseIsDown = true; + if (e.Button == MouseButtons.Right) + DragInfo.RightMouseIsDown = true; + } + public void QueryContinueDrag(object sender, QueryContinueDragEventArgs e) + { + if (e.Action != DragAction.Cancel && e.Action != DragAction.Drop) + return; + DragInfo.LeftMouseIsDown = false; + DragInfo.RightMouseIsDown = false; + DragInfo.DragDropInProgress = false; + } + public void DragEnter(object sender, DragEventArgs e) + { + if (e.AllowedEffect == (DragDropEffects.Copy | DragDropEffects.Link)) // external file + e.Effect = DragDropEffects.Copy; + else if (e.Data != null) // within + e.Effect = DragDropEffects.Move; + + if (DragInfo.DragDropInProgress) + SetCursor((Cursor)DragInfo.Cursor, sender); + } + + public void HandleMovePKM(PictureBox pb, int slot, int box, bool encrypt) + { + // Create a temporary PKM file to perform a drag drop operation. + + // Set flag to prevent re-entering. + DragInfo.DragDropInProgress = true; + + DragInfo.Source.Parent = pb.Parent; + DragInfo.Source.Slot = slot; + DragInfo.Source.Box = box; + DragInfo.Source.Offset = SE.getPKXOffset(DragInfo.Source.Slot, DragInfo.Source.Box); + + // Prepare Data + DragInfo.Source.OriginalData = SAV.getData(DragInfo.Source.Offset, SAV.SIZE_STORED); + + // Make a new file name based off the PID + string newfile = CreateDragDropPKM(pb, box, encrypt, out bool external); + DragInfo.Reset(); + SetCursor(SE.GetDefaultCursor, pb); + + // 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? + if (!external) + { + if (File.Exists(newfile) && DragInfo.CurrentPath == null) + File.Delete(newfile); + } + else + { + new Thread(() => + { + Thread.Sleep(500); + if (File.Exists(newfile) && DragInfo.CurrentPath == null) + File.Delete(newfile); + }).Start(); + } + if (DragInfo.Source.IsParty || DragInfo.Destination.IsParty) + SE.setParty(); + } + private string CreateDragDropPKM(PictureBox pb, int box, bool encrypt, out bool external) + { + byte[] dragdata = SAV.decryptPKM(DragInfo.Source.OriginalData); + Array.Resize(ref dragdata, SAV.SIZE_STORED); + PKM pkx = SAV.getPKM(dragdata); + string fn = pkx.FileName; fn = fn.Substring(0, fn.LastIndexOf('.')); + string filename = $"{fn}{(encrypt ? ".ek" + pkx.Format : "." + pkx.Extension)}"; + + // Make File + string newfile = Path.Combine(Path.GetTempPath(), Util.CleanFileName(filename)); + try + { + TryMakeDragDropPKM(pb, encrypt, pkx, newfile, out external); + } + catch (Exception x) + { + WinFormsUtil.Error("Drag & Drop Error", x); + external = false; + } + + return newfile; + } + private void TryMakeDragDropPKM(PictureBox pb, bool encrypt, PKM pkx, string newfile, out bool external) + { + File.WriteAllBytes(newfile, encrypt ? pkx.EncryptedBoxData : pkx.DecryptedBoxData); + var img = (Bitmap)pb.Image; + SetCursor(new Cursor(img.GetHicon()), pb); + pb.Image = null; + pb.BackgroundImage = Resources.slotDrag; + // Thread Blocks on DoDragDrop + DragInfo.CurrentPath = newfile; + DragDropEffects result = pb.DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move); + external = !DragInfo.Source.IsValid || result != DragDropEffects.Link; + if (external || DragInfo.SameSlot || result != DragDropEffects.Link) // not dropped to another box slot, restore img + { + pb.Image = img; + pb.BackgroundImage = OriginalBackground; + } + + if (result == DragDropEffects.Copy) // viewed in tabs or cloned + { + if (!DragInfo.Destination.IsValid) // apply 'view' highlight + SetColor(DragInfo.Source.Box, DragInfo.Source.Slot, Resources.slotView); + external = false; + } + } + + private void SetSlotSprite(SlotChange loc, PKM pk, BoxEditor x = null) => (x ?? SE.Box).setSlotFiller(pk, loc.Box, loc.Slot); + + public void HandleDropPKM(object sender, DragEventArgs e, bool overwrite, bool clone) + { + DragInfo.Destination.Offset = SE.getPKXOffset(DragInfo.Destination.Slot, DragInfo.Destination.Box); + // Check for In-Dropped files (PKX,SAV,ETC) + string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); + if (Directory.Exists(files[0])) { SE.LoadBoxes(out string _, files[0]); return; } + if (DragInfo.SameSlot) + { + e.Effect = DragDropEffects.Link; + return; + } + if (SAV.getIsSlotLocked(DragInfo.Destination.Box, DragInfo.Destination.Slot)) + { + DragInfo.Destination.Slot = -1; // Invalidate + WinFormsUtil.Alert("Unable to set to locked slot."); + return; + } + if (DragInfo.Source.Offset < 0 && TryLoadFiles(files)) // file + return; + + TrySetPKMDestination(sender, e, overwrite, clone); + + if (DragInfo.Source.Parent == null) // internal file + DragInfo.Reset(); + } + private bool TryLoadFiles(string[] files) + { + if (files.Length <= 0) + return true; + string file = files[0]; + FileInfo fi = new FileInfo(file); + if (!PKX.getIsPKM(fi.Length) && !MysteryGift.getIsMysteryGift(fi.Length)) + { + SE.ParentForm.DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { file }), DragDropEffects.Move); + return true; + } + + byte[] data = File.ReadAllBytes(file); + MysteryGift mg = MysteryGift.getMysteryGift(data, fi.Extension); + PKM temp = mg?.convertToPKM(SAV) ?? PKMConverter.getPKMfromBytes(data, + prefer: fi.Extension.Length > 0 ? (fi.Extension.Last() - 0x30) & 7 : SAV.Generation); + + PKM pk = PKMConverter.convertToFormat(temp, SAV.PKMType, out string c); + if (pk == null) + { + WinFormsUtil.Error(c); + Console.WriteLine(c); + return true; + } + + string[] errata = SAV.IsPKMCompatible(pk); + if (errata.Length > 0) + { + string concat = string.Join(Environment.NewLine, errata); + if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, concat, "Continue?")) + { + Console.WriteLine(c); + Console.WriteLine(concat); + return true; + } + } + + SetPKM(pk, false, Resources.slotSet); + Console.WriteLine(c); + return false; + } + private void TrySetPKMDestination(object sender, DragEventArgs e, bool overwrite, bool clone) + { + PKM pkz = GetPKM(true); + if (DragInfo.Source.IsValid) + TrySetPKMSource(sender, overwrite, clone); + + // Copy from temp to destination slot. + SetPKM(pkz, false, null); + + e.Effect = clone ? DragDropEffects.Copy : DragDropEffects.Link; + SetCursor(SE.GetDefaultCursor, sender); + } + private void TrySetPKMSource(object sender, bool overwrite, bool clone) + { + if (overwrite && DragInfo.Destination.IsValid) // overwrite delete old slot + { + // Clear from slot + SetPKM(SAV.BlankPKM, true, null); + } + else if (!clone && DragInfo.Destination.IsValid) + { + // Load data from destination + PKM pk = ((PictureBox)sender).Image != null + ? GetPKM(false) + : SAV.BlankPKM; + + // Set destination pokemon data to source slot + SetPKM(pk, true, null); + } + } + + public void SetColor(int box, int slot, Image img) + { + // Update SubViews + foreach (var boxview in Boxes) + { + if (boxview.CurrentBox != box && boxview.SlotPictureBoxes.Count == boxview.BoxSlotCount) continue; + var slots = boxview.SlotPictureBoxes; + for (int i = 0; i < slots.Count; i++) + slots[i].BackgroundImage = slot == i ? img : null; + } + colorizedbox = box; + colorizedslot = slot; + colorizedcolor = img; + } + + // PKM Get Set + public PKM GetPKM(bool src) => GetPKM(src ? DragInfo.Source : DragInfo.Destination); + public PKM GetPKM(SlotChange slot) + { + int o = slot.Offset; + if (o < 0) + return slot.PKM; + return slot.IsParty ? SAV.getPartySlot(o) : SAV.getStoredSlot(o); + } + public void SetPKM(PKM pk, bool src, Image img) => SetPKM(pk, src ? DragInfo.Source : DragInfo.Destination, src, img); + public void SetPKM(PKM pk, SlotChange slot, bool src, Image img) + { + if (slot.IsParty) + { + SetPKMParty(pk, src, slot); + if (img == Resources.slotDel) + slot.Slot = 30 + SAV.PartyCount; + SetColor(slot.Box, slot.Slot, img ?? Resources.slotSet); + return; + } + + int o = slot.Offset; + SAV.setStoredSlot(pk, o); + if (slot.Slot >= 30) + { + SetSlotSprite(slot, pk); + return; + } + + // Update SubViews + foreach (var boxview in Boxes) + { + if (boxview.CurrentBox == slot.Box) + { + Console.WriteLine($"Setting to {boxview.Parent.Name}'s [{boxview.CurrentBox+1:d2}]|{boxview.CurrentBoxName} at Slot {slot.Slot+1}."); + SetSlotSprite(slot, pk, boxview); + } + } + SetColor(slot.Box, slot.Slot, img ?? Resources.slotSet); + } + private void SetPKMParty(PKM pk, bool src, SlotChange slot) + { + int o = slot.Offset; + if (src) + { + if (pk.Species == 0) // Empty Slot + { + SAV.deletePartySlot(slot.Slot - 30); + SE.setParty(); + return; + } + } + else + { + if (30 + SAV.PartyCount < slot.Slot) + { + o = SAV.getPartyOffset(SAV.PartyCount); + slot.Slot = 30 + SAV.PartyCount; + } + } + + if (pk.Stat_HPMax == 0) // Without Stats (Box) + { + pk.setStats(pk.getStats(SAV.Personal.getFormeEntry(pk.Species, pk.AltForm))); + pk.Stat_Level = pk.CurrentLevel; + } + SAV.setPartySlot(pk, o); + SE.setParty(); + } + } +} diff --git a/PKHeX.WinForms/MainWindow/DragDropManager.cs b/PKHeX.WinForms/MainWindow/DragDropManager.cs deleted file mode 100644 index 9346b08ba..000000000 --- a/PKHeX.WinForms/MainWindow/DragDropManager.cs +++ /dev/null @@ -1,94 +0,0 @@ -using PKHeX.Core; - -namespace PKHeX.WinForms -{ - public class DragDropManager - { - private readonly SaveFile SAV; - - public bool LeftMouseIsDown; - public bool RightMouseIsDown; - public bool DragDropInProgress; - - public object Cursor; - public string CurrentPath; - - public DragLocation Source = new DragLocation(); - public DragLocation Destination = new DragLocation(); - - public DragDropManager(SaveFile sav) - { - SAV = sav; - Source.Data = SAV.BlankPKM.EncryptedPartyData; - } - - public class DragLocation - { - public object Parent; - public byte[] Data; - public int Offset = -1; - public int Slot = -1; - public int Box = -1; - - public bool IsParty => 30 <= Slot && Slot < 36; - public bool IsValid => Slot > -1 && (Box > -1 || IsParty); - } - - public bool SameBox => Source.Box > -1 && Source.Box == Destination.Box; - public bool SameSlot => Source.Slot == Destination.Slot && Source.Box == Destination.Box; - - // PKM Get Set - public PKM GetPKM(bool src) - { - var slot = src ? Source : Destination; - int o = slot.Offset; - return slot.IsParty ? SAV.getPartySlot(o) : SAV.getStoredSlot(o); - } - public void SetPKM(PKM pk, bool src) - { - var slot = src ? Source : Destination; - int o = slot.Offset; - if (!slot.IsParty) - { SAV.setStoredSlot(pk, o); return; } - - if (src) - { - if (pk.Species == 0) // Empty Slot - { - SAV.deletePartySlot(Source.Slot - 30); - return; - } - } - else - { - if (30 + SAV.PartyCount < slot.Slot) - { - o = SAV.getPartyOffset(SAV.PartyCount); - slot.Slot = 30 + SAV.PartyCount; - } - } - - if (pk.Stat_HPMax == 0) // Without Stats (Box) - { - pk.setStats(pk.getStats(SAV.Personal.getFormeEntry(pk.Species, pk.AltForm))); - pk.Stat_Level = pk.CurrentLevel; - } - SAV.setPartySlot(pk, o); - } - - public bool? WasDragParticipant(object form, int index) - { - if (Destination.Box != index && Source.Box != index) - return null; // form was not watching box - return Source.Parent == form || Destination.Parent == form; // form already updated? - } - - public void Reset() - { - LeftMouseIsDown = RightMouseIsDown = DragDropInProgress = false; - Cursor = CurrentPath = null; - Source = new DragLocation(); - Destination = new DragLocation(); - } - } -} diff --git a/PKHeX.WinForms/MainWindow/Main.Designer.cs b/PKHeX.WinForms/MainWindow/Main.Designer.cs index 8d76d16dd..3314157cd 100644 --- a/PKHeX.WinForms/MainWindow/Main.Designer.cs +++ b/PKHeX.WinForms/MainWindow/Main.Designer.cs @@ -31,261 +31,6 @@ public void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); - this.tabMain = new System.Windows.Forms.TabControl(); - this.Tab_Main = new System.Windows.Forms.TabPage(); - this.FLP_Main = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_PID = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_PIDLeft = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_PID = new System.Windows.Forms.Label(); - this.BTN_Shinytize = new System.Windows.Forms.Button(); - this.Label_IsShiny = new System.Windows.Forms.PictureBox(); - this.FLP_PIDRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_PID = new System.Windows.Forms.TextBox(); - this.Label_Gender = new System.Windows.Forms.Label(); - this.BTN_RerollPID = new System.Windows.Forms.Button(); - this.FLP_Species = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Species = new System.Windows.Forms.Label(); - this.CB_Species = new System.Windows.Forms.ComboBox(); - this.FLP_Nickname = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_NicknameLeft = new System.Windows.Forms.FlowLayoutPanel(); - this.CHK_Nicknamed = new System.Windows.Forms.CheckBox(); - this.TB_Nickname = new System.Windows.Forms.TextBox(); - this.FLP_EXPLevel = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_EXP = new System.Windows.Forms.Label(); - this.FLP_EXPLevelRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_EXP = new System.Windows.Forms.MaskedTextBox(); - this.Label_CurLevel = new System.Windows.Forms.Label(); - this.TB_Level = new System.Windows.Forms.MaskedTextBox(); - this.MT_Level = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Nature = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Nature = new System.Windows.Forms.Label(); - this.CB_Nature = new System.Windows.Forms.ComboBox(); - this.FLP_HeldItem = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_HeldItem = new System.Windows.Forms.Label(); - this.CB_HeldItem = new System.Windows.Forms.ComboBox(); - this.FLP_FriendshipForm = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_FriendshipFormLeft = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Friendship = new System.Windows.Forms.Label(); - this.Label_HatchCounter = new System.Windows.Forms.Label(); - this.FLP_FriendshipFormRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_Friendship = new System.Windows.Forms.MaskedTextBox(); - this.Label_Form = new System.Windows.Forms.Label(); - this.CB_Form = new System.Windows.Forms.ComboBox(); - this.MT_Form = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Ability = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Ability = new System.Windows.Forms.Label(); - this.FLP_AbilityRight = new System.Windows.Forms.FlowLayoutPanel(); - this.CB_Ability = new System.Windows.Forms.ComboBox(); - this.DEV_Ability = new System.Windows.Forms.ComboBox(); - this.TB_AbilityNumber = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Language = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Language = new System.Windows.Forms.Label(); - this.CB_Language = new System.Windows.Forms.ComboBox(); - this.FLP_EggPKRS = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_EggPKRSLeft = new System.Windows.Forms.FlowLayoutPanel(); - this.CHK_IsEgg = new System.Windows.Forms.CheckBox(); - this.FLP_EggPKRSRight = new System.Windows.Forms.FlowLayoutPanel(); - this.CHK_Infected = new System.Windows.Forms.CheckBox(); - this.CHK_Cured = new System.Windows.Forms.CheckBox(); - this.FLP_PKRS = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_PKRS = new System.Windows.Forms.Label(); - this.FLP_PKRSRight = new System.Windows.Forms.FlowLayoutPanel(); - this.CB_PKRSStrain = new System.Windows.Forms.ComboBox(); - this.Label_PKRSdays = new System.Windows.Forms.Label(); - this.CB_PKRSDays = new System.Windows.Forms.ComboBox(); - this.FLP_Country = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Country = new System.Windows.Forms.Label(); - this.CB_Country = new System.Windows.Forms.ComboBox(); - this.FLP_SubRegion = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_SubRegion = new System.Windows.Forms.Label(); - this.CB_SubRegion = new System.Windows.Forms.ComboBox(); - this.FLP_3DSRegion = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_3DSRegion = new System.Windows.Forms.Label(); - this.CB_3DSReg = new System.Windows.Forms.ComboBox(); - this.FLP_NSparkle = new System.Windows.Forms.FlowLayoutPanel(); - this.L_NSparkle = new System.Windows.Forms.Label(); - this.CHK_NSparkle = new System.Windows.Forms.CheckBox(); - this.FLP_ShadowID = new System.Windows.Forms.FlowLayoutPanel(); - this.L_ShadowID = new System.Windows.Forms.Label(); - this.NUD_ShadowID = new System.Windows.Forms.NumericUpDown(); - this.FLP_Purification = new System.Windows.Forms.FlowLayoutPanel(); - this.L_HeartGauge = new System.Windows.Forms.Label(); - this.NUD_Purification = new System.Windows.Forms.NumericUpDown(); - this.CHK_Shadow = new System.Windows.Forms.CheckBox(); - this.Tab_Met = new System.Windows.Forms.TabPage(); - this.CHK_AsEgg = new System.Windows.Forms.CheckBox(); - this.GB_EggConditions = new System.Windows.Forms.GroupBox(); - this.CB_EggLocation = new System.Windows.Forms.ComboBox(); - this.CAL_EggDate = new System.Windows.Forms.DateTimePicker(); - this.Label_EggDate = new System.Windows.Forms.Label(); - this.Label_EggLocation = new System.Windows.Forms.Label(); - this.FLP_Met = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_OriginGame = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_OriginGame = new System.Windows.Forms.Label(); - this.CB_GameOrigin = new System.Windows.Forms.ComboBox(); - this.FLP_MetLocation = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_MetLocation = new System.Windows.Forms.Label(); - this.CB_MetLocation = new System.Windows.Forms.ComboBox(); - this.FLP_Ball = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_BallLeft = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Ball = new System.Windows.Forms.Label(); - this.PB_Ball = new System.Windows.Forms.PictureBox(); - this.CB_Ball = new System.Windows.Forms.ComboBox(); - this.FLP_MetLevel = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_MetLevel = new System.Windows.Forms.Label(); - this.TB_MetLevel = new System.Windows.Forms.MaskedTextBox(); - this.FLP_MetDate = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_MetDate = new System.Windows.Forms.Label(); - this.CAL_MetDate = new System.Windows.Forms.DateTimePicker(); - this.FLP_Fateful = new System.Windows.Forms.FlowLayoutPanel(); - this.PAN_Fateful = new System.Windows.Forms.Panel(); - this.CHK_Fateful = new System.Windows.Forms.CheckBox(); - this.FLP_EncounterType = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_EncounterType = new System.Windows.Forms.Label(); - this.CB_EncounterType = new System.Windows.Forms.ComboBox(); - this.FLP_TimeOfDay = new System.Windows.Forms.FlowLayoutPanel(); - this.L_MetTimeOfDay = new System.Windows.Forms.Label(); - this.CB_MetTimeOfDay = new System.Windows.Forms.ComboBox(); - this.Tab_Stats = new System.Windows.Forms.TabPage(); - this.PAN_Contest = new System.Windows.Forms.Panel(); - this.TB_Sheen = new System.Windows.Forms.MaskedTextBox(); - this.TB_Tough = new System.Windows.Forms.MaskedTextBox(); - this.TB_Smart = new System.Windows.Forms.MaskedTextBox(); - this.TB_Cute = new System.Windows.Forms.MaskedTextBox(); - this.TB_Beauty = new System.Windows.Forms.MaskedTextBox(); - this.TB_Cool = new System.Windows.Forms.MaskedTextBox(); - this.Label_Sheen = new System.Windows.Forms.Label(); - this.Label_Tough = new System.Windows.Forms.Label(); - this.Label_Smart = new System.Windows.Forms.Label(); - this.Label_Cute = new System.Windows.Forms.Label(); - this.Label_Beauty = new System.Windows.Forms.Label(); - this.Label_Cool = new System.Windows.Forms.Label(); - this.Label_ContestStats = new System.Windows.Forms.Label(); - this.FLP_Stats = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_StatHeader = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_HackedStats = new System.Windows.Forms.FlowLayoutPanel(); - this.CHK_HackedStats = new System.Windows.Forms.CheckBox(); - this.FLP_StatsHeaderRight = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_IVs = new System.Windows.Forms.Label(); - this.Label_EVs = new System.Windows.Forms.Label(); - this.Label_Stats = new System.Windows.Forms.Label(); - this.FLP_HP = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_HP = new System.Windows.Forms.Label(); - this.FLP_HPRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_HPIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_HPEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_HP = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Atk = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_ATK = new System.Windows.Forms.Label(); - this.FLP_AtkRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_ATKIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_ATKEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_ATK = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Def = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_DEF = new System.Windows.Forms.Label(); - this.FLP_DefRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_DEFIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_DEFEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_DEF = new System.Windows.Forms.MaskedTextBox(); - this.FLP_SpA = new System.Windows.Forms.FlowLayoutPanel(); - this.FLP_SpALeft = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_SPA = new System.Windows.Forms.Label(); - this.Label_SPC = new System.Windows.Forms.Label(); - this.FLP_SpARight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_SPAIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_SPAEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_SPA = new System.Windows.Forms.MaskedTextBox(); - this.FLP_SpD = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_SPD = new System.Windows.Forms.Label(); - this.FLP_SpDRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_SPDIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_SPDEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_SPD = new System.Windows.Forms.MaskedTextBox(); - this.FLP_Spe = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_SPE = new System.Windows.Forms.Label(); - this.FLP_SpeRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_SPEIV = new System.Windows.Forms.MaskedTextBox(); - this.TB_SPEEV = new System.Windows.Forms.MaskedTextBox(); - this.Stat_SPE = new System.Windows.Forms.MaskedTextBox(); - this.FLP_StatsTotal = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_Total = new System.Windows.Forms.Label(); - this.FLP_StatsTotalRight = new System.Windows.Forms.FlowLayoutPanel(); - this.TB_IVTotal = new System.Windows.Forms.TextBox(); - this.TB_EVTotal = new System.Windows.Forms.TextBox(); - this.L_Potential = new System.Windows.Forms.Label(); - this.FLP_HPType = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_HiddenPowerPrefix = new System.Windows.Forms.Label(); - this.CB_HPType = new System.Windows.Forms.ComboBox(); - this.FLP_Characteristic = new System.Windows.Forms.FlowLayoutPanel(); - this.Label_CharacteristicPrefix = new System.Windows.Forms.Label(); - this.L_Characteristic = new System.Windows.Forms.Label(); - this.BTN_RandomEVs = new System.Windows.Forms.Button(); - this.BTN_RandomIVs = new System.Windows.Forms.Button(); - this.Tab_Attacks = new System.Windows.Forms.TabPage(); - this.PB_WarnMove4 = new System.Windows.Forms.PictureBox(); - this.PB_WarnMove3 = new System.Windows.Forms.PictureBox(); - this.PB_WarnMove2 = new System.Windows.Forms.PictureBox(); - this.PB_WarnMove1 = new System.Windows.Forms.PictureBox(); - this.GB_RelearnMoves = new System.Windows.Forms.GroupBox(); - this.PB_WarnRelearn4 = new System.Windows.Forms.PictureBox(); - this.PB_WarnRelearn3 = new System.Windows.Forms.PictureBox(); - this.PB_WarnRelearn2 = new System.Windows.Forms.PictureBox(); - this.PB_WarnRelearn1 = new System.Windows.Forms.PictureBox(); - this.CB_RelearnMove4 = new System.Windows.Forms.ComboBox(); - this.CB_RelearnMove3 = new System.Windows.Forms.ComboBox(); - this.CB_RelearnMove2 = new System.Windows.Forms.ComboBox(); - this.CB_RelearnMove1 = new System.Windows.Forms.ComboBox(); - this.GB_CurrentMoves = new System.Windows.Forms.GroupBox(); - this.TB_PP4 = new System.Windows.Forms.MaskedTextBox(); - this.TB_PP3 = new System.Windows.Forms.MaskedTextBox(); - this.TB_PP2 = new System.Windows.Forms.MaskedTextBox(); - this.TB_PP1 = new System.Windows.Forms.MaskedTextBox(); - this.Label_CurPP = new System.Windows.Forms.Label(); - this.Label_PPups = new System.Windows.Forms.Label(); - this.CB_PPu4 = new System.Windows.Forms.ComboBox(); - this.CB_PPu3 = new System.Windows.Forms.ComboBox(); - this.CB_PPu2 = new System.Windows.Forms.ComboBox(); - this.CB_Move4 = new System.Windows.Forms.ComboBox(); - this.CB_PPu1 = new System.Windows.Forms.ComboBox(); - this.CB_Move3 = new System.Windows.Forms.ComboBox(); - this.CB_Move2 = new System.Windows.Forms.ComboBox(); - this.CB_Move1 = new System.Windows.Forms.ComboBox(); - this.Tab_OTMisc = new System.Windows.Forms.TabPage(); - this.FLP_PKMEditors = new System.Windows.Forms.FlowLayoutPanel(); - this.BTN_Ribbons = new System.Windows.Forms.Button(); - this.BTN_Medals = new System.Windows.Forms.Button(); - this.BTN_History = new System.Windows.Forms.Button(); - this.TB_EC = new System.Windows.Forms.TextBox(); - this.GB_nOT = new System.Windows.Forms.GroupBox(); - this.Label_CTGender = new System.Windows.Forms.Label(); - this.TB_OTt2 = new System.Windows.Forms.TextBox(); - this.Label_PrevOT = new System.Windows.Forms.Label(); - this.BTN_RerollEC = new System.Windows.Forms.Button(); - this.GB_Markings = new System.Windows.Forms.GroupBox(); - this.PB_MarkHorohoro = new System.Windows.Forms.PictureBox(); - this.PB_MarkVC = new System.Windows.Forms.PictureBox(); - this.PB_MarkAlola = new System.Windows.Forms.PictureBox(); - this.PB_Mark6 = new System.Windows.Forms.PictureBox(); - this.PB_MarkPentagon = new System.Windows.Forms.PictureBox(); - this.PB_Mark3 = new System.Windows.Forms.PictureBox(); - this.PB_Mark5 = new System.Windows.Forms.PictureBox(); - this.PB_MarkCured = new System.Windows.Forms.PictureBox(); - this.PB_Mark2 = new System.Windows.Forms.PictureBox(); - this.PB_MarkShiny = new System.Windows.Forms.PictureBox(); - this.PB_Mark1 = new System.Windows.Forms.PictureBox(); - this.PB_Mark4 = new System.Windows.Forms.PictureBox(); - this.GB_ExtraBytes = new System.Windows.Forms.GroupBox(); - this.TB_ExtraByte = new System.Windows.Forms.MaskedTextBox(); - this.CB_ExtraBytes = new System.Windows.Forms.ComboBox(); - this.GB_OT = new System.Windows.Forms.GroupBox(); - this.Label_OTGender = new System.Windows.Forms.Label(); - this.TB_OT = new System.Windows.Forms.TextBox(); - this.TB_SID = new System.Windows.Forms.MaskedTextBox(); - this.TB_TID = new System.Windows.Forms.MaskedTextBox(); - this.Label_OT = new System.Windows.Forms.Label(); - this.Label_SID = new System.Windows.Forms.Label(); - this.Label_TID = new System.Windows.Forms.Label(); - this.Label_EncryptionConstant = new System.Windows.Forms.Label(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.Menu_File = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_Open = new System.Windows.Forms.ToolStripMenuItem(); @@ -300,7 +45,6 @@ public void InitializeComponent() this.Menu_ShowdownExportPKM = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_ShowdownExportParty = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_ShowdownExportBattleBox = new System.Windows.Forms.ToolStripMenuItem(); - this.Menu_Folder = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_Data = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_LoadBoxes = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_DumpBoxes = new System.Windows.Forms.ToolStripMenuItem(); @@ -309,6 +53,7 @@ public void InitializeComponent() this.Menu_Database = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_MGDatabase = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_BatchEditor = new System.Windows.Forms.ToolStripMenuItem(); + this.Menu_Folder = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_Options = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_Language = new System.Windows.Forms.ToolStripMenuItem(); this.CB_MainLanguage = new System.Windows.Forms.ToolStripComboBox(); @@ -321,3385 +66,16 @@ public void InitializeComponent() this.Menu_Redo = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_Unicode = new System.Windows.Forms.ToolStripMenuItem(); this.Menu_About = new System.Windows.Forms.ToolStripMenuItem(); - this.tabBoxMulti = new System.Windows.Forms.TabControl(); - this.Tab_Box = new System.Windows.Forms.TabPage(); - this.PAN_Box = new System.Windows.Forms.Panel(); - this.bpkx30 = new System.Windows.Forms.PictureBox(); - this.mnuVSD = new System.Windows.Forms.ContextMenuStrip(this.components); - this.mnuView = new System.Windows.Forms.ToolStripMenuItem(); - this.mnuSet = new System.Windows.Forms.ToolStripMenuItem(); - this.mnuDelete = new System.Windows.Forms.ToolStripMenuItem(); - this.bpkx29 = new System.Windows.Forms.PictureBox(); - this.bpkx28 = new System.Windows.Forms.PictureBox(); - this.bpkx27 = new System.Windows.Forms.PictureBox(); - this.bpkx26 = new System.Windows.Forms.PictureBox(); - this.bpkx25 = new System.Windows.Forms.PictureBox(); - this.bpkx24 = new System.Windows.Forms.PictureBox(); - this.bpkx23 = new System.Windows.Forms.PictureBox(); - this.bpkx22 = new System.Windows.Forms.PictureBox(); - this.bpkx21 = new System.Windows.Forms.PictureBox(); - this.bpkx20 = new System.Windows.Forms.PictureBox(); - this.bpkx19 = new System.Windows.Forms.PictureBox(); - this.bpkx18 = new System.Windows.Forms.PictureBox(); - this.bpkx17 = new System.Windows.Forms.PictureBox(); - this.bpkx16 = new System.Windows.Forms.PictureBox(); - this.bpkx15 = new System.Windows.Forms.PictureBox(); - this.bpkx14 = new System.Windows.Forms.PictureBox(); - this.bpkx13 = new System.Windows.Forms.PictureBox(); - this.bpkx12 = new System.Windows.Forms.PictureBox(); - this.bpkx11 = new System.Windows.Forms.PictureBox(); - this.bpkx10 = new System.Windows.Forms.PictureBox(); - this.bpkx9 = new System.Windows.Forms.PictureBox(); - this.bpkx8 = new System.Windows.Forms.PictureBox(); - this.bpkx7 = new System.Windows.Forms.PictureBox(); - this.bpkx6 = new System.Windows.Forms.PictureBox(); - this.bpkx5 = new System.Windows.Forms.PictureBox(); - this.bpkx4 = new System.Windows.Forms.PictureBox(); - this.bpkx3 = new System.Windows.Forms.PictureBox(); - this.bpkx2 = new System.Windows.Forms.PictureBox(); - this.bpkx1 = new System.Windows.Forms.PictureBox(); - this.B_BoxRight = new System.Windows.Forms.Button(); - this.B_BoxLeft = new System.Windows.Forms.Button(); - this.CB_BoxSelect = new System.Windows.Forms.ComboBox(); - this.Tab_PartyBattle = new System.Windows.Forms.TabPage(); - this.PAN_BattleBox = new System.Windows.Forms.Panel(); - this.PB_Locked = new System.Windows.Forms.PictureBox(); - this.bbpkx1 = new System.Windows.Forms.PictureBox(); - this.mnuV = new System.Windows.Forms.ContextMenuStrip(this.components); - this.mnu2View = new System.Windows.Forms.ToolStripMenuItem(); - this.bbpkx2 = new System.Windows.Forms.PictureBox(); - this.bbpkx3 = new System.Windows.Forms.PictureBox(); - this.bbpkx4 = new System.Windows.Forms.PictureBox(); - this.bbpkx5 = new System.Windows.Forms.PictureBox(); - this.bbpkx6 = new System.Windows.Forms.PictureBox(); - this.L_ReadOnlyPBB = new System.Windows.Forms.Label(); - this.L_BattleBox = new System.Windows.Forms.Label(); - this.L_Party = new System.Windows.Forms.Label(); - this.PAN_Party = new System.Windows.Forms.Panel(); - this.ppkx1 = new System.Windows.Forms.PictureBox(); - this.ppkx2 = new System.Windows.Forms.PictureBox(); - this.ppkx3 = new System.Windows.Forms.PictureBox(); - this.ppkx4 = new System.Windows.Forms.PictureBox(); - this.ppkx5 = new System.Windows.Forms.PictureBox(); - this.ppkx6 = new System.Windows.Forms.PictureBox(); - this.Tab_Other = new System.Windows.Forms.TabPage(); - this.GB_Daycare = new System.Windows.Forms.GroupBox(); - this.L_XP2 = new System.Windows.Forms.Label(); - this.L_XP1 = new System.Windows.Forms.Label(); - this.TB_Daycare2XP = new System.Windows.Forms.TextBox(); - this.TB_Daycare1XP = new System.Windows.Forms.TextBox(); - this.L_DC2 = new System.Windows.Forms.Label(); - this.L_DC1 = new System.Windows.Forms.Label(); - this.L_DaycareSeed = new System.Windows.Forms.Label(); - this.TB_RNGSeed = new System.Windows.Forms.TextBox(); - this.dcpkx2 = new System.Windows.Forms.PictureBox(); - this.dcpkx1 = new System.Windows.Forms.PictureBox(); - this.DayCare_HasEgg = new System.Windows.Forms.CheckBox(); - this.GB_GTS = new System.Windows.Forms.GroupBox(); - this.gtspkx = new System.Windows.Forms.PictureBox(); - this.GB_Fused = new System.Windows.Forms.GroupBox(); - this.fusedpkx = new System.Windows.Forms.PictureBox(); - this.L_ReadOnlyOther = new System.Windows.Forms.Label(); - this.GB_SUBE = new System.Windows.Forms.GroupBox(); - this.subepkx1 = new System.Windows.Forms.PictureBox(); - this.subepkx2 = new System.Windows.Forms.PictureBox(); - this.subepkx3 = new System.Windows.Forms.PictureBox(); - this.Tab_SAV = new System.Windows.Forms.TabPage(); - this.CB_SaveSlot = new System.Windows.Forms.ComboBox(); - this.L_SaveSlot = new System.Windows.Forms.Label(); - this.L_Secure2 = new System.Windows.Forms.Label(); - this.TB_Secure2 = new System.Windows.Forms.TextBox(); - this.L_Secure1 = new System.Windows.Forms.Label(); - this.TB_Secure1 = new System.Windows.Forms.TextBox(); - this.B_JPEG = new System.Windows.Forms.Button(); - this.L_GameSync = new System.Windows.Forms.Label(); - this.TB_GameSync = new System.Windows.Forms.TextBox(); - this.B_SaveBoxBin = new System.Windows.Forms.Button(); - this.B_VerifyCHK = new System.Windows.Forms.Button(); - this.GB_SAVtools = new System.Windows.Forms.GroupBox(); - this.FLP_SAVtools = new System.Windows.Forms.FlowLayoutPanel(); - this.B_OpenTrainerInfo = new System.Windows.Forms.Button(); - this.B_OpenItemPouch = new System.Windows.Forms.Button(); - this.B_OpenBoxLayout = new System.Windows.Forms.Button(); - this.B_OpenWondercards = new System.Windows.Forms.Button(); - this.B_OpenOPowers = new System.Windows.Forms.Button(); - this.B_OpenEventFlags = new System.Windows.Forms.Button(); - this.B_OpenPokedex = new System.Windows.Forms.Button(); - this.B_OpenLinkInfo = new System.Windows.Forms.Button(); - this.B_OpenBerryField = new System.Windows.Forms.Button(); - this.B_OpenPokeblocks = new System.Windows.Forms.Button(); - this.B_OpenSecretBase = new System.Windows.Forms.Button(); - this.B_OpenPokepuffs = new System.Windows.Forms.Button(); - this.B_OpenSuperTraining = new System.Windows.Forms.Button(); - this.B_OpenHallofFame = new System.Windows.Forms.Button(); - this.B_OUTPasserby = new System.Windows.Forms.Button(); - this.B_CGearSkin = new System.Windows.Forms.Button(); - this.B_OpenPokeBeans = new System.Windows.Forms.Button(); - this.B_OpenZygardeCells = new System.Windows.Forms.Button(); - this.B_OpenMiscEditor = new System.Windows.Forms.Button(); - this.B_OpenHoneyTreeEditor = new System.Windows.Forms.Button(); - this.B_OpenFriendSafari = new System.Windows.Forms.Button(); - this.B_OpenRTCEditor = 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(); - this.mnuLQR = new System.Windows.Forms.ToolStripMenuItem(); - this.mnuLSave = new System.Windows.Forms.ToolStripMenuItem(); this.PB_Legal = new System.Windows.Forms.PictureBox(); this.L_UpdateAvailable = new System.Windows.Forms.LinkLabel(); - this.tabMain.SuspendLayout(); - this.Tab_Main.SuspendLayout(); - this.FLP_Main.SuspendLayout(); - this.FLP_PID.SuspendLayout(); - this.FLP_PIDLeft.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.Label_IsShiny)).BeginInit(); - this.FLP_PIDRight.SuspendLayout(); - this.FLP_Species.SuspendLayout(); - this.FLP_Nickname.SuspendLayout(); - this.FLP_NicknameLeft.SuspendLayout(); - this.FLP_EXPLevel.SuspendLayout(); - this.FLP_EXPLevelRight.SuspendLayout(); - this.FLP_Nature.SuspendLayout(); - this.FLP_HeldItem.SuspendLayout(); - this.FLP_FriendshipForm.SuspendLayout(); - this.FLP_FriendshipFormLeft.SuspendLayout(); - this.FLP_FriendshipFormRight.SuspendLayout(); - this.FLP_Ability.SuspendLayout(); - this.FLP_AbilityRight.SuspendLayout(); - this.FLP_Language.SuspendLayout(); - this.FLP_EggPKRS.SuspendLayout(); - this.FLP_EggPKRSLeft.SuspendLayout(); - this.FLP_EggPKRSRight.SuspendLayout(); - this.FLP_PKRS.SuspendLayout(); - this.FLP_PKRSRight.SuspendLayout(); - this.FLP_Country.SuspendLayout(); - this.FLP_SubRegion.SuspendLayout(); - this.FLP_3DSRegion.SuspendLayout(); - this.FLP_NSparkle.SuspendLayout(); - this.FLP_ShadowID.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUD_ShadowID)).BeginInit(); - this.FLP_Purification.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUD_Purification)).BeginInit(); - this.Tab_Met.SuspendLayout(); - this.GB_EggConditions.SuspendLayout(); - this.FLP_Met.SuspendLayout(); - this.FLP_OriginGame.SuspendLayout(); - this.FLP_MetLocation.SuspendLayout(); - this.FLP_Ball.SuspendLayout(); - this.FLP_BallLeft.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Ball)).BeginInit(); - this.FLP_MetLevel.SuspendLayout(); - this.FLP_MetDate.SuspendLayout(); - this.FLP_Fateful.SuspendLayout(); - this.FLP_EncounterType.SuspendLayout(); - this.FLP_TimeOfDay.SuspendLayout(); - this.Tab_Stats.SuspendLayout(); - this.PAN_Contest.SuspendLayout(); - this.FLP_Stats.SuspendLayout(); - this.FLP_StatHeader.SuspendLayout(); - this.FLP_HackedStats.SuspendLayout(); - this.FLP_StatsHeaderRight.SuspendLayout(); - this.FLP_HP.SuspendLayout(); - this.FLP_HPRight.SuspendLayout(); - this.FLP_Atk.SuspendLayout(); - this.FLP_AtkRight.SuspendLayout(); - this.FLP_Def.SuspendLayout(); - this.FLP_DefRight.SuspendLayout(); - this.FLP_SpA.SuspendLayout(); - this.FLP_SpALeft.SuspendLayout(); - this.FLP_SpARight.SuspendLayout(); - this.FLP_SpD.SuspendLayout(); - this.FLP_SpDRight.SuspendLayout(); - this.FLP_Spe.SuspendLayout(); - this.FLP_SpeRight.SuspendLayout(); - this.FLP_StatsTotal.SuspendLayout(); - this.FLP_StatsTotalRight.SuspendLayout(); - this.FLP_HPType.SuspendLayout(); - this.FLP_Characteristic.SuspendLayout(); - this.Tab_Attacks.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove1)).BeginInit(); - this.GB_RelearnMoves.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn1)).BeginInit(); - this.GB_CurrentMoves.SuspendLayout(); - this.Tab_OTMisc.SuspendLayout(); - this.FLP_PKMEditors.SuspendLayout(); - this.GB_nOT.SuspendLayout(); - this.GB_Markings.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkHorohoro)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkVC)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkAlola)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark6)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkPentagon)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkCured)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkShiny)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark4)).BeginInit(); - this.GB_ExtraBytes.SuspendLayout(); - this.GB_OT.SuspendLayout(); + this.PKME_Tabs = new PKHeX.WinForms.Controls.PKMEditor(); + this.C_SAV = new PKHeX.WinForms.Controls.SAVEditor(); this.menuStrip1.SuspendLayout(); - this.tabBoxMulti.SuspendLayout(); - this.Tab_Box.SuspendLayout(); - this.PAN_Box.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).BeginInit(); - this.mnuVSD.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).BeginInit(); - this.Tab_PartyBattle.SuspendLayout(); - this.PAN_BattleBox.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Locked)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx1)).BeginInit(); - this.mnuV.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx6)).BeginInit(); - this.PAN_Party.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx6)).BeginInit(); - this.Tab_Other.SuspendLayout(); - this.GB_Daycare.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dcpkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dcpkx1)).BeginInit(); - this.GB_GTS.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gtspkx)).BeginInit(); - this.GB_Fused.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.fusedpkx)).BeginInit(); - this.GB_SUBE.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx3)).BeginInit(); - this.Tab_SAV.SuspendLayout(); - this.GB_SAVtools.SuspendLayout(); - this.FLP_SAVtools.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dragout)).BeginInit(); - this.mnuL.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.PB_Legal)).BeginInit(); this.SuspendLayout(); // - // tabMain - // - this.tabMain.AllowDrop = true; - this.tabMain.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.tabMain.Controls.Add(this.Tab_Main); - this.tabMain.Controls.Add(this.Tab_Met); - this.tabMain.Controls.Add(this.Tab_Stats); - this.tabMain.Controls.Add(this.Tab_Attacks); - this.tabMain.Controls.Add(this.Tab_OTMisc); - this.tabMain.Location = new System.Drawing.Point(10, 27); - this.tabMain.Name = "tabMain"; - this.tabMain.SelectedIndex = 0; - this.tabMain.Size = new System.Drawing.Size(280, 325); - this.tabMain.TabIndex = 0; - this.tabMain.DragDrop += new System.Windows.Forms.DragEventHandler(this.tabMain_DragDrop); - this.tabMain.DragEnter += new System.Windows.Forms.DragEventHandler(this.tabMain_DragEnter); - // - // Tab_Main - // - this.Tab_Main.AllowDrop = true; - this.Tab_Main.Controls.Add(this.FLP_Main); - this.Tab_Main.Location = new System.Drawing.Point(4, 22); - this.Tab_Main.Name = "Tab_Main"; - this.Tab_Main.Padding = new System.Windows.Forms.Padding(3); - this.Tab_Main.Size = new System.Drawing.Size(272, 299); - this.Tab_Main.TabIndex = 0; - this.Tab_Main.Text = "Main"; - this.Tab_Main.UseVisualStyleBackColor = true; - // - // FLP_Main - // - this.FLP_Main.Controls.Add(this.FLP_PID); - this.FLP_Main.Controls.Add(this.FLP_Species); - this.FLP_Main.Controls.Add(this.FLP_Nickname); - this.FLP_Main.Controls.Add(this.FLP_EXPLevel); - this.FLP_Main.Controls.Add(this.FLP_Nature); - this.FLP_Main.Controls.Add(this.FLP_HeldItem); - this.FLP_Main.Controls.Add(this.FLP_FriendshipForm); - this.FLP_Main.Controls.Add(this.FLP_Ability); - this.FLP_Main.Controls.Add(this.FLP_Language); - this.FLP_Main.Controls.Add(this.FLP_EggPKRS); - this.FLP_Main.Controls.Add(this.FLP_PKRS); - this.FLP_Main.Controls.Add(this.FLP_Country); - this.FLP_Main.Controls.Add(this.FLP_SubRegion); - this.FLP_Main.Controls.Add(this.FLP_3DSRegion); - this.FLP_Main.Controls.Add(this.FLP_NSparkle); - this.FLP_Main.Controls.Add(this.FLP_ShadowID); - this.FLP_Main.Controls.Add(this.FLP_Purification); - this.FLP_Main.Location = new System.Drawing.Point(0, 2); - this.FLP_Main.Name = "FLP_Main"; - this.FLP_Main.Size = new System.Drawing.Size(272, 391); - this.FLP_Main.TabIndex = 103; - // - // FLP_PID - // - this.FLP_PID.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_PID.Controls.Add(this.FLP_PIDLeft); - this.FLP_PID.Controls.Add(this.FLP_PIDRight); - this.FLP_PID.Location = new System.Drawing.Point(0, 0); - this.FLP_PID.Margin = new System.Windows.Forms.Padding(0); - this.FLP_PID.Name = "FLP_PID"; - this.FLP_PID.Size = new System.Drawing.Size(272, 22); - this.FLP_PID.TabIndex = 0; - // - // FLP_PIDLeft - // - this.FLP_PIDLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_PIDLeft.Controls.Add(this.Label_PID); - this.FLP_PIDLeft.Controls.Add(this.BTN_Shinytize); - this.FLP_PIDLeft.Controls.Add(this.Label_IsShiny); - this.FLP_PIDLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_PIDLeft.Location = new System.Drawing.Point(0, 0); - this.FLP_PIDLeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_PIDLeft.Name = "FLP_PIDLeft"; - this.FLP_PIDLeft.Size = new System.Drawing.Size(110, 22); - this.FLP_PIDLeft.TabIndex = 0; - // - // Label_PID - // - this.Label_PID.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.Label_PID.AutoSize = true; - this.Label_PID.Location = new System.Drawing.Point(82, 5); - this.Label_PID.Margin = new System.Windows.Forms.Padding(0, 5, 0, 4); - this.Label_PID.Name = "Label_PID"; - this.Label_PID.Size = new System.Drawing.Size(28, 13); - this.Label_PID.TabIndex = 0; - this.Label_PID.Text = "PID:"; - this.Label_PID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // BTN_Shinytize - // - this.BTN_Shinytize.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.BTN_Shinytize.Location = new System.Drawing.Point(58, 0); - this.BTN_Shinytize.Margin = new System.Windows.Forms.Padding(0); - this.BTN_Shinytize.Name = "BTN_Shinytize"; - this.BTN_Shinytize.Size = new System.Drawing.Size(24, 22); - this.BTN_Shinytize.TabIndex = 1; - this.BTN_Shinytize.Text = "☆"; - this.BTN_Shinytize.UseVisualStyleBackColor = true; - this.BTN_Shinytize.Click += new System.EventHandler(this.updateShinyPID); - // - // Label_IsShiny - // - this.Label_IsShiny.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.Label_IsShiny.Image = ((System.Drawing.Image)(resources.GetObject("Label_IsShiny.Image"))); - this.Label_IsShiny.InitialImage = ((System.Drawing.Image)(resources.GetObject("Label_IsShiny.InitialImage"))); - this.Label_IsShiny.Location = new System.Drawing.Point(36, 2); - this.Label_IsShiny.Margin = new System.Windows.Forms.Padding(0, 2, 2, 0); - this.Label_IsShiny.Name = "Label_IsShiny"; - this.Label_IsShiny.Size = new System.Drawing.Size(20, 20); - this.Label_IsShiny.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.Label_IsShiny.TabIndex = 62; - this.Label_IsShiny.TabStop = false; - this.Label_IsShiny.Visible = false; - // - // FLP_PIDRight - // - this.FLP_PIDRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_PIDRight.Controls.Add(this.TB_PID); - this.FLP_PIDRight.Controls.Add(this.Label_Gender); - this.FLP_PIDRight.Controls.Add(this.BTN_RerollPID); - this.FLP_PIDRight.Location = new System.Drawing.Point(110, 0); - this.FLP_PIDRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_PIDRight.Name = "FLP_PIDRight"; - this.FLP_PIDRight.Size = new System.Drawing.Size(162, 22); - this.FLP_PIDRight.TabIndex = 104; - // - // TB_PID - // - this.TB_PID.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.TB_PID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_PID.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_PID.Location = new System.Drawing.Point(0, 1); - this.TB_PID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); - this.TB_PID.MaxLength = 8; - this.TB_PID.Name = "TB_PID"; - this.TB_PID.Size = new System.Drawing.Size(60, 20); - this.TB_PID.TabIndex = 1; - this.TB_PID.Text = "12345678"; - this.TB_PID.TextChanged += new System.EventHandler(this.update_ID); - this.TB_PID.MouseHover += new System.EventHandler(this.updateTSV); - // - // Label_Gender - // - this.Label_Gender.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.Label_Gender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.Label_Gender.Location = new System.Drawing.Point(60, 0); - this.Label_Gender.Margin = new System.Windows.Forms.Padding(0); - this.Label_Gender.Name = "Label_Gender"; - this.Label_Gender.Size = new System.Drawing.Size(19, 21); - this.Label_Gender.TabIndex = 55; - this.Label_Gender.Text = "-"; - this.Label_Gender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.Label_Gender.Click += new System.EventHandler(this.clickGender); - // - // BTN_RerollPID - // - this.BTN_RerollPID.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.BTN_RerollPID.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.BTN_RerollPID.Location = new System.Drawing.Point(79, 1); - this.BTN_RerollPID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); - this.BTN_RerollPID.Name = "BTN_RerollPID"; - this.BTN_RerollPID.Size = new System.Drawing.Size(47, 20); - this.BTN_RerollPID.TabIndex = 1; - this.BTN_RerollPID.Text = "Reroll"; - this.BTN_RerollPID.UseVisualStyleBackColor = true; - this.BTN_RerollPID.Click += new System.EventHandler(this.updateRandomPID); - // - // FLP_Species - // - this.FLP_Species.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Species.Controls.Add(this.Label_Species); - this.FLP_Species.Controls.Add(this.CB_Species); - this.FLP_Species.Location = new System.Drawing.Point(0, 22); - this.FLP_Species.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Species.Name = "FLP_Species"; - this.FLP_Species.Size = new System.Drawing.Size(272, 21); - this.FLP_Species.TabIndex = 1; - // - // Label_Species - // - this.Label_Species.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.Label_Species.Location = new System.Drawing.Point(0, 0); - this.Label_Species.Margin = new System.Windows.Forms.Padding(0); - this.Label_Species.Name = "Label_Species"; - this.Label_Species.Size = new System.Drawing.Size(110, 21); - this.Label_Species.TabIndex = 1; - this.Label_Species.Text = "Species:"; - this.Label_Species.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_Species.Click += new System.EventHandler(this.updateNickname); - // - // CB_Species - // - this.CB_Species.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Species.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Species.FormattingEnabled = true; - this.CB_Species.Location = new System.Drawing.Point(110, 0); - this.CB_Species.Margin = new System.Windows.Forms.Padding(0); - this.CB_Species.Name = "CB_Species"; - this.CB_Species.Size = new System.Drawing.Size(126, 21); - this.CB_Species.TabIndex = 3; - this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); - this.CB_Species.SelectedValueChanged += new System.EventHandler(this.updateSpecies); - this.CB_Species.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Species.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_Nickname - // - this.FLP_Nickname.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Nickname.Controls.Add(this.FLP_NicknameLeft); - this.FLP_Nickname.Controls.Add(this.TB_Nickname); - this.FLP_Nickname.Location = new System.Drawing.Point(0, 43); - this.FLP_Nickname.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Nickname.Name = "FLP_Nickname"; - this.FLP_Nickname.Size = new System.Drawing.Size(272, 22); - this.FLP_Nickname.TabIndex = 2; - // - // FLP_NicknameLeft - // - this.FLP_NicknameLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_NicknameLeft.Controls.Add(this.CHK_Nicknamed); - this.FLP_NicknameLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_NicknameLeft.Location = new System.Drawing.Point(0, 0); - this.FLP_NicknameLeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_NicknameLeft.Name = "FLP_NicknameLeft"; - this.FLP_NicknameLeft.Size = new System.Drawing.Size(110, 21); - this.FLP_NicknameLeft.TabIndex = 109; - // - // CHK_Nicknamed - // - this.CHK_Nicknamed.AutoSize = true; - this.CHK_Nicknamed.Location = new System.Drawing.Point(36, 3); - this.CHK_Nicknamed.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_Nicknamed.Name = "CHK_Nicknamed"; - this.CHK_Nicknamed.Size = new System.Drawing.Size(74, 17); - this.CHK_Nicknamed.TabIndex = 4; - this.CHK_Nicknamed.Text = "Nickname"; - this.CHK_Nicknamed.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_Nicknamed.UseVisualStyleBackColor = true; - this.CHK_Nicknamed.CheckedChanged += new System.EventHandler(this.updateNickname); - // - // TB_Nickname - // - this.TB_Nickname.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Nickname.Location = new System.Drawing.Point(110, 0); - this.TB_Nickname.Margin = new System.Windows.Forms.Padding(0); - this.TB_Nickname.MaxLength = 12; - this.TB_Nickname.Name = "TB_Nickname"; - this.TB_Nickname.Size = new System.Drawing.Size(126, 20); - this.TB_Nickname.TabIndex = 5; - this.TB_Nickname.TextChanged += new System.EventHandler(this.updateIsNicknamed); - this.TB_Nickname.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); - // - // FLP_EXPLevel - // - this.FLP_EXPLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_EXPLevel.Controls.Add(this.Label_EXP); - this.FLP_EXPLevel.Controls.Add(this.FLP_EXPLevelRight); - this.FLP_EXPLevel.Location = new System.Drawing.Point(0, 65); - this.FLP_EXPLevel.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EXPLevel.Name = "FLP_EXPLevel"; - this.FLP_EXPLevel.Size = new System.Drawing.Size(272, 21); - this.FLP_EXPLevel.TabIndex = 3; - // - // Label_EXP - // - this.Label_EXP.Location = new System.Drawing.Point(0, 0); - this.Label_EXP.Margin = new System.Windows.Forms.Padding(0); - this.Label_EXP.Name = "Label_EXP"; - this.Label_EXP.Size = new System.Drawing.Size(110, 21); - this.Label_EXP.TabIndex = 3; - this.Label_EXP.Text = "EXP:"; - this.Label_EXP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // FLP_EXPLevelRight - // - this.FLP_EXPLevelRight.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.FLP_EXPLevelRight.Controls.Add(this.TB_EXP); - this.FLP_EXPLevelRight.Controls.Add(this.Label_CurLevel); - this.FLP_EXPLevelRight.Controls.Add(this.TB_Level); - this.FLP_EXPLevelRight.Controls.Add(this.MT_Level); - this.FLP_EXPLevelRight.Location = new System.Drawing.Point(110, 0); - this.FLP_EXPLevelRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EXPLevelRight.Name = "FLP_EXPLevelRight"; - this.FLP_EXPLevelRight.Size = new System.Drawing.Size(162, 21); - this.FLP_EXPLevelRight.TabIndex = 0; - // - // TB_EXP - // - this.TB_EXP.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.TB_EXP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_EXP.Location = new System.Drawing.Point(0, 0); - this.TB_EXP.Margin = new System.Windows.Forms.Padding(0); - this.TB_EXP.Mask = "0000000"; - this.TB_EXP.Name = "TB_EXP"; - this.TB_EXP.Size = new System.Drawing.Size(46, 20); - this.TB_EXP.TabIndex = 7; - this.TB_EXP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_EXP.TextChanged += new System.EventHandler(this.updateEXPLevel); - // - // Label_CurLevel - // - this.Label_CurLevel.Location = new System.Drawing.Point(46, 0); - this.Label_CurLevel.Margin = new System.Windows.Forms.Padding(0); - this.Label_CurLevel.Name = "Label_CurLevel"; - this.Label_CurLevel.Size = new System.Drawing.Size(58, 21); - this.Label_CurLevel.TabIndex = 7; - this.Label_CurLevel.Text = "Level:"; - this.Label_CurLevel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_CurLevel.Click += new System.EventHandler(this.clickMetLocation); - // - // TB_Level - // - this.TB_Level.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Level.Location = new System.Drawing.Point(104, 0); - this.TB_Level.Margin = new System.Windows.Forms.Padding(0); - this.TB_Level.Mask = "000"; - this.TB_Level.Name = "TB_Level"; - this.TB_Level.Size = new System.Drawing.Size(22, 20); - this.TB_Level.TabIndex = 8; - this.TB_Level.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_Level.Click += new System.EventHandler(this.clickLevel); - this.TB_Level.TextChanged += new System.EventHandler(this.updateEXPLevel); - // - // MT_Level - // - this.MT_Level.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.MT_Level.Enabled = false; - this.MT_Level.Location = new System.Drawing.Point(126, 0); - this.MT_Level.Margin = new System.Windows.Forms.Padding(0); - this.MT_Level.Mask = "000"; - this.MT_Level.Name = "MT_Level"; - this.MT_Level.Size = new System.Drawing.Size(22, 20); - this.MT_Level.TabIndex = 17; - this.MT_Level.Visible = false; - this.MT_Level.TextChanged += new System.EventHandler(this.updateEXPLevel); - // - // FLP_Nature - // - this.FLP_Nature.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Nature.Controls.Add(this.Label_Nature); - this.FLP_Nature.Controls.Add(this.CB_Nature); - this.FLP_Nature.Location = new System.Drawing.Point(0, 86); - this.FLP_Nature.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Nature.Name = "FLP_Nature"; - this.FLP_Nature.Size = new System.Drawing.Size(272, 21); - this.FLP_Nature.TabIndex = 4; - // - // Label_Nature - // - this.Label_Nature.Location = new System.Drawing.Point(0, 0); - this.Label_Nature.Margin = new System.Windows.Forms.Padding(0); - this.Label_Nature.Name = "Label_Nature"; - this.Label_Nature.Size = new System.Drawing.Size(110, 21); - this.Label_Nature.TabIndex = 8; - this.Label_Nature.Text = "Nature:"; - this.Label_Nature.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_Nature - // - this.CB_Nature.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Nature.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Nature.FormattingEnabled = true; - this.CB_Nature.Location = new System.Drawing.Point(110, 0); - this.CB_Nature.Margin = new System.Windows.Forms.Padding(0); - this.CB_Nature.Name = "CB_Nature"; - this.CB_Nature.Size = new System.Drawing.Size(126, 21); - this.CB_Nature.TabIndex = 9; - this.CB_Nature.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); - this.CB_Nature.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Nature.MouseHover += new System.EventHandler(this.updateNatureModification); - this.CB_Nature.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_HeldItem - // - this.FLP_HeldItem.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_HeldItem.Controls.Add(this.Label_HeldItem); - this.FLP_HeldItem.Controls.Add(this.CB_HeldItem); - this.FLP_HeldItem.Location = new System.Drawing.Point(0, 107); - this.FLP_HeldItem.Margin = new System.Windows.Forms.Padding(0); - this.FLP_HeldItem.Name = "FLP_HeldItem"; - this.FLP_HeldItem.Size = new System.Drawing.Size(272, 21); - this.FLP_HeldItem.TabIndex = 5; - // - // Label_HeldItem - // - this.Label_HeldItem.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.Label_HeldItem.Location = new System.Drawing.Point(0, 0); - this.Label_HeldItem.Margin = new System.Windows.Forms.Padding(0); - this.Label_HeldItem.Name = "Label_HeldItem"; - this.Label_HeldItem.Size = new System.Drawing.Size(110, 21); - this.Label_HeldItem.TabIndex = 51; - this.Label_HeldItem.Text = "Held Item:"; - this.Label_HeldItem.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_HeldItem - // - this.CB_HeldItem.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_HeldItem.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_HeldItem.FormattingEnabled = true; - this.CB_HeldItem.Location = new System.Drawing.Point(110, 0); - this.CB_HeldItem.Margin = new System.Windows.Forms.Padding(0); - this.CB_HeldItem.Name = "CB_HeldItem"; - this.CB_HeldItem.Size = new System.Drawing.Size(126, 21); - this.CB_HeldItem.TabIndex = 10; - this.CB_HeldItem.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); - this.CB_HeldItem.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_HeldItem.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_FriendshipForm - // - this.FLP_FriendshipForm.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_FriendshipForm.Controls.Add(this.FLP_FriendshipFormLeft); - this.FLP_FriendshipForm.Controls.Add(this.FLP_FriendshipFormRight); - this.FLP_FriendshipForm.Location = new System.Drawing.Point(0, 128); - this.FLP_FriendshipForm.Margin = new System.Windows.Forms.Padding(0); - this.FLP_FriendshipForm.Name = "FLP_FriendshipForm"; - this.FLP_FriendshipForm.Size = new System.Drawing.Size(272, 21); - this.FLP_FriendshipForm.TabIndex = 6; - // - // FLP_FriendshipFormLeft - // - this.FLP_FriendshipFormLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_FriendshipFormLeft.Controls.Add(this.Label_Friendship); - this.FLP_FriendshipFormLeft.Controls.Add(this.Label_HatchCounter); - this.FLP_FriendshipFormLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_FriendshipFormLeft.Location = new System.Drawing.Point(0, 0); - this.FLP_FriendshipFormLeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_FriendshipFormLeft.Name = "FLP_FriendshipFormLeft"; - this.FLP_FriendshipFormLeft.Size = new System.Drawing.Size(110, 21); - this.FLP_FriendshipFormLeft.TabIndex = 0; - // - // Label_Friendship - // - this.Label_Friendship.Location = new System.Drawing.Point(0, 0); - this.Label_Friendship.Margin = new System.Windows.Forms.Padding(0); - this.Label_Friendship.Name = "Label_Friendship"; - this.Label_Friendship.Size = new System.Drawing.Size(110, 21); - this.Label_Friendship.TabIndex = 9; - this.Label_Friendship.Text = "Friendship:"; - this.Label_Friendship.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_Friendship.Click += new System.EventHandler(this.clickFriendship); - // - // Label_HatchCounter - // - this.Label_HatchCounter.Location = new System.Drawing.Point(0, 21); - this.Label_HatchCounter.Margin = new System.Windows.Forms.Padding(0); - this.Label_HatchCounter.Name = "Label_HatchCounter"; - this.Label_HatchCounter.Size = new System.Drawing.Size(110, 21); - this.Label_HatchCounter.TabIndex = 61; - this.Label_HatchCounter.Text = "Hatch Counter:"; - this.Label_HatchCounter.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // FLP_FriendshipFormRight - // - this.FLP_FriendshipFormRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_FriendshipFormRight.Controls.Add(this.TB_Friendship); - this.FLP_FriendshipFormRight.Controls.Add(this.Label_Form); - this.FLP_FriendshipFormRight.Controls.Add(this.CB_Form); - this.FLP_FriendshipFormRight.Controls.Add(this.MT_Form); - this.FLP_FriendshipFormRight.Location = new System.Drawing.Point(110, 0); - this.FLP_FriendshipFormRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_FriendshipFormRight.Name = "FLP_FriendshipFormRight"; - this.FLP_FriendshipFormRight.Size = new System.Drawing.Size(162, 21); - this.FLP_FriendshipFormRight.TabIndex = 104; - // - // TB_Friendship - // - this.TB_Friendship.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Friendship.Location = new System.Drawing.Point(0, 0); - this.TB_Friendship.Margin = new System.Windows.Forms.Padding(0); - this.TB_Friendship.Mask = "000"; - this.TB_Friendship.Name = "TB_Friendship"; - this.TB_Friendship.Size = new System.Drawing.Size(22, 20); - this.TB_Friendship.TabIndex = 11; - this.TB_Friendship.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_Friendship.TextChanged += new System.EventHandler(this.update255_MTB); - // - // Label_Form - // - this.Label_Form.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.Label_Form.AutoSize = true; - this.Label_Form.Location = new System.Drawing.Point(22, 4); - this.Label_Form.Margin = new System.Windows.Forms.Padding(0); - this.Label_Form.Name = "Label_Form"; - this.Label_Form.Size = new System.Drawing.Size(33, 13); - this.Label_Form.TabIndex = 11; - this.Label_Form.Text = "Form:"; - this.Label_Form.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_Form - // - this.CB_Form.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_Form.DropDownWidth = 85; - this.CB_Form.Enabled = false; - this.CB_Form.FormattingEnabled = true; - this.CB_Form.Location = new System.Drawing.Point(55, 0); - this.CB_Form.Margin = new System.Windows.Forms.Padding(0); - this.CB_Form.Name = "CB_Form"; - this.CB_Form.Size = new System.Drawing.Size(71, 21); - this.CB_Form.TabIndex = 12; - this.CB_Form.SelectedIndexChanged += new System.EventHandler(this.updateForm); - // - // MT_Form - // - this.MT_Form.Enabled = false; - this.MT_Form.Location = new System.Drawing.Point(126, 0); - this.MT_Form.Margin = new System.Windows.Forms.Padding(0); - this.MT_Form.Mask = "00"; - this.MT_Form.Name = "MT_Form"; - this.MT_Form.Size = new System.Drawing.Size(19, 20); - this.MT_Form.TabIndex = 18; - this.MT_Form.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.MT_Form.Visible = false; - this.MT_Form.TextChanged += new System.EventHandler(this.updateHaXForm); - // - // FLP_Ability - // - this.FLP_Ability.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Ability.Controls.Add(this.Label_Ability); - this.FLP_Ability.Controls.Add(this.FLP_AbilityRight); - this.FLP_Ability.Location = new System.Drawing.Point(0, 149); - this.FLP_Ability.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Ability.Name = "FLP_Ability"; - this.FLP_Ability.Size = new System.Drawing.Size(272, 21); - this.FLP_Ability.TabIndex = 7; - // - // Label_Ability - // - this.Label_Ability.Location = new System.Drawing.Point(0, 0); - this.Label_Ability.Margin = new System.Windows.Forms.Padding(0); - this.Label_Ability.Name = "Label_Ability"; - this.Label_Ability.Size = new System.Drawing.Size(110, 21); - this.Label_Ability.TabIndex = 10; - this.Label_Ability.Text = "Ability:"; - this.Label_Ability.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // FLP_AbilityRight - // - this.FLP_AbilityRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_AbilityRight.Controls.Add(this.CB_Ability); - this.FLP_AbilityRight.Controls.Add(this.DEV_Ability); - this.FLP_AbilityRight.Controls.Add(this.TB_AbilityNumber); - this.FLP_AbilityRight.Location = new System.Drawing.Point(110, 0); - this.FLP_AbilityRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_AbilityRight.Name = "FLP_AbilityRight"; - this.FLP_AbilityRight.Size = new System.Drawing.Size(162, 21); - this.FLP_AbilityRight.TabIndex = 109; - // - // CB_Ability - // - this.CB_Ability.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Ability.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Ability.FormattingEnabled = true; - this.CB_Ability.Items.AddRange(new object[] { - "Item"}); - this.CB_Ability.Location = new System.Drawing.Point(0, 0); - this.CB_Ability.Margin = new System.Windows.Forms.Padding(0); - this.CB_Ability.Name = "CB_Ability"; - this.CB_Ability.Size = new System.Drawing.Size(126, 21); - this.CB_Ability.TabIndex = 13; - this.CB_Ability.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); - this.CB_Ability.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Ability.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // DEV_Ability - // - this.DEV_Ability.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.DEV_Ability.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.DEV_Ability.Enabled = false; - this.DEV_Ability.FormattingEnabled = true; - this.DEV_Ability.Items.AddRange(new object[] { - "Item"}); - this.DEV_Ability.Location = new System.Drawing.Point(0, 21); - this.DEV_Ability.Margin = new System.Windows.Forms.Padding(0); - this.DEV_Ability.Name = "DEV_Ability"; - this.DEV_Ability.Size = new System.Drawing.Size(126, 21); - this.DEV_Ability.TabIndex = 14; - this.DEV_Ability.Visible = false; - // - // TB_AbilityNumber - // - this.TB_AbilityNumber.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_AbilityNumber.Location = new System.Drawing.Point(126, 21); - this.TB_AbilityNumber.Margin = new System.Windows.Forms.Padding(0); - this.TB_AbilityNumber.Mask = "0"; - this.TB_AbilityNumber.Name = "TB_AbilityNumber"; - this.TB_AbilityNumber.Size = new System.Drawing.Size(19, 20); - this.TB_AbilityNumber.TabIndex = 14; - this.TB_AbilityNumber.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_AbilityNumber.Visible = false; - // - // FLP_Language - // - this.FLP_Language.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Language.Controls.Add(this.Label_Language); - this.FLP_Language.Controls.Add(this.CB_Language); - this.FLP_Language.Location = new System.Drawing.Point(0, 170); - this.FLP_Language.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Language.Name = "FLP_Language"; - this.FLP_Language.Size = new System.Drawing.Size(272, 21); - this.FLP_Language.TabIndex = 8; - // - // Label_Language - // - this.Label_Language.Location = new System.Drawing.Point(0, 0); - this.Label_Language.Margin = new System.Windows.Forms.Padding(0); - this.Label_Language.Name = "Label_Language"; - this.Label_Language.Size = new System.Drawing.Size(110, 21); - this.Label_Language.TabIndex = 12; - this.Label_Language.Text = "Language:"; - this.Label_Language.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_Language - // - this.CB_Language.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.CB_Language.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_Language.FormattingEnabled = true; - this.CB_Language.Location = new System.Drawing.Point(110, 0); - this.CB_Language.Margin = new System.Windows.Forms.Padding(0); - this.CB_Language.Name = "CB_Language"; - this.CB_Language.Size = new System.Drawing.Size(126, 21); - this.CB_Language.TabIndex = 15; - this.CB_Language.SelectedIndexChanged += new System.EventHandler(this.updateNickname); - // - // FLP_EggPKRS - // - this.FLP_EggPKRS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_EggPKRS.Controls.Add(this.FLP_EggPKRSLeft); - this.FLP_EggPKRS.Controls.Add(this.FLP_EggPKRSRight); - this.FLP_EggPKRS.Location = new System.Drawing.Point(0, 191); - this.FLP_EggPKRS.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EggPKRS.Name = "FLP_EggPKRS"; - this.FLP_EggPKRS.Size = new System.Drawing.Size(272, 21); - this.FLP_EggPKRS.TabIndex = 9; - // - // FLP_EggPKRSLeft - // - this.FLP_EggPKRSLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_EggPKRSLeft.Controls.Add(this.CHK_IsEgg); - this.FLP_EggPKRSLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_EggPKRSLeft.Location = new System.Drawing.Point(0, 0); - this.FLP_EggPKRSLeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EggPKRSLeft.Name = "FLP_EggPKRSLeft"; - this.FLP_EggPKRSLeft.Size = new System.Drawing.Size(110, 21); - this.FLP_EggPKRSLeft.TabIndex = 0; - // - // CHK_IsEgg - // - this.CHK_IsEgg.AutoSize = true; - this.CHK_IsEgg.Location = new System.Drawing.Point(54, 3); - this.CHK_IsEgg.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_IsEgg.Name = "CHK_IsEgg"; - this.CHK_IsEgg.Size = new System.Drawing.Size(56, 17); - this.CHK_IsEgg.TabIndex = 16; - this.CHK_IsEgg.Text = "Is Egg"; - this.CHK_IsEgg.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_IsEgg.UseVisualStyleBackColor = true; - this.CHK_IsEgg.CheckedChanged += new System.EventHandler(this.updateIsEgg); - // - // FLP_EggPKRSRight - // - this.FLP_EggPKRSRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_EggPKRSRight.Controls.Add(this.CHK_Infected); - this.FLP_EggPKRSRight.Controls.Add(this.CHK_Cured); - this.FLP_EggPKRSRight.Location = new System.Drawing.Point(110, 0); - this.FLP_EggPKRSRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EggPKRSRight.Name = "FLP_EggPKRSRight"; - this.FLP_EggPKRSRight.Size = new System.Drawing.Size(162, 21); - this.FLP_EggPKRSRight.TabIndex = 104; - // - // CHK_Infected - // - this.CHK_Infected.AutoSize = true; - this.CHK_Infected.Location = new System.Drawing.Point(0, 3); - this.CHK_Infected.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_Infected.Name = "CHK_Infected"; - this.CHK_Infected.Size = new System.Drawing.Size(65, 17); - this.CHK_Infected.TabIndex = 17; - this.CHK_Infected.Text = "Infected"; - this.CHK_Infected.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_Infected.UseVisualStyleBackColor = true; - this.CHK_Infected.CheckedChanged += new System.EventHandler(this.updatePKRSInfected); - // - // CHK_Cured - // - this.CHK_Cured.AutoSize = true; - this.CHK_Cured.Location = new System.Drawing.Point(65, 3); - this.CHK_Cured.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_Cured.Name = "CHK_Cured"; - this.CHK_Cured.Size = new System.Drawing.Size(54, 17); - this.CHK_Cured.TabIndex = 18; - this.CHK_Cured.Text = "Cured"; - this.CHK_Cured.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_Cured.UseVisualStyleBackColor = true; - this.CHK_Cured.CheckedChanged += new System.EventHandler(this.updatePKRSCured); - // - // FLP_PKRS - // - this.FLP_PKRS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_PKRS.Controls.Add(this.Label_PKRS); - this.FLP_PKRS.Controls.Add(this.FLP_PKRSRight); - this.FLP_PKRS.Location = new System.Drawing.Point(0, 212); - this.FLP_PKRS.Margin = new System.Windows.Forms.Padding(0); - this.FLP_PKRS.Name = "FLP_PKRS"; - this.FLP_PKRS.Size = new System.Drawing.Size(272, 21); - this.FLP_PKRS.TabIndex = 10; - // - // Label_PKRS - // - this.Label_PKRS.Location = new System.Drawing.Point(0, 0); - this.Label_PKRS.Margin = new System.Windows.Forms.Padding(0); - this.Label_PKRS.Name = "Label_PKRS"; - this.Label_PKRS.Size = new System.Drawing.Size(110, 21); - this.Label_PKRS.TabIndex = 14; - this.Label_PKRS.Text = "PkRs:"; - this.Label_PKRS.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_PKRS.Visible = false; - // - // FLP_PKRSRight - // - this.FLP_PKRSRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_PKRSRight.Controls.Add(this.CB_PKRSStrain); - this.FLP_PKRSRight.Controls.Add(this.Label_PKRSdays); - this.FLP_PKRSRight.Controls.Add(this.CB_PKRSDays); - this.FLP_PKRSRight.Location = new System.Drawing.Point(110, 0); - this.FLP_PKRSRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_PKRSRight.Name = "FLP_PKRSRight"; - this.FLP_PKRSRight.Size = new System.Drawing.Size(162, 21); - this.FLP_PKRSRight.TabIndex = 105; - // - // CB_PKRSStrain - // - this.CB_PKRSStrain.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PKRSStrain.FormattingEnabled = true; - this.CB_PKRSStrain.Items.AddRange(new object[] { - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12", - "13", - "14", - "15"}); - this.CB_PKRSStrain.Location = new System.Drawing.Point(0, 0); - this.CB_PKRSStrain.Margin = new System.Windows.Forms.Padding(0); - this.CB_PKRSStrain.Name = "CB_PKRSStrain"; - this.CB_PKRSStrain.Size = new System.Drawing.Size(43, 21); - this.CB_PKRSStrain.TabIndex = 19; - this.CB_PKRSStrain.Visible = false; - this.CB_PKRSStrain.SelectedValueChanged += new System.EventHandler(this.updatePKRSstrain); - // - // Label_PKRSdays - // - this.Label_PKRSdays.Location = new System.Drawing.Point(43, 0); - this.Label_PKRSdays.Margin = new System.Windows.Forms.Padding(0); - this.Label_PKRSdays.Name = "Label_PKRSdays"; - this.Label_PKRSdays.Size = new System.Drawing.Size(25, 21); - this.Label_PKRSdays.TabIndex = 15; - this.Label_PKRSdays.Text = "d:"; - this.Label_PKRSdays.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_PKRSdays.Visible = false; - // - // CB_PKRSDays - // - this.CB_PKRSDays.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PKRSDays.FormattingEnabled = true; - this.CB_PKRSDays.Location = new System.Drawing.Point(68, 0); - this.CB_PKRSDays.Margin = new System.Windows.Forms.Padding(0); - this.CB_PKRSDays.Name = "CB_PKRSDays"; - this.CB_PKRSDays.Size = new System.Drawing.Size(30, 21); - this.CB_PKRSDays.TabIndex = 20; - this.CB_PKRSDays.Visible = false; - this.CB_PKRSDays.SelectedIndexChanged += new System.EventHandler(this.updatePKRSdays); - // - // FLP_Country - // - this.FLP_Country.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Country.Controls.Add(this.Label_Country); - this.FLP_Country.Controls.Add(this.CB_Country); - this.FLP_Country.Location = new System.Drawing.Point(0, 233); - this.FLP_Country.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Country.Name = "FLP_Country"; - this.FLP_Country.Size = new System.Drawing.Size(272, 21); - this.FLP_Country.TabIndex = 107; - // - // Label_Country - // - this.Label_Country.Location = new System.Drawing.Point(0, 0); - this.Label_Country.Margin = new System.Windows.Forms.Padding(0); - this.Label_Country.Name = "Label_Country"; - this.Label_Country.Size = new System.Drawing.Size(110, 21); - this.Label_Country.TabIndex = 16; - this.Label_Country.Text = "Country:"; - this.Label_Country.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_Country - // - this.CB_Country.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Country.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Country.DropDownWidth = 180; - this.CB_Country.FormattingEnabled = true; - this.CB_Country.Location = new System.Drawing.Point(110, 0); - this.CB_Country.Margin = new System.Windows.Forms.Padding(0); - this.CB_Country.Name = "CB_Country"; - this.CB_Country.Size = new System.Drawing.Size(126, 21); - this.CB_Country.TabIndex = 21; - this.CB_Country.SelectedIndexChanged += new System.EventHandler(this.updateCountry); - this.CB_Country.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Country.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_SubRegion - // - this.FLP_SubRegion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SubRegion.Controls.Add(this.Label_SubRegion); - this.FLP_SubRegion.Controls.Add(this.CB_SubRegion); - this.FLP_SubRegion.Location = new System.Drawing.Point(0, 254); - this.FLP_SubRegion.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SubRegion.Name = "FLP_SubRegion"; - this.FLP_SubRegion.Size = new System.Drawing.Size(272, 21); - this.FLP_SubRegion.TabIndex = 110; - // - // Label_SubRegion - // - this.Label_SubRegion.Location = new System.Drawing.Point(0, 0); - this.Label_SubRegion.Margin = new System.Windows.Forms.Padding(0); - this.Label_SubRegion.Name = "Label_SubRegion"; - this.Label_SubRegion.Size = new System.Drawing.Size(110, 21); - this.Label_SubRegion.TabIndex = 17; - this.Label_SubRegion.Text = "Sub Region:"; - this.Label_SubRegion.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_SubRegion - // - this.CB_SubRegion.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_SubRegion.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_SubRegion.DropDownWidth = 180; - this.CB_SubRegion.FormattingEnabled = true; - this.CB_SubRegion.Location = new System.Drawing.Point(110, 0); - this.CB_SubRegion.Margin = new System.Windows.Forms.Padding(0); - this.CB_SubRegion.Name = "CB_SubRegion"; - this.CB_SubRegion.Size = new System.Drawing.Size(126, 21); - this.CB_SubRegion.TabIndex = 22; - // - // FLP_3DSRegion - // - this.FLP_3DSRegion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_3DSRegion.Controls.Add(this.Label_3DSRegion); - this.FLP_3DSRegion.Controls.Add(this.CB_3DSReg); - this.FLP_3DSRegion.Location = new System.Drawing.Point(0, 275); - this.FLP_3DSRegion.Margin = new System.Windows.Forms.Padding(0); - this.FLP_3DSRegion.Name = "FLP_3DSRegion"; - this.FLP_3DSRegion.Size = new System.Drawing.Size(272, 21); - this.FLP_3DSRegion.TabIndex = 111; - // - // Label_3DSRegion - // - this.Label_3DSRegion.Location = new System.Drawing.Point(0, 0); - this.Label_3DSRegion.Margin = new System.Windows.Forms.Padding(0); - this.Label_3DSRegion.Name = "Label_3DSRegion"; - this.Label_3DSRegion.Size = new System.Drawing.Size(110, 21); - this.Label_3DSRegion.TabIndex = 18; - this.Label_3DSRegion.Text = "3DS Region:"; - this.Label_3DSRegion.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_3DSReg - // - this.CB_3DSReg.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_3DSReg.FormattingEnabled = true; - this.CB_3DSReg.Location = new System.Drawing.Point(110, 0); - this.CB_3DSReg.Margin = new System.Windows.Forms.Padding(0); - this.CB_3DSReg.Name = "CB_3DSReg"; - this.CB_3DSReg.Size = new System.Drawing.Size(126, 21); - this.CB_3DSReg.TabIndex = 23; - // - // FLP_NSparkle - // - this.FLP_NSparkle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_NSparkle.Controls.Add(this.L_NSparkle); - this.FLP_NSparkle.Controls.Add(this.CHK_NSparkle); - this.FLP_NSparkle.Location = new System.Drawing.Point(0, 296); - this.FLP_NSparkle.Margin = new System.Windows.Forms.Padding(0); - this.FLP_NSparkle.Name = "FLP_NSparkle"; - this.FLP_NSparkle.Size = new System.Drawing.Size(272, 21); - this.FLP_NSparkle.TabIndex = 112; - // - // L_NSparkle - // - this.L_NSparkle.Location = new System.Drawing.Point(0, 0); - this.L_NSparkle.Margin = new System.Windows.Forms.Padding(0); - this.L_NSparkle.Name = "L_NSparkle"; - this.L_NSparkle.Size = new System.Drawing.Size(110, 21); - this.L_NSparkle.TabIndex = 17; - this.L_NSparkle.Text = "N\'s Sparkle:"; - this.L_NSparkle.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CHK_NSparkle - // - this.CHK_NSparkle.AutoSize = true; - this.CHK_NSparkle.Location = new System.Drawing.Point(110, 3); - this.CHK_NSparkle.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_NSparkle.Name = "CHK_NSparkle"; - this.CHK_NSparkle.Size = new System.Drawing.Size(56, 17); - this.CHK_NSparkle.TabIndex = 18; - this.CHK_NSparkle.Text = "Active"; - this.CHK_NSparkle.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_NSparkle.UseVisualStyleBackColor = true; - // - // FLP_ShadowID - // - this.FLP_ShadowID.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_ShadowID.Controls.Add(this.L_ShadowID); - this.FLP_ShadowID.Controls.Add(this.NUD_ShadowID); - this.FLP_ShadowID.Location = new System.Drawing.Point(0, 317); - this.FLP_ShadowID.Margin = new System.Windows.Forms.Padding(0); - this.FLP_ShadowID.Name = "FLP_ShadowID"; - this.FLP_ShadowID.Size = new System.Drawing.Size(272, 21); - this.FLP_ShadowID.TabIndex = 114; - // - // L_ShadowID - // - this.L_ShadowID.Location = new System.Drawing.Point(0, 0); - this.L_ShadowID.Margin = new System.Windows.Forms.Padding(0); - this.L_ShadowID.Name = "L_ShadowID"; - this.L_ShadowID.Size = new System.Drawing.Size(110, 21); - this.L_ShadowID.TabIndex = 9; - this.L_ShadowID.Text = "Shadow ID:"; - this.L_ShadowID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // NUD_ShadowID - // - this.NUD_ShadowID.Location = new System.Drawing.Point(110, 1); - this.NUD_ShadowID.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); - this.NUD_ShadowID.Maximum = new decimal(new int[] { - 72, - 0, - 0, - 0}); - this.NUD_ShadowID.Name = "NUD_ShadowID"; - this.NUD_ShadowID.Size = new System.Drawing.Size(51, 20); - this.NUD_ShadowID.TabIndex = 103; - this.NUD_ShadowID.ValueChanged += new System.EventHandler(this.updateShadowID); - // - // FLP_Purification - // - this.FLP_Purification.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Purification.Controls.Add(this.L_HeartGauge); - this.FLP_Purification.Controls.Add(this.NUD_Purification); - this.FLP_Purification.Controls.Add(this.CHK_Shadow); - this.FLP_Purification.Location = new System.Drawing.Point(0, 338); - this.FLP_Purification.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Purification.Name = "FLP_Purification"; - this.FLP_Purification.Size = new System.Drawing.Size(272, 21); - this.FLP_Purification.TabIndex = 113; - // - // L_HeartGauge - // - this.L_HeartGauge.Location = new System.Drawing.Point(0, 0); - this.L_HeartGauge.Margin = new System.Windows.Forms.Padding(0); - this.L_HeartGauge.Name = "L_HeartGauge"; - this.L_HeartGauge.Size = new System.Drawing.Size(110, 21); - this.L_HeartGauge.TabIndex = 9; - this.L_HeartGauge.Text = "Heart Gauge:"; - this.L_HeartGauge.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // NUD_Purification - // - this.NUD_Purification.Location = new System.Drawing.Point(110, 1); - this.NUD_Purification.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0); - this.NUD_Purification.Maximum = new decimal(new int[] { - 2147483647, - 0, - 0, - 0}); - this.NUD_Purification.Name = "NUD_Purification"; - this.NUD_Purification.Size = new System.Drawing.Size(51, 20); - this.NUD_Purification.TabIndex = 103; - this.NUD_Purification.ValueChanged += new System.EventHandler(this.updatePurification); - // - // CHK_Shadow - // - this.CHK_Shadow.AutoSize = true; - this.CHK_Shadow.Location = new System.Drawing.Point(161, 3); - this.CHK_Shadow.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_Shadow.Name = "CHK_Shadow"; - this.CHK_Shadow.Size = new System.Drawing.Size(65, 17); - this.CHK_Shadow.TabIndex = 16; - this.CHK_Shadow.Text = "Shadow"; - this.CHK_Shadow.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.CHK_Shadow.UseVisualStyleBackColor = true; - this.CHK_Shadow.CheckedChanged += new System.EventHandler(this.updateShadowCHK); - // - // Tab_Met - // - this.Tab_Met.AllowDrop = true; - this.Tab_Met.Controls.Add(this.CHK_AsEgg); - this.Tab_Met.Controls.Add(this.GB_EggConditions); - this.Tab_Met.Controls.Add(this.FLP_Met); - this.Tab_Met.Location = new System.Drawing.Point(4, 22); - this.Tab_Met.Name = "Tab_Met"; - this.Tab_Met.Padding = new System.Windows.Forms.Padding(3); - this.Tab_Met.Size = new System.Drawing.Size(272, 299); - this.Tab_Met.TabIndex = 1; - this.Tab_Met.Text = "Met"; - this.Tab_Met.UseVisualStyleBackColor = true; - // - // CHK_AsEgg - // - this.CHK_AsEgg.AutoSize = true; - this.CHK_AsEgg.Location = new System.Drawing.Point(110, 204); - this.CHK_AsEgg.Name = "CHK_AsEgg"; - this.CHK_AsEgg.Size = new System.Drawing.Size(60, 17); - this.CHK_AsEgg.TabIndex = 8; - this.CHK_AsEgg.Text = "As Egg"; - this.CHK_AsEgg.UseVisualStyleBackColor = true; - this.CHK_AsEgg.Click += new System.EventHandler(this.updateMetAsEgg); - // - // GB_EggConditions - // - this.GB_EggConditions.Controls.Add(this.CB_EggLocation); - this.GB_EggConditions.Controls.Add(this.CAL_EggDate); - this.GB_EggConditions.Controls.Add(this.Label_EggDate); - this.GB_EggConditions.Controls.Add(this.Label_EggLocation); - this.GB_EggConditions.Enabled = false; - this.GB_EggConditions.Location = new System.Drawing.Point(39, 226); - this.GB_EggConditions.Name = "GB_EggConditions"; - this.GB_EggConditions.Size = new System.Drawing.Size(200, 67); - this.GB_EggConditions.TabIndex = 9; - this.GB_EggConditions.TabStop = false; - this.GB_EggConditions.Text = "Egg Met Conditions"; - // - // CB_EggLocation - // - this.CB_EggLocation.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_EggLocation.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_EggLocation.DropDownWidth = 150; - this.CB_EggLocation.FormattingEnabled = true; - this.CB_EggLocation.Location = new System.Drawing.Point(71, 19); - this.CB_EggLocation.Name = "CB_EggLocation"; - this.CB_EggLocation.Size = new System.Drawing.Size(122, 21); - this.CB_EggLocation.TabIndex = 10; - this.CB_EggLocation.SelectedIndexChanged += new System.EventHandler(this.validateLocation); - this.CB_EggLocation.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_EggLocation.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CAL_EggDate - // - this.CAL_EggDate.CustomFormat = "MM/dd/yyyy"; - this.CAL_EggDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; - this.CAL_EggDate.Location = new System.Drawing.Point(71, 40); - this.CAL_EggDate.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); - this.CAL_EggDate.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); - this.CAL_EggDate.Name = "CAL_EggDate"; - this.CAL_EggDate.Size = new System.Drawing.Size(122, 20); - this.CAL_EggDate.TabIndex = 11; - this.CAL_EggDate.Value = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); - // - // Label_EggDate - // - this.Label_EggDate.Location = new System.Drawing.Point(5, 44); - this.Label_EggDate.Name = "Label_EggDate"; - this.Label_EggDate.Size = new System.Drawing.Size(63, 13); - this.Label_EggDate.TabIndex = 8; - this.Label_EggDate.Text = "Date:"; - this.Label_EggDate.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // Label_EggLocation - // - this.Label_EggLocation.Location = new System.Drawing.Point(5, 24); - this.Label_EggLocation.Name = "Label_EggLocation"; - this.Label_EggLocation.Size = new System.Drawing.Size(63, 13); - this.Label_EggLocation.TabIndex = 6; - this.Label_EggLocation.Text = "Location:"; - this.Label_EggLocation.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // FLP_Met - // - this.FLP_Met.Controls.Add(this.FLP_OriginGame); - this.FLP_Met.Controls.Add(this.FLP_MetLocation); - this.FLP_Met.Controls.Add(this.FLP_Ball); - this.FLP_Met.Controls.Add(this.FLP_MetLevel); - this.FLP_Met.Controls.Add(this.FLP_MetDate); - this.FLP_Met.Controls.Add(this.FLP_Fateful); - this.FLP_Met.Controls.Add(this.FLP_EncounterType); - this.FLP_Met.Controls.Add(this.FLP_TimeOfDay); - this.FLP_Met.Location = new System.Drawing.Point(0, 24); - this.FLP_Met.Name = "FLP_Met"; - this.FLP_Met.Size = new System.Drawing.Size(272, 175); - this.FLP_Met.TabIndex = 103; - // - // FLP_OriginGame - // - this.FLP_OriginGame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_OriginGame.Controls.Add(this.Label_OriginGame); - this.FLP_OriginGame.Controls.Add(this.CB_GameOrigin); - this.FLP_OriginGame.Location = new System.Drawing.Point(0, 0); - this.FLP_OriginGame.Margin = new System.Windows.Forms.Padding(0); - this.FLP_OriginGame.Name = "FLP_OriginGame"; - this.FLP_OriginGame.Size = new System.Drawing.Size(272, 21); - this.FLP_OriginGame.TabIndex = 112; - // - // Label_OriginGame - // - this.Label_OriginGame.Location = new System.Drawing.Point(0, 0); - this.Label_OriginGame.Margin = new System.Windows.Forms.Padding(0); - this.Label_OriginGame.Name = "Label_OriginGame"; - this.Label_OriginGame.Size = new System.Drawing.Size(110, 21); - this.Label_OriginGame.TabIndex = 0; - this.Label_OriginGame.Text = "Origin Game:"; - this.Label_OriginGame.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_GameOrigin - // - this.CB_GameOrigin.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_GameOrigin.FormattingEnabled = true; - this.CB_GameOrigin.Location = new System.Drawing.Point(110, 0); - this.CB_GameOrigin.Margin = new System.Windows.Forms.Padding(0); - this.CB_GameOrigin.Name = "CB_GameOrigin"; - this.CB_GameOrigin.Size = new System.Drawing.Size(126, 21); - this.CB_GameOrigin.TabIndex = 1; - this.CB_GameOrigin.SelectedIndexChanged += new System.EventHandler(this.updateOriginGame); - // - // FLP_MetLocation - // - this.FLP_MetLocation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_MetLocation.Controls.Add(this.Label_MetLocation); - this.FLP_MetLocation.Controls.Add(this.CB_MetLocation); - this.FLP_MetLocation.Location = new System.Drawing.Point(0, 21); - this.FLP_MetLocation.Margin = new System.Windows.Forms.Padding(0); - this.FLP_MetLocation.Name = "FLP_MetLocation"; - this.FLP_MetLocation.Size = new System.Drawing.Size(272, 21); - this.FLP_MetLocation.TabIndex = 113; - // - // Label_MetLocation - // - this.Label_MetLocation.Location = new System.Drawing.Point(0, 0); - this.Label_MetLocation.Margin = new System.Windows.Forms.Padding(0); - this.Label_MetLocation.Name = "Label_MetLocation"; - this.Label_MetLocation.Size = new System.Drawing.Size(110, 21); - this.Label_MetLocation.TabIndex = 1; - this.Label_MetLocation.Text = "Met Location:"; - this.Label_MetLocation.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_MetLocation.Click += new System.EventHandler(this.clickMetLocation); - // - // CB_MetLocation - // - this.CB_MetLocation.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_MetLocation.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_MetLocation.DropDownWidth = 150; - this.CB_MetLocation.FormattingEnabled = true; - this.CB_MetLocation.Location = new System.Drawing.Point(110, 0); - this.CB_MetLocation.Margin = new System.Windows.Forms.Padding(0); - this.CB_MetLocation.Name = "CB_MetLocation"; - this.CB_MetLocation.Size = new System.Drawing.Size(126, 21); - this.CB_MetLocation.TabIndex = 2; - this.CB_MetLocation.SelectedIndexChanged += new System.EventHandler(this.validateLocation); - this.CB_MetLocation.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_MetLocation.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_Ball - // - this.FLP_Ball.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Ball.Controls.Add(this.FLP_BallLeft); - this.FLP_Ball.Controls.Add(this.CB_Ball); - this.FLP_Ball.Location = new System.Drawing.Point(0, 42); - this.FLP_Ball.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Ball.Name = "FLP_Ball"; - this.FLP_Ball.Size = new System.Drawing.Size(272, 21); - this.FLP_Ball.TabIndex = 114; - // - // FLP_BallLeft - // - this.FLP_BallLeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_BallLeft.Controls.Add(this.Label_Ball); - this.FLP_BallLeft.Controls.Add(this.PB_Ball); - this.FLP_BallLeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_BallLeft.Location = new System.Drawing.Point(0, 0); - this.FLP_BallLeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_BallLeft.Name = "FLP_BallLeft"; - this.FLP_BallLeft.Size = new System.Drawing.Size(110, 21); - this.FLP_BallLeft.TabIndex = 4; - // - // Label_Ball - // - this.Label_Ball.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.Label_Ball.AutoSize = true; - this.Label_Ball.Location = new System.Drawing.Point(83, 0); - this.Label_Ball.Margin = new System.Windows.Forms.Padding(0); - this.Label_Ball.Name = "Label_Ball"; - this.Label_Ball.Padding = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.Label_Ball.Size = new System.Drawing.Size(27, 19); - this.Label_Ball.TabIndex = 2; - this.Label_Ball.Text = "Ball:"; - this.Label_Ball.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // PB_Ball - // - this.PB_Ball.Location = new System.Drawing.Point(60, 0); - this.PB_Ball.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.PB_Ball.Name = "PB_Ball"; - this.PB_Ball.Size = new System.Drawing.Size(20, 20); - this.PB_Ball.TabIndex = 3; - this.PB_Ball.TabStop = false; - // - // CB_Ball - // - this.CB_Ball.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Ball.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Ball.FormattingEnabled = true; - this.CB_Ball.Location = new System.Drawing.Point(110, 0); - this.CB_Ball.Margin = new System.Windows.Forms.Padding(0); - this.CB_Ball.Name = "CB_Ball"; - this.CB_Ball.Size = new System.Drawing.Size(126, 21); - this.CB_Ball.TabIndex = 3; - this.CB_Ball.SelectedIndexChanged += new System.EventHandler(this.validateComboBox2); - this.CB_Ball.SelectedValueChanged += new System.EventHandler(this.updateBall); - this.CB_Ball.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Ball.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // FLP_MetLevel - // - this.FLP_MetLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_MetLevel.Controls.Add(this.Label_MetLevel); - this.FLP_MetLevel.Controls.Add(this.TB_MetLevel); - this.FLP_MetLevel.Location = new System.Drawing.Point(0, 63); - this.FLP_MetLevel.Margin = new System.Windows.Forms.Padding(0); - this.FLP_MetLevel.Name = "FLP_MetLevel"; - this.FLP_MetLevel.Size = new System.Drawing.Size(272, 21); - this.FLP_MetLevel.TabIndex = 115; - // - // Label_MetLevel - // - this.Label_MetLevel.Location = new System.Drawing.Point(0, 0); - this.Label_MetLevel.Margin = new System.Windows.Forms.Padding(0); - this.Label_MetLevel.Name = "Label_MetLevel"; - this.Label_MetLevel.Size = new System.Drawing.Size(110, 21); - this.Label_MetLevel.TabIndex = 3; - this.Label_MetLevel.Text = "Met Level:"; - this.Label_MetLevel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // TB_MetLevel - // - this.TB_MetLevel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_MetLevel.Location = new System.Drawing.Point(110, 0); - this.TB_MetLevel.Margin = new System.Windows.Forms.Padding(0); - this.TB_MetLevel.Mask = "000"; - this.TB_MetLevel.Name = "TB_MetLevel"; - this.TB_MetLevel.Size = new System.Drawing.Size(126, 20); - this.TB_MetLevel.TabIndex = 4; - this.TB_MetLevel.TextChanged += new System.EventHandler(this.update255_MTB); - // - // FLP_MetDate - // - this.FLP_MetDate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_MetDate.Controls.Add(this.Label_MetDate); - this.FLP_MetDate.Controls.Add(this.CAL_MetDate); - this.FLP_MetDate.Location = new System.Drawing.Point(0, 84); - this.FLP_MetDate.Margin = new System.Windows.Forms.Padding(0); - this.FLP_MetDate.Name = "FLP_MetDate"; - this.FLP_MetDate.Size = new System.Drawing.Size(272, 21); - this.FLP_MetDate.TabIndex = 116; - // - // Label_MetDate - // - this.Label_MetDate.Location = new System.Drawing.Point(0, 0); - this.Label_MetDate.Margin = new System.Windows.Forms.Padding(0); - this.Label_MetDate.Name = "Label_MetDate"; - this.Label_MetDate.Size = new System.Drawing.Size(110, 21); - this.Label_MetDate.TabIndex = 4; - this.Label_MetDate.Text = "Met Date:"; - this.Label_MetDate.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CAL_MetDate - // - this.CAL_MetDate.CustomFormat = "MM/dd/yyyy"; - this.CAL_MetDate.Format = System.Windows.Forms.DateTimePickerFormat.Short; - this.CAL_MetDate.Location = new System.Drawing.Point(110, 0); - this.CAL_MetDate.Margin = new System.Windows.Forms.Padding(0); - this.CAL_MetDate.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); - this.CAL_MetDate.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); - this.CAL_MetDate.Name = "CAL_MetDate"; - this.CAL_MetDate.Size = new System.Drawing.Size(126, 20); - this.CAL_MetDate.TabIndex = 5; - this.CAL_MetDate.Value = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); - // - // FLP_Fateful - // - this.FLP_Fateful.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Fateful.Controls.Add(this.PAN_Fateful); - this.FLP_Fateful.Controls.Add(this.CHK_Fateful); - this.FLP_Fateful.Location = new System.Drawing.Point(0, 105); - this.FLP_Fateful.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Fateful.Name = "FLP_Fateful"; - this.FLP_Fateful.Size = new System.Drawing.Size(272, 21); - this.FLP_Fateful.TabIndex = 117; - // - // PAN_Fateful - // - this.PAN_Fateful.Location = new System.Drawing.Point(0, 0); - this.PAN_Fateful.Margin = new System.Windows.Forms.Padding(0); - this.PAN_Fateful.Name = "PAN_Fateful"; - this.PAN_Fateful.Size = new System.Drawing.Size(110, 21); - this.PAN_Fateful.TabIndex = 104; - // - // CHK_Fateful - // - this.CHK_Fateful.AutoSize = true; - this.CHK_Fateful.Location = new System.Drawing.Point(110, 3); - this.CHK_Fateful.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_Fateful.Name = "CHK_Fateful"; - this.CHK_Fateful.Size = new System.Drawing.Size(110, 17); - this.CHK_Fateful.TabIndex = 6; - this.CHK_Fateful.Text = "Fateful Encounter"; - this.CHK_Fateful.UseVisualStyleBackColor = true; - // - // FLP_EncounterType - // - this.FLP_EncounterType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_EncounterType.Controls.Add(this.Label_EncounterType); - this.FLP_EncounterType.Controls.Add(this.CB_EncounterType); - this.FLP_EncounterType.Location = new System.Drawing.Point(0, 126); - this.FLP_EncounterType.Margin = new System.Windows.Forms.Padding(0); - this.FLP_EncounterType.Name = "FLP_EncounterType"; - this.FLP_EncounterType.Size = new System.Drawing.Size(272, 21); - this.FLP_EncounterType.TabIndex = 118; - // - // Label_EncounterType - // - this.Label_EncounterType.Location = new System.Drawing.Point(0, 0); - this.Label_EncounterType.Margin = new System.Windows.Forms.Padding(0); - this.Label_EncounterType.Name = "Label_EncounterType"; - this.Label_EncounterType.Size = new System.Drawing.Size(110, 21); - this.Label_EncounterType.TabIndex = 5; - this.Label_EncounterType.Text = "Encounter:"; - this.Label_EncounterType.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_EncounterType - // - this.CB_EncounterType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_EncounterType.DropDownWidth = 160; - this.CB_EncounterType.FormattingEnabled = true; - this.CB_EncounterType.Location = new System.Drawing.Point(110, 0); - this.CB_EncounterType.Margin = new System.Windows.Forms.Padding(0); - this.CB_EncounterType.Name = "CB_EncounterType"; - this.CB_EncounterType.Size = new System.Drawing.Size(126, 21); - this.CB_EncounterType.TabIndex = 7; - // - // FLP_TimeOfDay - // - this.FLP_TimeOfDay.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_TimeOfDay.Controls.Add(this.L_MetTimeOfDay); - this.FLP_TimeOfDay.Controls.Add(this.CB_MetTimeOfDay); - this.FLP_TimeOfDay.Location = new System.Drawing.Point(0, 147); - this.FLP_TimeOfDay.Margin = new System.Windows.Forms.Padding(0); - this.FLP_TimeOfDay.Name = "FLP_TimeOfDay"; - this.FLP_TimeOfDay.Size = new System.Drawing.Size(272, 21); - this.FLP_TimeOfDay.TabIndex = 119; - // - // L_MetTimeOfDay - // - this.L_MetTimeOfDay.Location = new System.Drawing.Point(0, 0); - this.L_MetTimeOfDay.Margin = new System.Windows.Forms.Padding(0); - this.L_MetTimeOfDay.Name = "L_MetTimeOfDay"; - this.L_MetTimeOfDay.Size = new System.Drawing.Size(110, 21); - this.L_MetTimeOfDay.TabIndex = 10; - this.L_MetTimeOfDay.Text = "Time of Day:"; - this.L_MetTimeOfDay.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.L_MetTimeOfDay.Visible = false; - // - // CB_MetTimeOfDay - // - this.CB_MetTimeOfDay.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_MetTimeOfDay.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_MetTimeOfDay.DropDownWidth = 150; - this.CB_MetTimeOfDay.FormattingEnabled = true; - this.CB_MetTimeOfDay.Items.AddRange(new object[] { - "(None)", - "Morning", - "Day", - "Night"}); - this.CB_MetTimeOfDay.Location = new System.Drawing.Point(110, 0); - this.CB_MetTimeOfDay.Margin = new System.Windows.Forms.Padding(0); - this.CB_MetTimeOfDay.Name = "CB_MetTimeOfDay"; - this.CB_MetTimeOfDay.Size = new System.Drawing.Size(126, 21); - this.CB_MetTimeOfDay.TabIndex = 11; - this.CB_MetTimeOfDay.Visible = false; - // - // Tab_Stats - // - this.Tab_Stats.AllowDrop = true; - this.Tab_Stats.Controls.Add(this.PAN_Contest); - this.Tab_Stats.Controls.Add(this.FLP_Stats); - this.Tab_Stats.Controls.Add(this.BTN_RandomEVs); - this.Tab_Stats.Controls.Add(this.BTN_RandomIVs); - this.Tab_Stats.Location = new System.Drawing.Point(4, 22); - this.Tab_Stats.Name = "Tab_Stats"; - this.Tab_Stats.Padding = new System.Windows.Forms.Padding(3); - this.Tab_Stats.Size = new System.Drawing.Size(272, 299); - this.Tab_Stats.TabIndex = 2; - this.Tab_Stats.Text = "Stats"; - this.Tab_Stats.UseVisualStyleBackColor = true; - // - // PAN_Contest - // - this.PAN_Contest.Controls.Add(this.TB_Sheen); - this.PAN_Contest.Controls.Add(this.TB_Tough); - this.PAN_Contest.Controls.Add(this.TB_Smart); - this.PAN_Contest.Controls.Add(this.TB_Cute); - this.PAN_Contest.Controls.Add(this.TB_Beauty); - this.PAN_Contest.Controls.Add(this.TB_Cool); - this.PAN_Contest.Controls.Add(this.Label_Sheen); - this.PAN_Contest.Controls.Add(this.Label_Tough); - this.PAN_Contest.Controls.Add(this.Label_Smart); - this.PAN_Contest.Controls.Add(this.Label_Cute); - this.PAN_Contest.Controls.Add(this.Label_Beauty); - this.PAN_Contest.Controls.Add(this.Label_Cool); - this.PAN_Contest.Controls.Add(this.Label_ContestStats); - this.PAN_Contest.Location = new System.Drawing.Point(21, 247); - this.PAN_Contest.Name = "PAN_Contest"; - this.PAN_Contest.Size = new System.Drawing.Size(230, 50); - this.PAN_Contest.TabIndex = 104; - // - // TB_Sheen - // - this.TB_Sheen.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Sheen.Location = new System.Drawing.Point(192, 30); - this.TB_Sheen.Mask = "000"; - this.TB_Sheen.Name = "TB_Sheen"; - this.TB_Sheen.Size = new System.Drawing.Size(31, 20); - this.TB_Sheen.TabIndex = 45; - this.TB_Sheen.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_Tough - // - this.TB_Tough.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Tough.Location = new System.Drawing.Point(155, 30); - this.TB_Tough.Mask = "000"; - this.TB_Tough.Name = "TB_Tough"; - this.TB_Tough.Size = new System.Drawing.Size(31, 20); - this.TB_Tough.TabIndex = 44; - this.TB_Tough.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_Smart - // - this.TB_Smart.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Smart.Location = new System.Drawing.Point(118, 30); - this.TB_Smart.Mask = "000"; - this.TB_Smart.Name = "TB_Smart"; - this.TB_Smart.Size = new System.Drawing.Size(31, 20); - this.TB_Smart.TabIndex = 43; - this.TB_Smart.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_Cute - // - this.TB_Cute.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Cute.Location = new System.Drawing.Point(81, 30); - this.TB_Cute.Mask = "000"; - this.TB_Cute.Name = "TB_Cute"; - this.TB_Cute.Size = new System.Drawing.Size(31, 20); - this.TB_Cute.TabIndex = 42; - this.TB_Cute.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_Beauty - // - this.TB_Beauty.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Beauty.Location = new System.Drawing.Point(44, 30); - this.TB_Beauty.Mask = "000"; - this.TB_Beauty.Name = "TB_Beauty"; - this.TB_Beauty.Size = new System.Drawing.Size(31, 20); - this.TB_Beauty.TabIndex = 41; - this.TB_Beauty.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_Cool - // - this.TB_Cool.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_Cool.Location = new System.Drawing.Point(7, 30); - this.TB_Cool.Mask = "000"; - this.TB_Cool.Name = "TB_Cool"; - this.TB_Cool.Size = new System.Drawing.Size(31, 20); - this.TB_Cool.TabIndex = 40; - this.TB_Cool.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // Label_Sheen - // - this.Label_Sheen.Location = new System.Drawing.Point(186, 17); - this.Label_Sheen.Name = "Label_Sheen"; - this.Label_Sheen.Size = new System.Drawing.Size(43, 13); - this.Label_Sheen.TabIndex = 52; - this.Label_Sheen.Text = "Sheen"; - this.Label_Sheen.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Tough - // - this.Label_Tough.Location = new System.Drawing.Point(149, 17); - this.Label_Tough.Name = "Label_Tough"; - this.Label_Tough.Size = new System.Drawing.Size(43, 13); - this.Label_Tough.TabIndex = 51; - this.Label_Tough.Text = "Tough"; - this.Label_Tough.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Smart - // - this.Label_Smart.Location = new System.Drawing.Point(112, 17); - this.Label_Smart.Name = "Label_Smart"; - this.Label_Smart.Size = new System.Drawing.Size(43, 13); - this.Label_Smart.TabIndex = 50; - this.Label_Smart.Text = "Clever"; - this.Label_Smart.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Cute - // - this.Label_Cute.Location = new System.Drawing.Point(75, 17); - this.Label_Cute.Name = "Label_Cute"; - this.Label_Cute.Size = new System.Drawing.Size(43, 13); - this.Label_Cute.TabIndex = 49; - this.Label_Cute.Text = "Cute"; - this.Label_Cute.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Beauty - // - this.Label_Beauty.Location = new System.Drawing.Point(38, 17); - this.Label_Beauty.Name = "Label_Beauty"; - this.Label_Beauty.Size = new System.Drawing.Size(43, 13); - this.Label_Beauty.TabIndex = 48; - this.Label_Beauty.Text = "Beauty"; - this.Label_Beauty.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Cool - // - this.Label_Cool.Location = new System.Drawing.Point(1, 17); - this.Label_Cool.Name = "Label_Cool"; - this.Label_Cool.Size = new System.Drawing.Size(43, 13); - this.Label_Cool.TabIndex = 47; - this.Label_Cool.Text = "Cool"; - this.Label_Cool.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_ContestStats - // - this.Label_ContestStats.Location = new System.Drawing.Point(46, 1); - this.Label_ContestStats.Name = "Label_ContestStats"; - this.Label_ContestStats.Size = new System.Drawing.Size(140, 13); - this.Label_ContestStats.TabIndex = 46; - this.Label_ContestStats.Text = "Contest Stats"; - this.Label_ContestStats.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // FLP_Stats - // - this.FLP_Stats.Controls.Add(this.FLP_StatHeader); - this.FLP_Stats.Controls.Add(this.FLP_HP); - this.FLP_Stats.Controls.Add(this.FLP_Atk); - this.FLP_Stats.Controls.Add(this.FLP_Def); - this.FLP_Stats.Controls.Add(this.FLP_SpA); - this.FLP_Stats.Controls.Add(this.FLP_SpD); - this.FLP_Stats.Controls.Add(this.FLP_Spe); - this.FLP_Stats.Controls.Add(this.FLP_StatsTotal); - this.FLP_Stats.Controls.Add(this.FLP_HPType); - this.FLP_Stats.Controls.Add(this.FLP_Characteristic); - this.FLP_Stats.Location = new System.Drawing.Point(0, 2); - this.FLP_Stats.Name = "FLP_Stats"; - this.FLP_Stats.Size = new System.Drawing.Size(272, 206); - this.FLP_Stats.TabIndex = 103; - // - // FLP_StatHeader - // - this.FLP_StatHeader.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_StatHeader.Controls.Add(this.FLP_HackedStats); - this.FLP_StatHeader.Controls.Add(this.FLP_StatsHeaderRight); - this.FLP_StatHeader.Location = new System.Drawing.Point(0, 0); - this.FLP_StatHeader.Margin = new System.Windows.Forms.Padding(0); - this.FLP_StatHeader.Name = "FLP_StatHeader"; - this.FLP_StatHeader.Size = new System.Drawing.Size(272, 22); - this.FLP_StatHeader.TabIndex = 122; - // - // FLP_HackedStats - // - this.FLP_HackedStats.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_HackedStats.Controls.Add(this.CHK_HackedStats); - this.FLP_HackedStats.Location = new System.Drawing.Point(0, 0); - this.FLP_HackedStats.Margin = new System.Windows.Forms.Padding(0); - this.FLP_HackedStats.Name = "FLP_HackedStats"; - this.FLP_HackedStats.Size = new System.Drawing.Size(107, 21); - this.FLP_HackedStats.TabIndex = 122; - // - // CHK_HackedStats - // - this.CHK_HackedStats.AutoSize = true; - this.CHK_HackedStats.Enabled = false; - this.CHK_HackedStats.Location = new System.Drawing.Point(0, 3); - this.CHK_HackedStats.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.CHK_HackedStats.Name = "CHK_HackedStats"; - this.CHK_HackedStats.Size = new System.Drawing.Size(91, 17); - this.CHK_HackedStats.TabIndex = 18; - this.CHK_HackedStats.Text = "Hacked Stats"; - this.CHK_HackedStats.UseVisualStyleBackColor = true; - this.CHK_HackedStats.Visible = false; - this.CHK_HackedStats.Click += new System.EventHandler(this.updateHackedStats); - // - // FLP_StatsHeaderRight - // - this.FLP_StatsHeaderRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_StatsHeaderRight.Controls.Add(this.Label_IVs); - this.FLP_StatsHeaderRight.Controls.Add(this.Label_EVs); - this.FLP_StatsHeaderRight.Controls.Add(this.Label_Stats); - this.FLP_StatsHeaderRight.Location = new System.Drawing.Point(107, 0); - this.FLP_StatsHeaderRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_StatsHeaderRight.Name = "FLP_StatsHeaderRight"; - this.FLP_StatsHeaderRight.Size = new System.Drawing.Size(162, 21); - this.FLP_StatsHeaderRight.TabIndex = 123; - // - // Label_IVs - // - this.Label_IVs.Location = new System.Drawing.Point(0, 0); - this.Label_IVs.Margin = new System.Windows.Forms.Padding(0); - this.Label_IVs.Name = "Label_IVs"; - this.Label_IVs.Size = new System.Drawing.Size(30, 21); - this.Label_IVs.TabIndex = 29; - this.Label_IVs.Text = "IVs"; - this.Label_IVs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_EVs - // - this.Label_EVs.Location = new System.Drawing.Point(30, 0); - this.Label_EVs.Margin = new System.Windows.Forms.Padding(0); - this.Label_EVs.Name = "Label_EVs"; - this.Label_EVs.Size = new System.Drawing.Size(35, 21); - this.Label_EVs.TabIndex = 27; - this.Label_EVs.Text = "EVs"; - this.Label_EVs.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_Stats - // - this.Label_Stats.Location = new System.Drawing.Point(65, 0); - this.Label_Stats.Margin = new System.Windows.Forms.Padding(0); - this.Label_Stats.Name = "Label_Stats"; - this.Label_Stats.Size = new System.Drawing.Size(35, 21); - this.Label_Stats.TabIndex = 28; - this.Label_Stats.Text = "Stats"; - this.Label_Stats.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // FLP_HP - // - this.FLP_HP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_HP.Controls.Add(this.Label_HP); - this.FLP_HP.Controls.Add(this.FLP_HPRight); - this.FLP_HP.Location = new System.Drawing.Point(0, 22); - this.FLP_HP.Margin = new System.Windows.Forms.Padding(0); - this.FLP_HP.Name = "FLP_HP"; - this.FLP_HP.Size = new System.Drawing.Size(272, 21); - this.FLP_HP.TabIndex = 123; - // - // Label_HP - // - this.Label_HP.Location = new System.Drawing.Point(0, 0); - this.Label_HP.Margin = new System.Windows.Forms.Padding(0); - this.Label_HP.Name = "Label_HP"; - this.Label_HP.Size = new System.Drawing.Size(110, 21); - this.Label_HP.TabIndex = 19; - this.Label_HP.Text = "HP:"; - this.Label_HP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_HP.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_HPRight - // - this.FLP_HPRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_HPRight.Controls.Add(this.TB_HPIV); - this.FLP_HPRight.Controls.Add(this.TB_HPEV); - this.FLP_HPRight.Controls.Add(this.Stat_HP); - this.FLP_HPRight.Location = new System.Drawing.Point(110, 0); - this.FLP_HPRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_HPRight.Name = "FLP_HPRight"; - this.FLP_HPRight.Size = new System.Drawing.Size(162, 21); - this.FLP_HPRight.TabIndex = 121; - // - // TB_HPIV - // - this.TB_HPIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_HPIV.Location = new System.Drawing.Point(0, 0); - this.TB_HPIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_HPIV.Mask = "00"; - this.TB_HPIV.Name = "TB_HPIV"; - this.TB_HPIV.Size = new System.Drawing.Size(22, 20); - this.TB_HPIV.TabIndex = 1; - this.TB_HPIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_HPIV.Click += new System.EventHandler(this.clickIV); - this.TB_HPIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_HPEV - // - this.TB_HPEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_HPEV.Location = new System.Drawing.Point(28, 0); - this.TB_HPEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_HPEV.Mask = "000"; - this.TB_HPEV.Name = "TB_HPEV"; - this.TB_HPEV.Size = new System.Drawing.Size(28, 20); - this.TB_HPEV.TabIndex = 7; - this.TB_HPEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_HPEV.Click += new System.EventHandler(this.clickEV); - this.TB_HPEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_HP - // - this.Stat_HP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_HP.Enabled = false; - this.Stat_HP.Location = new System.Drawing.Point(62, 0); - this.Stat_HP.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_HP.Mask = "00000"; - this.Stat_HP.Name = "Stat_HP"; - this.Stat_HP.PromptChar = ' '; - this.Stat_HP.Size = new System.Drawing.Size(37, 20); - this.Stat_HP.TabIndex = 45; - this.Stat_HP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.Stat_HP.TextChanged += new System.EventHandler(this.updateHackedStatText); - // - // FLP_Atk - // - this.FLP_Atk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Atk.Controls.Add(this.Label_ATK); - this.FLP_Atk.Controls.Add(this.FLP_AtkRight); - this.FLP_Atk.Location = new System.Drawing.Point(0, 43); - this.FLP_Atk.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Atk.Name = "FLP_Atk"; - this.FLP_Atk.Size = new System.Drawing.Size(272, 21); - this.FLP_Atk.TabIndex = 124; - // - // Label_ATK - // - this.Label_ATK.Location = new System.Drawing.Point(0, 0); - this.Label_ATK.Margin = new System.Windows.Forms.Padding(0); - this.Label_ATK.Name = "Label_ATK"; - this.Label_ATK.Size = new System.Drawing.Size(110, 21); - this.Label_ATK.TabIndex = 20; - this.Label_ATK.Text = "Atk:"; - this.Label_ATK.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_ATK.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_AtkRight - // - this.FLP_AtkRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_AtkRight.Controls.Add(this.TB_ATKIV); - this.FLP_AtkRight.Controls.Add(this.TB_ATKEV); - this.FLP_AtkRight.Controls.Add(this.Stat_ATK); - this.FLP_AtkRight.Location = new System.Drawing.Point(110, 0); - this.FLP_AtkRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_AtkRight.Name = "FLP_AtkRight"; - this.FLP_AtkRight.Size = new System.Drawing.Size(162, 21); - this.FLP_AtkRight.TabIndex = 123; - // - // TB_ATKIV - // - this.TB_ATKIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_ATKIV.Location = new System.Drawing.Point(0, 0); - this.TB_ATKIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_ATKIV.Mask = "00"; - this.TB_ATKIV.Name = "TB_ATKIV"; - this.TB_ATKIV.Size = new System.Drawing.Size(22, 20); - this.TB_ATKIV.TabIndex = 2; - this.TB_ATKIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_ATKIV.Click += new System.EventHandler(this.clickIV); - this.TB_ATKIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_ATKEV - // - this.TB_ATKEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_ATKEV.Location = new System.Drawing.Point(28, 0); - this.TB_ATKEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_ATKEV.Mask = "000"; - this.TB_ATKEV.Name = "TB_ATKEV"; - this.TB_ATKEV.Size = new System.Drawing.Size(28, 20); - this.TB_ATKEV.TabIndex = 8; - this.TB_ATKEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_ATKEV.Click += new System.EventHandler(this.clickEV); - this.TB_ATKEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_ATK - // - this.Stat_ATK.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_ATK.Enabled = false; - this.Stat_ATK.Location = new System.Drawing.Point(62, 0); - this.Stat_ATK.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_ATK.Mask = "00000"; - this.Stat_ATK.Name = "Stat_ATK"; - this.Stat_ATK.PromptChar = ' '; - this.Stat_ATK.Size = new System.Drawing.Size(37, 20); - this.Stat_ATK.TabIndex = 46; - this.Stat_ATK.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FLP_Def - // - this.FLP_Def.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Def.Controls.Add(this.Label_DEF); - this.FLP_Def.Controls.Add(this.FLP_DefRight); - this.FLP_Def.Location = new System.Drawing.Point(0, 64); - this.FLP_Def.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Def.Name = "FLP_Def"; - this.FLP_Def.Size = new System.Drawing.Size(272, 21); - this.FLP_Def.TabIndex = 125; - // - // Label_DEF - // - this.Label_DEF.Location = new System.Drawing.Point(0, 0); - this.Label_DEF.Margin = new System.Windows.Forms.Padding(0); - this.Label_DEF.Name = "Label_DEF"; - this.Label_DEF.Size = new System.Drawing.Size(110, 21); - this.Label_DEF.TabIndex = 21; - this.Label_DEF.Text = "Def:"; - this.Label_DEF.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_DEF.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_DefRight - // - this.FLP_DefRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_DefRight.Controls.Add(this.TB_DEFIV); - this.FLP_DefRight.Controls.Add(this.TB_DEFEV); - this.FLP_DefRight.Controls.Add(this.Stat_DEF); - this.FLP_DefRight.Location = new System.Drawing.Point(110, 0); - this.FLP_DefRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_DefRight.Name = "FLP_DefRight"; - this.FLP_DefRight.Size = new System.Drawing.Size(162, 21); - this.FLP_DefRight.TabIndex = 123; - // - // TB_DEFIV - // - this.TB_DEFIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_DEFIV.Location = new System.Drawing.Point(0, 0); - this.TB_DEFIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_DEFIV.Mask = "00"; - this.TB_DEFIV.Name = "TB_DEFIV"; - this.TB_DEFIV.Size = new System.Drawing.Size(22, 20); - this.TB_DEFIV.TabIndex = 3; - this.TB_DEFIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_DEFIV.Click += new System.EventHandler(this.clickIV); - this.TB_DEFIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_DEFEV - // - this.TB_DEFEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_DEFEV.Location = new System.Drawing.Point(28, 0); - this.TB_DEFEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_DEFEV.Mask = "000"; - this.TB_DEFEV.Name = "TB_DEFEV"; - this.TB_DEFEV.Size = new System.Drawing.Size(28, 20); - this.TB_DEFEV.TabIndex = 9; - this.TB_DEFEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_DEFEV.Click += new System.EventHandler(this.clickEV); - this.TB_DEFEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_DEF - // - this.Stat_DEF.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_DEF.Enabled = false; - this.Stat_DEF.Location = new System.Drawing.Point(62, 0); - this.Stat_DEF.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_DEF.Mask = "00000"; - this.Stat_DEF.Name = "Stat_DEF"; - this.Stat_DEF.PromptChar = ' '; - this.Stat_DEF.Size = new System.Drawing.Size(37, 20); - this.Stat_DEF.TabIndex = 47; - this.Stat_DEF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FLP_SpA - // - this.FLP_SpA.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SpA.Controls.Add(this.FLP_SpALeft); - this.FLP_SpA.Controls.Add(this.FLP_SpARight); - this.FLP_SpA.Location = new System.Drawing.Point(0, 85); - this.FLP_SpA.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpA.Name = "FLP_SpA"; - this.FLP_SpA.Size = new System.Drawing.Size(272, 21); - this.FLP_SpA.TabIndex = 126; - // - // FLP_SpALeft - // - this.FLP_SpALeft.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.FLP_SpALeft.Controls.Add(this.Label_SPA); - this.FLP_SpALeft.Controls.Add(this.Label_SPC); - this.FLP_SpALeft.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - this.FLP_SpALeft.Location = new System.Drawing.Point(0, 0); - this.FLP_SpALeft.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpALeft.Name = "FLP_SpALeft"; - this.FLP_SpALeft.Size = new System.Drawing.Size(110, 21); - this.FLP_SpALeft.TabIndex = 124; - // - // Label_SPA - // - this.Label_SPA.Location = new System.Drawing.Point(0, 0); - this.Label_SPA.Margin = new System.Windows.Forms.Padding(0); - this.Label_SPA.Name = "Label_SPA"; - this.Label_SPA.Size = new System.Drawing.Size(110, 21); - this.Label_SPA.TabIndex = 22; - this.Label_SPA.Text = "SpA:"; - this.Label_SPA.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_SPA.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // Label_SPC - // - this.Label_SPC.Location = new System.Drawing.Point(0, 21); - this.Label_SPC.Margin = new System.Windows.Forms.Padding(0); - this.Label_SPC.Name = "Label_SPC"; - this.Label_SPC.Size = new System.Drawing.Size(110, 21); - this.Label_SPC.TabIndex = 125; - this.Label_SPC.Text = "SpC:"; - this.Label_SPC.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_SPC.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_SpARight - // - this.FLP_SpARight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SpARight.Controls.Add(this.TB_SPAIV); - this.FLP_SpARight.Controls.Add(this.TB_SPAEV); - this.FLP_SpARight.Controls.Add(this.Stat_SPA); - this.FLP_SpARight.Location = new System.Drawing.Point(110, 0); - this.FLP_SpARight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpARight.Name = "FLP_SpARight"; - this.FLP_SpARight.Size = new System.Drawing.Size(162, 21); - this.FLP_SpARight.TabIndex = 123; - // - // TB_SPAIV - // - this.TB_SPAIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPAIV.Location = new System.Drawing.Point(0, 0); - this.TB_SPAIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_SPAIV.Mask = "00"; - this.TB_SPAIV.Name = "TB_SPAIV"; - this.TB_SPAIV.Size = new System.Drawing.Size(22, 20); - this.TB_SPAIV.TabIndex = 4; - this.TB_SPAIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPAIV.Click += new System.EventHandler(this.clickIV); - this.TB_SPAIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_SPAEV - // - this.TB_SPAEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPAEV.Location = new System.Drawing.Point(28, 0); - this.TB_SPAEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_SPAEV.Mask = "000"; - this.TB_SPAEV.Name = "TB_SPAEV"; - this.TB_SPAEV.Size = new System.Drawing.Size(28, 20); - this.TB_SPAEV.TabIndex = 10; - this.TB_SPAEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPAEV.Click += new System.EventHandler(this.clickEV); - this.TB_SPAEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_SPA - // - this.Stat_SPA.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_SPA.Enabled = false; - this.Stat_SPA.Location = new System.Drawing.Point(62, 0); - this.Stat_SPA.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_SPA.Mask = "00000"; - this.Stat_SPA.Name = "Stat_SPA"; - this.Stat_SPA.PromptChar = ' '; - this.Stat_SPA.Size = new System.Drawing.Size(37, 20); - this.Stat_SPA.TabIndex = 48; - this.Stat_SPA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FLP_SpD - // - this.FLP_SpD.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SpD.Controls.Add(this.Label_SPD); - this.FLP_SpD.Controls.Add(this.FLP_SpDRight); - this.FLP_SpD.Location = new System.Drawing.Point(0, 106); - this.FLP_SpD.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpD.Name = "FLP_SpD"; - this.FLP_SpD.Size = new System.Drawing.Size(272, 21); - this.FLP_SpD.TabIndex = 127; - // - // Label_SPD - // - this.Label_SPD.Location = new System.Drawing.Point(0, 0); - this.Label_SPD.Margin = new System.Windows.Forms.Padding(0); - this.Label_SPD.Name = "Label_SPD"; - this.Label_SPD.Size = new System.Drawing.Size(110, 21); - this.Label_SPD.TabIndex = 23; - this.Label_SPD.Text = "SpD:"; - this.Label_SPD.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_SPD.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_SpDRight - // - this.FLP_SpDRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SpDRight.Controls.Add(this.TB_SPDIV); - this.FLP_SpDRight.Controls.Add(this.TB_SPDEV); - this.FLP_SpDRight.Controls.Add(this.Stat_SPD); - this.FLP_SpDRight.Location = new System.Drawing.Point(110, 0); - this.FLP_SpDRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpDRight.Name = "FLP_SpDRight"; - this.FLP_SpDRight.Size = new System.Drawing.Size(162, 21); - this.FLP_SpDRight.TabIndex = 123; - // - // TB_SPDIV - // - this.TB_SPDIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPDIV.Location = new System.Drawing.Point(0, 0); - this.TB_SPDIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_SPDIV.Mask = "00"; - this.TB_SPDIV.Name = "TB_SPDIV"; - this.TB_SPDIV.Size = new System.Drawing.Size(22, 20); - this.TB_SPDIV.TabIndex = 5; - this.TB_SPDIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPDIV.Click += new System.EventHandler(this.clickIV); - this.TB_SPDIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_SPDEV - // - this.TB_SPDEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPDEV.Location = new System.Drawing.Point(28, 0); - this.TB_SPDEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_SPDEV.Mask = "000"; - this.TB_SPDEV.Name = "TB_SPDEV"; - this.TB_SPDEV.Size = new System.Drawing.Size(28, 20); - this.TB_SPDEV.TabIndex = 11; - this.TB_SPDEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPDEV.Click += new System.EventHandler(this.clickEV); - this.TB_SPDEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_SPD - // - this.Stat_SPD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_SPD.Enabled = false; - this.Stat_SPD.Location = new System.Drawing.Point(62, 0); - this.Stat_SPD.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_SPD.Mask = "00000"; - this.Stat_SPD.Name = "Stat_SPD"; - this.Stat_SPD.PromptChar = ' '; - this.Stat_SPD.Size = new System.Drawing.Size(37, 20); - this.Stat_SPD.TabIndex = 49; - this.Stat_SPD.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FLP_Spe - // - this.FLP_Spe.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Spe.Controls.Add(this.Label_SPE); - this.FLP_Spe.Controls.Add(this.FLP_SpeRight); - this.FLP_Spe.Location = new System.Drawing.Point(0, 127); - this.FLP_Spe.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Spe.Name = "FLP_Spe"; - this.FLP_Spe.Size = new System.Drawing.Size(272, 21); - this.FLP_Spe.TabIndex = 128; - // - // Label_SPE - // - this.Label_SPE.Location = new System.Drawing.Point(0, 0); - this.Label_SPE.Margin = new System.Windows.Forms.Padding(0); - this.Label_SPE.Name = "Label_SPE"; - this.Label_SPE.Size = new System.Drawing.Size(110, 21); - this.Label_SPE.TabIndex = 24; - this.Label_SPE.Text = "Spe:"; - this.Label_SPE.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_SPE.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clickStatLabel); - // - // FLP_SpeRight - // - this.FLP_SpeRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SpeRight.Controls.Add(this.TB_SPEIV); - this.FLP_SpeRight.Controls.Add(this.TB_SPEEV); - this.FLP_SpeRight.Controls.Add(this.Stat_SPE); - this.FLP_SpeRight.Location = new System.Drawing.Point(110, 0); - this.FLP_SpeRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_SpeRight.Name = "FLP_SpeRight"; - this.FLP_SpeRight.Size = new System.Drawing.Size(162, 21); - this.FLP_SpeRight.TabIndex = 123; - // - // TB_SPEIV - // - this.TB_SPEIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPEIV.Location = new System.Drawing.Point(0, 0); - this.TB_SPEIV.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_SPEIV.Mask = "00"; - this.TB_SPEIV.Name = "TB_SPEIV"; - this.TB_SPEIV.Size = new System.Drawing.Size(22, 20); - this.TB_SPEIV.TabIndex = 6; - this.TB_SPEIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPEIV.Click += new System.EventHandler(this.clickIV); - this.TB_SPEIV.TextChanged += new System.EventHandler(this.updateIVs); - // - // TB_SPEEV - // - this.TB_SPEEV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SPEEV.Location = new System.Drawing.Point(28, 0); - this.TB_SPEEV.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_SPEEV.Mask = "000"; - this.TB_SPEEV.Name = "TB_SPEEV"; - this.TB_SPEEV.Size = new System.Drawing.Size(28, 20); - this.TB_SPEEV.TabIndex = 12; - this.TB_SPEEV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SPEEV.Click += new System.EventHandler(this.clickEV); - this.TB_SPEEV.TextChanged += new System.EventHandler(this.updateEVs); - // - // Stat_SPE - // - this.Stat_SPE.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.Stat_SPE.Enabled = false; - this.Stat_SPE.Location = new System.Drawing.Point(62, 0); - this.Stat_SPE.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.Stat_SPE.Mask = "00000"; - this.Stat_SPE.Name = "Stat_SPE"; - this.Stat_SPE.PromptChar = ' '; - this.Stat_SPE.Size = new System.Drawing.Size(37, 20); - this.Stat_SPE.TabIndex = 50; - this.Stat_SPE.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // FLP_StatsTotal - // - this.FLP_StatsTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_StatsTotal.Controls.Add(this.Label_Total); - this.FLP_StatsTotal.Controls.Add(this.FLP_StatsTotalRight); - this.FLP_StatsTotal.Location = new System.Drawing.Point(0, 148); - this.FLP_StatsTotal.Margin = new System.Windows.Forms.Padding(0); - this.FLP_StatsTotal.Name = "FLP_StatsTotal"; - this.FLP_StatsTotal.Size = new System.Drawing.Size(272, 21); - this.FLP_StatsTotal.TabIndex = 129; - // - // Label_Total - // - this.Label_Total.Location = new System.Drawing.Point(0, 0); - this.Label_Total.Margin = new System.Windows.Forms.Padding(0); - this.Label_Total.Name = "Label_Total"; - this.Label_Total.Size = new System.Drawing.Size(110, 21); - this.Label_Total.TabIndex = 25; - this.Label_Total.Text = "Total:"; - this.Label_Total.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // FLP_StatsTotalRight - // - this.FLP_StatsTotalRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_StatsTotalRight.Controls.Add(this.TB_IVTotal); - this.FLP_StatsTotalRight.Controls.Add(this.TB_EVTotal); - this.FLP_StatsTotalRight.Controls.Add(this.L_Potential); - this.FLP_StatsTotalRight.Location = new System.Drawing.Point(110, 0); - this.FLP_StatsTotalRight.Margin = new System.Windows.Forms.Padding(0); - this.FLP_StatsTotalRight.Name = "FLP_StatsTotalRight"; - this.FLP_StatsTotalRight.Size = new System.Drawing.Size(162, 21); - this.FLP_StatsTotalRight.TabIndex = 123; - // - // TB_IVTotal - // - this.TB_IVTotal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_IVTotal.Location = new System.Drawing.Point(0, 0); - this.TB_IVTotal.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0); - this.TB_IVTotal.MaxLength = 3; - this.TB_IVTotal.Name = "TB_IVTotal"; - this.TB_IVTotal.ReadOnly = true; - this.TB_IVTotal.Size = new System.Drawing.Size(22, 20); - this.TB_IVTotal.TabIndex = 41; - this.TB_IVTotal.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // TB_EVTotal - // - this.TB_EVTotal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_EVTotal.Location = new System.Drawing.Point(28, 0); - this.TB_EVTotal.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0); - this.TB_EVTotal.MaxLength = 3; - this.TB_EVTotal.Name = "TB_EVTotal"; - this.TB_EVTotal.ReadOnly = true; - this.TB_EVTotal.Size = new System.Drawing.Size(28, 20); - this.TB_EVTotal.TabIndex = 18; - this.TB_EVTotal.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // L_Potential - // - this.L_Potential.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.L_Potential.Location = new System.Drawing.Point(59, 0); - this.L_Potential.Margin = new System.Windows.Forms.Padding(0); - this.L_Potential.Name = "L_Potential"; - this.L_Potential.Size = new System.Drawing.Size(67, 21); - this.L_Potential.TabIndex = 42; - this.L_Potential.Text = "(potential)"; - this.L_Potential.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // FLP_HPType - // - this.FLP_HPType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_HPType.Controls.Add(this.Label_HiddenPowerPrefix); - this.FLP_HPType.Controls.Add(this.CB_HPType); - this.FLP_HPType.Location = new System.Drawing.Point(0, 169); - this.FLP_HPType.Margin = new System.Windows.Forms.Padding(0); - this.FLP_HPType.Name = "FLP_HPType"; - this.FLP_HPType.Size = new System.Drawing.Size(272, 21); - this.FLP_HPType.TabIndex = 130; - // - // Label_HiddenPowerPrefix - // - this.Label_HiddenPowerPrefix.Location = new System.Drawing.Point(0, 0); - this.Label_HiddenPowerPrefix.Margin = new System.Windows.Forms.Padding(0); - this.Label_HiddenPowerPrefix.Name = "Label_HiddenPowerPrefix"; - this.Label_HiddenPowerPrefix.Size = new System.Drawing.Size(172, 21); - this.Label_HiddenPowerPrefix.TabIndex = 29; - this.Label_HiddenPowerPrefix.Text = "Hidden Power Type:"; - this.Label_HiddenPowerPrefix.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // CB_HPType - // - this.CB_HPType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_HPType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_HPType.DropDownWidth = 80; - this.CB_HPType.FormattingEnabled = true; - this.CB_HPType.Location = new System.Drawing.Point(172, 0); - this.CB_HPType.Margin = new System.Windows.Forms.Padding(0); - this.CB_HPType.Name = "CB_HPType"; - this.CB_HPType.Size = new System.Drawing.Size(70, 21); - this.CB_HPType.TabIndex = 44; - this.CB_HPType.SelectedIndexChanged += new System.EventHandler(this.updateHPType); - // - // FLP_Characteristic - // - this.FLP_Characteristic.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Characteristic.Controls.Add(this.Label_CharacteristicPrefix); - this.FLP_Characteristic.Controls.Add(this.L_Characteristic); - this.FLP_Characteristic.Location = new System.Drawing.Point(0, 190); - this.FLP_Characteristic.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Characteristic.Name = "FLP_Characteristic"; - this.FLP_Characteristic.Size = new System.Drawing.Size(272, 21); - this.FLP_Characteristic.TabIndex = 131; - // - // Label_CharacteristicPrefix - // - this.Label_CharacteristicPrefix.Location = new System.Drawing.Point(0, 0); - this.Label_CharacteristicPrefix.Margin = new System.Windows.Forms.Padding(0); - this.Label_CharacteristicPrefix.Name = "Label_CharacteristicPrefix"; - this.Label_CharacteristicPrefix.Size = new System.Drawing.Size(110, 21); - this.Label_CharacteristicPrefix.TabIndex = 43; - this.Label_CharacteristicPrefix.Text = "Characteristic:"; - this.Label_CharacteristicPrefix.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // L_Characteristic - // - this.L_Characteristic.Location = new System.Drawing.Point(110, 0); - this.L_Characteristic.Margin = new System.Windows.Forms.Padding(0); - this.L_Characteristic.Name = "L_Characteristic"; - this.L_Characteristic.Size = new System.Drawing.Size(150, 21); - this.L_Characteristic.TabIndex = 40; - this.L_Characteristic.Text = "(char)"; - this.L_Characteristic.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // BTN_RandomEVs - // - this.BTN_RandomEVs.Location = new System.Drawing.Point(140, 218); - this.BTN_RandomEVs.Name = "BTN_RandomEVs"; - this.BTN_RandomEVs.Size = new System.Drawing.Size(92, 23); - this.BTN_RandomEVs.TabIndex = 14; - this.BTN_RandomEVs.Text = "Randomize EVs"; - this.BTN_RandomEVs.UseVisualStyleBackColor = true; - this.BTN_RandomEVs.Click += new System.EventHandler(this.updateRandomEVs); - // - // BTN_RandomIVs - // - this.BTN_RandomIVs.Location = new System.Drawing.Point(41, 218); - this.BTN_RandomIVs.Name = "BTN_RandomIVs"; - this.BTN_RandomIVs.Size = new System.Drawing.Size(92, 23); - this.BTN_RandomIVs.TabIndex = 13; - this.BTN_RandomIVs.Text = "Randomize IVs"; - this.BTN_RandomIVs.UseVisualStyleBackColor = true; - this.BTN_RandomIVs.Click += new System.EventHandler(this.updateRandomIVs); - // - // Tab_Attacks - // - this.Tab_Attacks.AllowDrop = true; - this.Tab_Attacks.Controls.Add(this.PB_WarnMove4); - this.Tab_Attacks.Controls.Add(this.PB_WarnMove3); - this.Tab_Attacks.Controls.Add(this.PB_WarnMove2); - this.Tab_Attacks.Controls.Add(this.PB_WarnMove1); - this.Tab_Attacks.Controls.Add(this.GB_RelearnMoves); - this.Tab_Attacks.Controls.Add(this.GB_CurrentMoves); - this.Tab_Attacks.Location = new System.Drawing.Point(4, 22); - this.Tab_Attacks.Name = "Tab_Attacks"; - this.Tab_Attacks.Padding = new System.Windows.Forms.Padding(3); - this.Tab_Attacks.Size = new System.Drawing.Size(272, 299); - this.Tab_Attacks.TabIndex = 3; - this.Tab_Attacks.Text = "Attacks"; - this.Tab_Attacks.UseVisualStyleBackColor = true; - // - // PB_WarnMove4 - // - this.PB_WarnMove4.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove4.Image"))); - this.PB_WarnMove4.Location = new System.Drawing.Point(8, 113); - this.PB_WarnMove4.Name = "PB_WarnMove4"; - this.PB_WarnMove4.Size = new System.Drawing.Size(16, 16); - this.PB_WarnMove4.TabIndex = 5; - this.PB_WarnMove4.TabStop = false; - this.PB_WarnMove4.Visible = false; - // - // PB_WarnMove3 - // - this.PB_WarnMove3.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove3.Image"))); - this.PB_WarnMove3.Location = new System.Drawing.Point(8, 91); - this.PB_WarnMove3.Name = "PB_WarnMove3"; - this.PB_WarnMove3.Size = new System.Drawing.Size(16, 16); - this.PB_WarnMove3.TabIndex = 4; - this.PB_WarnMove3.TabStop = false; - this.PB_WarnMove3.Visible = false; - // - // PB_WarnMove2 - // - this.PB_WarnMove2.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove2.Image"))); - this.PB_WarnMove2.Location = new System.Drawing.Point(8, 69); - this.PB_WarnMove2.Name = "PB_WarnMove2"; - this.PB_WarnMove2.Size = new System.Drawing.Size(16, 16); - this.PB_WarnMove2.TabIndex = 3; - this.PB_WarnMove2.TabStop = false; - this.PB_WarnMove2.Visible = false; - // - // PB_WarnMove1 - // - this.PB_WarnMove1.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnMove1.Image"))); - this.PB_WarnMove1.Location = new System.Drawing.Point(8, 47); - this.PB_WarnMove1.Name = "PB_WarnMove1"; - this.PB_WarnMove1.Size = new System.Drawing.Size(16, 16); - this.PB_WarnMove1.TabIndex = 2; - this.PB_WarnMove1.TabStop = false; - this.PB_WarnMove1.Visible = false; - // - // GB_RelearnMoves - // - this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn4); - this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn3); - this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn2); - this.GB_RelearnMoves.Controls.Add(this.PB_WarnRelearn1); - this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove4); - this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove3); - this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove2); - this.GB_RelearnMoves.Controls.Add(this.CB_RelearnMove1); - this.GB_RelearnMoves.Location = new System.Drawing.Point(25, 160); - this.GB_RelearnMoves.Name = "GB_RelearnMoves"; - this.GB_RelearnMoves.Size = new System.Drawing.Size(220, 120); - this.GB_RelearnMoves.TabIndex = 1; - this.GB_RelearnMoves.TabStop = false; - this.GB_RelearnMoves.Text = "Relearn Moves"; - // - // PB_WarnRelearn4 - // - this.PB_WarnRelearn4.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn4.Image"))); - this.PB_WarnRelearn4.Location = new System.Drawing.Point(22, 93); - this.PB_WarnRelearn4.Name = "PB_WarnRelearn4"; - this.PB_WarnRelearn4.Size = new System.Drawing.Size(16, 16); - this.PB_WarnRelearn4.TabIndex = 19; - this.PB_WarnRelearn4.TabStop = false; - this.PB_WarnRelearn4.Visible = false; - // - // PB_WarnRelearn3 - // - this.PB_WarnRelearn3.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn3.Image"))); - this.PB_WarnRelearn3.Location = new System.Drawing.Point(22, 71); - this.PB_WarnRelearn3.Name = "PB_WarnRelearn3"; - this.PB_WarnRelearn3.Size = new System.Drawing.Size(16, 16); - this.PB_WarnRelearn3.TabIndex = 18; - this.PB_WarnRelearn3.TabStop = false; - this.PB_WarnRelearn3.Visible = false; - // - // PB_WarnRelearn2 - // - this.PB_WarnRelearn2.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn2.Image"))); - this.PB_WarnRelearn2.Location = new System.Drawing.Point(22, 49); - this.PB_WarnRelearn2.Name = "PB_WarnRelearn2"; - this.PB_WarnRelearn2.Size = new System.Drawing.Size(16, 16); - this.PB_WarnRelearn2.TabIndex = 17; - this.PB_WarnRelearn2.TabStop = false; - this.PB_WarnRelearn2.Visible = false; - // - // PB_WarnRelearn1 - // - this.PB_WarnRelearn1.Image = ((System.Drawing.Image)(resources.GetObject("PB_WarnRelearn1.Image"))); - this.PB_WarnRelearn1.Location = new System.Drawing.Point(22, 27); - this.PB_WarnRelearn1.Name = "PB_WarnRelearn1"; - this.PB_WarnRelearn1.Size = new System.Drawing.Size(16, 16); - this.PB_WarnRelearn1.TabIndex = 6; - this.PB_WarnRelearn1.TabStop = false; - this.PB_WarnRelearn1.Visible = false; - // - // CB_RelearnMove4 - // - this.CB_RelearnMove4.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_RelearnMove4.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_RelearnMove4.FormattingEnabled = true; - this.CB_RelearnMove4.Location = new System.Drawing.Point(48, 91); - this.CB_RelearnMove4.Name = "CB_RelearnMove4"; - this.CB_RelearnMove4.Size = new System.Drawing.Size(124, 21); - this.CB_RelearnMove4.TabIndex = 16; - this.CB_RelearnMove4.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_RelearnMove4.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_RelearnMove4.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_RelearnMove4.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_RelearnMove3 - // - this.CB_RelearnMove3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_RelearnMove3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_RelearnMove3.FormattingEnabled = true; - this.CB_RelearnMove3.Location = new System.Drawing.Point(48, 69); - this.CB_RelearnMove3.Name = "CB_RelearnMove3"; - this.CB_RelearnMove3.Size = new System.Drawing.Size(124, 21); - this.CB_RelearnMove3.TabIndex = 15; - this.CB_RelearnMove3.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_RelearnMove3.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_RelearnMove3.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_RelearnMove3.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_RelearnMove2 - // - this.CB_RelearnMove2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_RelearnMove2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_RelearnMove2.FormattingEnabled = true; - this.CB_RelearnMove2.Location = new System.Drawing.Point(48, 47); - this.CB_RelearnMove2.Name = "CB_RelearnMove2"; - this.CB_RelearnMove2.Size = new System.Drawing.Size(124, 21); - this.CB_RelearnMove2.TabIndex = 14; - this.CB_RelearnMove2.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_RelearnMove2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_RelearnMove2.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_RelearnMove2.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_RelearnMove1 - // - this.CB_RelearnMove1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_RelearnMove1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_RelearnMove1.FormattingEnabled = true; - this.CB_RelearnMove1.Location = new System.Drawing.Point(48, 25); - this.CB_RelearnMove1.Name = "CB_RelearnMove1"; - this.CB_RelearnMove1.Size = new System.Drawing.Size(124, 21); - this.CB_RelearnMove1.TabIndex = 13; - this.CB_RelearnMove1.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_RelearnMove1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_RelearnMove1.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_RelearnMove1.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // GB_CurrentMoves - // - this.GB_CurrentMoves.Controls.Add(this.TB_PP4); - this.GB_CurrentMoves.Controls.Add(this.TB_PP3); - this.GB_CurrentMoves.Controls.Add(this.TB_PP2); - this.GB_CurrentMoves.Controls.Add(this.TB_PP1); - this.GB_CurrentMoves.Controls.Add(this.Label_CurPP); - this.GB_CurrentMoves.Controls.Add(this.Label_PPups); - this.GB_CurrentMoves.Controls.Add(this.CB_PPu4); - this.GB_CurrentMoves.Controls.Add(this.CB_PPu3); - this.GB_CurrentMoves.Controls.Add(this.CB_PPu2); - this.GB_CurrentMoves.Controls.Add(this.CB_Move4); - this.GB_CurrentMoves.Controls.Add(this.CB_PPu1); - this.GB_CurrentMoves.Controls.Add(this.CB_Move3); - this.GB_CurrentMoves.Controls.Add(this.CB_Move2); - this.GB_CurrentMoves.Controls.Add(this.CB_Move1); - this.GB_CurrentMoves.Location = new System.Drawing.Point(27, 19); - this.GB_CurrentMoves.Name = "GB_CurrentMoves"; - this.GB_CurrentMoves.Size = new System.Drawing.Size(220, 120); - this.GB_CurrentMoves.TabIndex = 0; - this.GB_CurrentMoves.TabStop = false; - this.GB_CurrentMoves.Text = "Current Moves"; - // - // TB_PP4 - // - this.TB_PP4.Location = new System.Drawing.Point(135, 93); - this.TB_PP4.Mask = "000"; - this.TB_PP4.Name = "TB_PP4"; - this.TB_PP4.PromptChar = ' '; - this.TB_PP4.Size = new System.Drawing.Size(31, 20); - this.TB_PP4.TabIndex = 16; - this.TB_PP4.TextChanged += new System.EventHandler(this.update255_MTB); - // - // TB_PP3 - // - this.TB_PP3.Location = new System.Drawing.Point(135, 71); - this.TB_PP3.Mask = "000"; - this.TB_PP3.Name = "TB_PP3"; - this.TB_PP3.PromptChar = ' '; - this.TB_PP3.Size = new System.Drawing.Size(31, 20); - this.TB_PP3.TabIndex = 15; - this.TB_PP3.TextChanged += new System.EventHandler(this.update255_MTB); - // - // TB_PP2 - // - this.TB_PP2.Location = new System.Drawing.Point(135, 49); - this.TB_PP2.Mask = "000"; - this.TB_PP2.Name = "TB_PP2"; - this.TB_PP2.PromptChar = ' '; - this.TB_PP2.Size = new System.Drawing.Size(31, 20); - this.TB_PP2.TabIndex = 14; - this.TB_PP2.TextChanged += new System.EventHandler(this.update255_MTB); - // - // TB_PP1 - // - this.TB_PP1.Location = new System.Drawing.Point(135, 27); - this.TB_PP1.Mask = "000"; - this.TB_PP1.Name = "TB_PP1"; - this.TB_PP1.PromptChar = ' '; - this.TB_PP1.Size = new System.Drawing.Size(31, 20); - this.TB_PP1.TabIndex = 13; - this.TB_PP1.TextChanged += new System.EventHandler(this.update255_MTB); - // - // Label_CurPP - // - this.Label_CurPP.Location = new System.Drawing.Point(133, 12); - this.Label_CurPP.Name = "Label_CurPP"; - this.Label_CurPP.Size = new System.Drawing.Size(35, 13); - this.Label_CurPP.TabIndex = 2; - this.Label_CurPP.Text = "PP"; - this.Label_CurPP.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Label_PPups - // - this.Label_PPups.Location = new System.Drawing.Point(169, 12); - this.Label_PPups.Name = "Label_PPups"; - this.Label_PPups.Size = new System.Drawing.Size(45, 13); - this.Label_PPups.TabIndex = 12; - this.Label_PPups.Text = "PP Ups"; - this.Label_PPups.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.Label_PPups.Click += new System.EventHandler(this.clickPPUps); - // - // CB_PPu4 - // - this.CB_PPu4.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PPu4.FormattingEnabled = true; - this.CB_PPu4.Items.AddRange(new object[] { - "0", - "1", - "2", - "3"}); - this.CB_PPu4.Location = new System.Drawing.Point(172, 92); - this.CB_PPu4.Name = "CB_PPu4"; - this.CB_PPu4.Size = new System.Drawing.Size(38, 21); - this.CB_PPu4.TabIndex = 12; - this.CB_PPu4.SelectedIndexChanged += new System.EventHandler(this.updatePP); - // - // CB_PPu3 - // - this.CB_PPu3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PPu3.FormattingEnabled = true; - this.CB_PPu3.Items.AddRange(new object[] { - "0", - "1", - "2", - "3"}); - this.CB_PPu3.Location = new System.Drawing.Point(172, 70); - this.CB_PPu3.Name = "CB_PPu3"; - this.CB_PPu3.Size = new System.Drawing.Size(38, 21); - this.CB_PPu3.TabIndex = 9; - this.CB_PPu3.SelectedIndexChanged += new System.EventHandler(this.updatePP); - // - // CB_PPu2 - // - this.CB_PPu2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PPu2.FormattingEnabled = true; - this.CB_PPu2.Items.AddRange(new object[] { - "0", - "1", - "2", - "3"}); - this.CB_PPu2.Location = new System.Drawing.Point(172, 48); - this.CB_PPu2.Name = "CB_PPu2"; - this.CB_PPu2.Size = new System.Drawing.Size(38, 21); - this.CB_PPu2.TabIndex = 6; - this.CB_PPu2.SelectedIndexChanged += new System.EventHandler(this.updatePP); - // - // CB_Move4 - // - this.CB_Move4.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Move4.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Move4.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.CB_Move4.FormattingEnabled = true; - this.CB_Move4.Location = new System.Drawing.Point(9, 92); - this.CB_Move4.Name = "CB_Move4"; - this.CB_Move4.Size = new System.Drawing.Size(121, 21); - this.CB_Move4.TabIndex = 10; - this.CB_Move4.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); - this.CB_Move4.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_Move4.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Move4.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_Move4.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_PPu1 - // - this.CB_PPu1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_PPu1.FormattingEnabled = true; - this.CB_PPu1.Items.AddRange(new object[] { - "0", - "1", - "2", - "3"}); - this.CB_PPu1.Location = new System.Drawing.Point(172, 26); - this.CB_PPu1.Name = "CB_PPu1"; - this.CB_PPu1.Size = new System.Drawing.Size(38, 21); - this.CB_PPu1.TabIndex = 3; - this.CB_PPu1.SelectedIndexChanged += new System.EventHandler(this.updatePP); - // - // CB_Move3 - // - this.CB_Move3.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Move3.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Move3.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.CB_Move3.FormattingEnabled = true; - this.CB_Move3.Location = new System.Drawing.Point(9, 70); - this.CB_Move3.Name = "CB_Move3"; - this.CB_Move3.Size = new System.Drawing.Size(121, 21); - this.CB_Move3.TabIndex = 7; - this.CB_Move3.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); - this.CB_Move3.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_Move3.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Move3.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_Move3.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_Move2 - // - this.CB_Move2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Move2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Move2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.CB_Move2.FormattingEnabled = true; - this.CB_Move2.Location = new System.Drawing.Point(9, 48); - this.CB_Move2.Name = "CB_Move2"; - this.CB_Move2.Size = new System.Drawing.Size(121, 21); - this.CB_Move2.TabIndex = 4; - this.CB_Move2.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); - this.CB_Move2.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_Move2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Move2.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_Move2.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // CB_Move1 - // - this.CB_Move1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_Move1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.CB_Move1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.CB_Move1.FormattingEnabled = true; - this.CB_Move1.Location = new System.Drawing.Point(9, 26); - this.CB_Move1.Name = "CB_Move1"; - this.CB_Move1.Size = new System.Drawing.Size(121, 21); - this.CB_Move1.TabIndex = 1; - this.CB_Move1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.validateMovePaint); - this.CB_Move1.SelectedIndexChanged += new System.EventHandler(this.validateMove); - this.CB_Move1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.removedropCB); - this.CB_Move1.Leave += new System.EventHandler(this.validateComboBox2); - this.CB_Move1.Validating += new System.ComponentModel.CancelEventHandler(this.validateComboBox); - // - // Tab_OTMisc - // - this.Tab_OTMisc.AllowDrop = true; - this.Tab_OTMisc.Controls.Add(this.FLP_PKMEditors); - this.Tab_OTMisc.Controls.Add(this.TB_EC); - this.Tab_OTMisc.Controls.Add(this.GB_nOT); - this.Tab_OTMisc.Controls.Add(this.BTN_RerollEC); - this.Tab_OTMisc.Controls.Add(this.GB_Markings); - this.Tab_OTMisc.Controls.Add(this.GB_ExtraBytes); - this.Tab_OTMisc.Controls.Add(this.GB_OT); - this.Tab_OTMisc.Controls.Add(this.Label_EncryptionConstant); - this.Tab_OTMisc.Location = new System.Drawing.Point(4, 22); - this.Tab_OTMisc.Name = "Tab_OTMisc"; - this.Tab_OTMisc.Padding = new System.Windows.Forms.Padding(3); - this.Tab_OTMisc.Size = new System.Drawing.Size(272, 299); - this.Tab_OTMisc.TabIndex = 4; - this.Tab_OTMisc.Text = "OT/Misc"; - this.Tab_OTMisc.UseVisualStyleBackColor = true; - // - // FLP_PKMEditors - // - this.FLP_PKMEditors.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_PKMEditors.AutoSize = true; - this.FLP_PKMEditors.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.FLP_PKMEditors.Controls.Add(this.BTN_Ribbons); - this.FLP_PKMEditors.Controls.Add(this.BTN_Medals); - this.FLP_PKMEditors.Controls.Add(this.BTN_History); - this.FLP_PKMEditors.Location = new System.Drawing.Point(49, 245); - this.FLP_PKMEditors.Name = "FLP_PKMEditors"; - this.FLP_PKMEditors.Size = new System.Drawing.Size(175, 25); - this.FLP_PKMEditors.TabIndex = 9; - this.FLP_PKMEditors.WrapContents = false; - // - // BTN_Ribbons - // - this.BTN_Ribbons.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.BTN_Ribbons.AutoSize = true; - this.BTN_Ribbons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.BTN_Ribbons.Location = new System.Drawing.Point(1, 1); - this.BTN_Ribbons.Margin = new System.Windows.Forms.Padding(1); - this.BTN_Ribbons.Name = "BTN_Ribbons"; - this.BTN_Ribbons.Size = new System.Drawing.Size(56, 23); - this.BTN_Ribbons.TabIndex = 5; - this.BTN_Ribbons.Text = "Ribbons"; - this.BTN_Ribbons.UseVisualStyleBackColor = true; - this.BTN_Ribbons.Click += new System.EventHandler(this.openRibbons); - // - // BTN_Medals - // - this.BTN_Medals.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.BTN_Medals.AutoSize = true; - this.BTN_Medals.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.BTN_Medals.Location = new System.Drawing.Point(59, 1); - this.BTN_Medals.Margin = new System.Windows.Forms.Padding(1); - this.BTN_Medals.Name = "BTN_Medals"; - this.BTN_Medals.Size = new System.Drawing.Size(51, 23); - this.BTN_Medals.TabIndex = 7; - this.BTN_Medals.Text = "Medals"; - this.BTN_Medals.UseVisualStyleBackColor = true; - this.BTN_Medals.Click += new System.EventHandler(this.openMedals); - // - // BTN_History - // - this.BTN_History.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.BTN_History.AutoSize = true; - this.BTN_History.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.BTN_History.Location = new System.Drawing.Point(112, 1); - this.BTN_History.Margin = new System.Windows.Forms.Padding(1); - this.BTN_History.Name = "BTN_History"; - this.BTN_History.Size = new System.Drawing.Size(62, 23); - this.BTN_History.TabIndex = 6; - this.BTN_History.Text = "Memories"; - this.BTN_History.UseVisualStyleBackColor = true; - this.BTN_History.Click += new System.EventHandler(this.openHistory); - // - // TB_EC - // - this.TB_EC.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_EC.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_EC.Location = new System.Drawing.Point(176, 276); - this.TB_EC.MaxLength = 8; - this.TB_EC.Name = "TB_EC"; - this.TB_EC.Size = new System.Drawing.Size(60, 20); - this.TB_EC.TabIndex = 8; - this.TB_EC.Text = "12345678"; - this.TB_EC.TextChanged += new System.EventHandler(this.update_ID); - // - // GB_nOT - // - this.GB_nOT.Controls.Add(this.Label_CTGender); - this.GB_nOT.Controls.Add(this.TB_OTt2); - this.GB_nOT.Controls.Add(this.Label_PrevOT); - this.GB_nOT.Location = new System.Drawing.Point(40, 85); - this.GB_nOT.Name = "GB_nOT"; - this.GB_nOT.Size = new System.Drawing.Size(190, 50); - this.GB_nOT.TabIndex = 2; - this.GB_nOT.TabStop = false; - this.GB_nOT.Text = "Latest (not OT) Handler"; - // - // Label_CTGender - // - this.Label_CTGender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.Label_CTGender.Location = new System.Drawing.Point(144, 23); - this.Label_CTGender.Name = "Label_CTGender"; - this.Label_CTGender.Size = new System.Drawing.Size(16, 13); - this.Label_CTGender.TabIndex = 57; - this.Label_CTGender.Text = "G"; - this.Label_CTGender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.Label_CTGender.Click += new System.EventHandler(this.clickTRGender); - // - // TB_OTt2 - // - this.TB_OTt2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.TB_OTt2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_OTt2.Location = new System.Drawing.Point(46, 20); - this.TB_OTt2.MaxLength = 12; - this.TB_OTt2.Name = "TB_OTt2"; - this.TB_OTt2.Size = new System.Drawing.Size(94, 20); - this.TB_OTt2.TabIndex = 1; - this.TB_OTt2.WordWrap = false; - this.TB_OTt2.TextChanged += new System.EventHandler(this.updateNotOT); - this.TB_OTt2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); - // - // Label_PrevOT - // - this.Label_PrevOT.Location = new System.Drawing.Point(4, 23); - this.Label_PrevOT.Name = "Label_PrevOT"; - this.Label_PrevOT.Size = new System.Drawing.Size(40, 13); - this.Label_PrevOT.TabIndex = 42; - this.Label_PrevOT.Text = "OT:"; - this.Label_PrevOT.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_PrevOT.Click += new System.EventHandler(this.clickCT); - // - // BTN_RerollEC - // - this.BTN_RerollEC.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F); - this.BTN_RerollEC.Location = new System.Drawing.Point(138, 276); - this.BTN_RerollEC.Name = "BTN_RerollEC"; - this.BTN_RerollEC.Size = new System.Drawing.Size(38, 20); - this.BTN_RerollEC.TabIndex = 7; - this.BTN_RerollEC.Text = "Reroll"; - this.BTN_RerollEC.UseVisualStyleBackColor = true; - this.BTN_RerollEC.Click += new System.EventHandler(this.updateRandomEC); - // - // GB_Markings - // - this.GB_Markings.Controls.Add(this.PB_MarkHorohoro); - this.GB_Markings.Controls.Add(this.PB_MarkVC); - this.GB_Markings.Controls.Add(this.PB_MarkAlola); - this.GB_Markings.Controls.Add(this.PB_Mark6); - this.GB_Markings.Controls.Add(this.PB_MarkPentagon); - this.GB_Markings.Controls.Add(this.PB_Mark3); - this.GB_Markings.Controls.Add(this.PB_Mark5); - this.GB_Markings.Controls.Add(this.PB_MarkCured); - this.GB_Markings.Controls.Add(this.PB_Mark2); - this.GB_Markings.Controls.Add(this.PB_MarkShiny); - this.GB_Markings.Controls.Add(this.PB_Mark1); - this.GB_Markings.Controls.Add(this.PB_Mark4); - this.GB_Markings.Location = new System.Drawing.Point(68, 183); - this.GB_Markings.Name = "GB_Markings"; - this.GB_Markings.Size = new System.Drawing.Size(135, 58); - this.GB_Markings.TabIndex = 4; - this.GB_Markings.TabStop = false; - this.GB_Markings.Text = "Markings"; - // - // PB_MarkHorohoro - // - this.PB_MarkHorohoro.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkHorohoro.Image"))); - this.PB_MarkHorohoro.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkHorohoro.InitialImage"))); - this.PB_MarkHorohoro.Location = new System.Drawing.Point(110, 15); - this.PB_MarkHorohoro.Name = "PB_MarkHorohoro"; - this.PB_MarkHorohoro.Size = new System.Drawing.Size(20, 20); - this.PB_MarkHorohoro.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkHorohoro.TabIndex = 11; - this.PB_MarkHorohoro.TabStop = false; - // - // PB_MarkVC - // - this.PB_MarkVC.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkVC.Image"))); - this.PB_MarkVC.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkVC.InitialImage"))); - this.PB_MarkVC.Location = new System.Drawing.Point(89, 15); - this.PB_MarkVC.Name = "PB_MarkVC"; - this.PB_MarkVC.Size = new System.Drawing.Size(20, 20); - this.PB_MarkVC.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkVC.TabIndex = 10; - this.PB_MarkVC.TabStop = false; - // - // PB_MarkAlola - // - this.PB_MarkAlola.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkAlola.Image"))); - this.PB_MarkAlola.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkAlola.InitialImage"))); - this.PB_MarkAlola.Location = new System.Drawing.Point(68, 15); - this.PB_MarkAlola.Name = "PB_MarkAlola"; - this.PB_MarkAlola.Size = new System.Drawing.Size(20, 20); - this.PB_MarkAlola.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkAlola.TabIndex = 9; - this.PB_MarkAlola.TabStop = false; - // - // PB_Mark6 - // - this.PB_Mark6.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark6.Image"))); - this.PB_Mark6.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark6.InitialImage"))); - this.PB_Mark6.Location = new System.Drawing.Point(110, 36); - this.PB_Mark6.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark6.Name = "PB_Mark6"; - this.PB_Mark6.Size = new System.Drawing.Size(20, 20); - this.PB_Mark6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark6.TabIndex = 5; - this.PB_Mark6.TabStop = false; - this.PB_Mark6.Click += new System.EventHandler(this.clickMarking); - // - // PB_MarkPentagon - // - this.PB_MarkPentagon.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkPentagon.Image"))); - this.PB_MarkPentagon.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkPentagon.InitialImage"))); - this.PB_MarkPentagon.Location = new System.Drawing.Point(47, 15); - this.PB_MarkPentagon.Name = "PB_MarkPentagon"; - this.PB_MarkPentagon.Size = new System.Drawing.Size(20, 20); - this.PB_MarkPentagon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkPentagon.TabIndex = 8; - this.PB_MarkPentagon.TabStop = false; - // - // PB_Mark3 - // - this.PB_Mark3.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark3.Image"))); - this.PB_Mark3.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark3.InitialImage"))); - this.PB_Mark3.Location = new System.Drawing.Point(47, 36); - this.PB_Mark3.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark3.Name = "PB_Mark3"; - this.PB_Mark3.Size = new System.Drawing.Size(20, 20); - this.PB_Mark3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark3.TabIndex = 2; - this.PB_Mark3.TabStop = false; - this.PB_Mark3.Click += new System.EventHandler(this.clickMarking); - // - // PB_Mark5 - // - this.PB_Mark5.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark5.Image"))); - this.PB_Mark5.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark5.InitialImage"))); - this.PB_Mark5.Location = new System.Drawing.Point(89, 36); - this.PB_Mark5.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark5.Name = "PB_Mark5"; - this.PB_Mark5.Size = new System.Drawing.Size(20, 20); - this.PB_Mark5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark5.TabIndex = 4; - this.PB_Mark5.TabStop = false; - this.PB_Mark5.Click += new System.EventHandler(this.clickMarking); - // - // PB_MarkCured - // - this.PB_MarkCured.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkCured.Image"))); - this.PB_MarkCured.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkCured.InitialImage"))); - this.PB_MarkCured.Location = new System.Drawing.Point(26, 15); - this.PB_MarkCured.Name = "PB_MarkCured"; - this.PB_MarkCured.Size = new System.Drawing.Size(20, 20); - this.PB_MarkCured.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkCured.TabIndex = 7; - this.PB_MarkCured.TabStop = false; - // - // PB_Mark2 - // - this.PB_Mark2.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark2.Image"))); - this.PB_Mark2.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark2.InitialImage"))); - this.PB_Mark2.Location = new System.Drawing.Point(26, 36); - this.PB_Mark2.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark2.Name = "PB_Mark2"; - this.PB_Mark2.Size = new System.Drawing.Size(20, 20); - this.PB_Mark2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark2.TabIndex = 1; - this.PB_Mark2.TabStop = false; - this.PB_Mark2.Click += new System.EventHandler(this.clickMarking); - // - // PB_MarkShiny - // - this.PB_MarkShiny.Image = ((System.Drawing.Image)(resources.GetObject("PB_MarkShiny.Image"))); - this.PB_MarkShiny.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_MarkShiny.InitialImage"))); - this.PB_MarkShiny.Location = new System.Drawing.Point(5, 15); - this.PB_MarkShiny.Name = "PB_MarkShiny"; - this.PB_MarkShiny.Size = new System.Drawing.Size(20, 20); - this.PB_MarkShiny.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_MarkShiny.TabIndex = 6; - this.PB_MarkShiny.TabStop = false; - // - // PB_Mark1 - // - this.PB_Mark1.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark1.Image"))); - this.PB_Mark1.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark1.InitialImage"))); - this.PB_Mark1.Location = new System.Drawing.Point(5, 36); - this.PB_Mark1.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark1.Name = "PB_Mark1"; - this.PB_Mark1.Size = new System.Drawing.Size(20, 20); - this.PB_Mark1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark1.TabIndex = 0; - this.PB_Mark1.TabStop = false; - this.PB_Mark1.Click += new System.EventHandler(this.clickMarking); - // - // PB_Mark4 - // - this.PB_Mark4.Image = ((System.Drawing.Image)(resources.GetObject("PB_Mark4.Image"))); - this.PB_Mark4.InitialImage = ((System.Drawing.Image)(resources.GetObject("PB_Mark4.InitialImage"))); - this.PB_Mark4.Location = new System.Drawing.Point(68, 36); - this.PB_Mark4.Margin = new System.Windows.Forms.Padding(1); - this.PB_Mark4.Name = "PB_Mark4"; - this.PB_Mark4.Size = new System.Drawing.Size(20, 20); - this.PB_Mark4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.PB_Mark4.TabIndex = 3; - this.PB_Mark4.TabStop = false; - this.PB_Mark4.Click += new System.EventHandler(this.clickMarking); - // - // GB_ExtraBytes - // - this.GB_ExtraBytes.Controls.Add(this.TB_ExtraByte); - this.GB_ExtraBytes.Controls.Add(this.CB_ExtraBytes); - this.GB_ExtraBytes.Location = new System.Drawing.Point(68, 135); - this.GB_ExtraBytes.Name = "GB_ExtraBytes"; - this.GB_ExtraBytes.Size = new System.Drawing.Size(135, 48); - this.GB_ExtraBytes.TabIndex = 3; - this.GB_ExtraBytes.TabStop = false; - this.GB_ExtraBytes.Text = "Extra Bytes"; - // - // TB_ExtraByte - // - this.TB_ExtraByte.Location = new System.Drawing.Point(87, 19); - this.TB_ExtraByte.Mask = "000"; - this.TB_ExtraByte.Name = "TB_ExtraByte"; - this.TB_ExtraByte.Size = new System.Drawing.Size(28, 20); - this.TB_ExtraByte.TabIndex = 2; - this.TB_ExtraByte.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_ExtraByte.TextChanged += new System.EventHandler(this.updateExtraByteValue); - // - // CB_ExtraBytes - // - this.CB_ExtraBytes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_ExtraBytes.FormattingEnabled = true; - this.CB_ExtraBytes.Location = new System.Drawing.Point(20, 18); - this.CB_ExtraBytes.Name = "CB_ExtraBytes"; - this.CB_ExtraBytes.Size = new System.Drawing.Size(57, 21); - this.CB_ExtraBytes.TabIndex = 1; - this.CB_ExtraBytes.SelectedIndexChanged += new System.EventHandler(this.updateExtraByteIndex); - // - // GB_OT - // - this.GB_OT.Controls.Add(this.Label_OTGender); - this.GB_OT.Controls.Add(this.TB_OT); - this.GB_OT.Controls.Add(this.TB_SID); - this.GB_OT.Controls.Add(this.TB_TID); - this.GB_OT.Controls.Add(this.Label_OT); - this.GB_OT.Controls.Add(this.Label_SID); - this.GB_OT.Controls.Add(this.Label_TID); - this.GB_OT.Location = new System.Drawing.Point(40, 8); - this.GB_OT.Name = "GB_OT"; - this.GB_OT.Size = new System.Drawing.Size(190, 75); - this.GB_OT.TabIndex = 1; - this.GB_OT.TabStop = false; - this.GB_OT.Text = "Trainer Information"; - // - // Label_OTGender - // - this.Label_OTGender.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.Label_OTGender.Location = new System.Drawing.Point(144, 48); - this.Label_OTGender.Name = "Label_OTGender"; - this.Label_OTGender.Size = new System.Drawing.Size(16, 13); - this.Label_OTGender.TabIndex = 56; - this.Label_OTGender.Text = "G"; - this.Label_OTGender.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.Label_OTGender.Click += new System.EventHandler(this.clickTRGender); - // - // TB_OT - // - this.TB_OT.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_OT.Location = new System.Drawing.Point(46, 46); - this.TB_OT.MaxLength = 12; - this.TB_OT.Name = "TB_OT"; - this.TB_OT.Size = new System.Drawing.Size(94, 20); - this.TB_OT.TabIndex = 3; - this.TB_OT.MouseDown += new System.Windows.Forms.MouseEventHandler(this.updateNicknameClick); - // - // TB_SID - // - this.TB_SID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_SID.Location = new System.Drawing.Point(132, 20); - this.TB_SID.Mask = "00000"; - this.TB_SID.Name = "TB_SID"; - this.TB_SID.Size = new System.Drawing.Size(40, 20); - this.TB_SID.TabIndex = 2; - this.TB_SID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_SID.TextChanged += new System.EventHandler(this.update_ID); - this.TB_SID.MouseHover += new System.EventHandler(this.updateTSV); - // - // TB_TID - // - this.TB_TID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.TB_TID.Location = new System.Drawing.Point(46, 20); - this.TB_TID.Mask = "00000"; - this.TB_TID.Name = "TB_TID"; - this.TB_TID.Size = new System.Drawing.Size(40, 20); - this.TB_TID.TabIndex = 1; - this.TB_TID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.TB_TID.TextChanged += new System.EventHandler(this.update_ID); - this.TB_TID.MouseHover += new System.EventHandler(this.updateTSV); - // - // Label_OT - // - this.Label_OT.Location = new System.Drawing.Point(4, 48); - this.Label_OT.Name = "Label_OT"; - this.Label_OT.Size = new System.Drawing.Size(40, 13); - this.Label_OT.TabIndex = 5; - this.Label_OT.Text = "OT:"; - this.Label_OT.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.Label_OT.Click += new System.EventHandler(this.clickOT); - // - // Label_SID - // - this.Label_SID.Location = new System.Drawing.Point(86, 22); - this.Label_SID.Name = "Label_SID"; - this.Label_SID.Size = new System.Drawing.Size(45, 13); - this.Label_SID.TabIndex = 4; - this.Label_SID.Text = "SID:"; - this.Label_SID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // Label_TID - // - this.Label_TID.Location = new System.Drawing.Point(4, 22); - this.Label_TID.Name = "Label_TID"; - this.Label_TID.Size = new System.Drawing.Size(40, 13); - this.Label_TID.TabIndex = 3; - this.Label_TID.Text = "TID:"; - this.Label_TID.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // Label_EncryptionConstant - // - this.Label_EncryptionConstant.Location = new System.Drawing.Point(20, 279); - this.Label_EncryptionConstant.Name = "Label_EncryptionConstant"; - this.Label_EncryptionConstant.Size = new System.Drawing.Size(120, 13); - this.Label_EncryptionConstant.TabIndex = 1; - this.Label_EncryptionConstant.Text = "Encryption Constant:"; - this.Label_EncryptionConstant.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // // menuStrip1 // this.menuStrip1.BackColor = System.Drawing.Color.Transparent; @@ -3804,7 +180,7 @@ public void InitializeComponent() this.Menu_ShowdownExportBattleBox}); this.Menu_Showdown.Image = ((System.Drawing.Image)(resources.GetObject("Menu_Showdown.Image"))); this.Menu_Showdown.Name = "Menu_Showdown"; - this.Menu_Showdown.Size = new System.Drawing.Size(152, 22); + this.Menu_Showdown.Size = new System.Drawing.Size(133, 22); this.Menu_Showdown.Text = "Showdown"; // // Menu_ShowdownImportPKM @@ -3844,16 +220,6 @@ public void InitializeComponent() this.Menu_ShowdownExportBattleBox.Text = "Export Battle Box to Clipboard"; this.Menu_ShowdownExportBattleBox.Click += new System.EventHandler(this.clickShowdownExportBattleBox); // - // Menu_Folder - // - this.Menu_Folder.Image = global::PKHeX.WinForms.Properties.Resources.folder; - this.Menu_Folder.Name = "Menu_Folder"; - this.Menu_Folder.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); - this.Menu_Folder.ShowShortcutKeys = false; - this.Menu_Folder.Size = new System.Drawing.Size(152, 22); - this.Menu_Folder.Text = "Open Folder"; - this.Menu_Folder.Click += new System.EventHandler(this.Menu_Folder_Click); - // // Menu_Data // this.Menu_Data.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -3866,7 +232,7 @@ public void InitializeComponent() this.Menu_BatchEditor}); this.Menu_Data.Image = ((System.Drawing.Image)(resources.GetObject("Menu_Data.Image"))); this.Menu_Data.Name = "Menu_Data"; - this.Menu_Data.Size = new System.Drawing.Size(152, 22); + this.Menu_Data.Size = new System.Drawing.Size(133, 22); this.Menu_Data.Text = "Data"; // // Menu_LoadBoxes @@ -3931,7 +297,17 @@ public void InitializeComponent() this.Menu_BatchEditor.ShowShortcutKeys = false; this.Menu_BatchEditor.Size = new System.Drawing.Size(182, 22); this.Menu_BatchEditor.Text = "Batch Editor"; - this.Menu_BatchEditor.Click += new System.EventHandler(this.manMenuBatchEditor); + this.Menu_BatchEditor.Click += new System.EventHandler(this.mainMenuBatchEditor); + // + // Menu_Folder + // + this.Menu_Folder.Image = global::PKHeX.WinForms.Properties.Resources.folder; + this.Menu_Folder.Name = "Menu_Folder"; + this.Menu_Folder.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); + this.Menu_Folder.ShowShortcutKeys = false; + this.Menu_Folder.Size = new System.Drawing.Size(133, 22); + this.Menu_Folder.Text = "Open Folder"; + this.Menu_Folder.Click += new System.EventHandler(this.mainMenuFolder); // // Menu_Options // @@ -4050,1759 +426,9 @@ public void InitializeComponent() this.Menu_About.Text = "About &PKHeX"; this.Menu_About.Click += new System.EventHandler(this.mainMenuAbout); // - // tabBoxMulti - // - this.tabBoxMulti.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.tabBoxMulti.Controls.Add(this.Tab_Box); - this.tabBoxMulti.Controls.Add(this.Tab_PartyBattle); - this.tabBoxMulti.Controls.Add(this.Tab_Other); - this.tabBoxMulti.Controls.Add(this.Tab_SAV); - this.tabBoxMulti.Location = new System.Drawing.Point(300, 27); - this.tabBoxMulti.Name = "tabBoxMulti"; - this.tabBoxMulti.SelectedIndex = 0; - this.tabBoxMulti.Size = new System.Drawing.Size(310, 225); - this.tabBoxMulti.TabIndex = 50; - this.tabBoxMulti.Click += new System.EventHandler(this.clickBoxSort); - this.tabBoxMulti.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.clickBoxDouble); - // - // Tab_Box - // - this.Tab_Box.Controls.Add(this.PAN_Box); - this.Tab_Box.Controls.Add(this.B_BoxRight); - this.Tab_Box.Controls.Add(this.B_BoxLeft); - this.Tab_Box.Controls.Add(this.CB_BoxSelect); - this.Tab_Box.Location = new System.Drawing.Point(4, 22); - this.Tab_Box.Name = "Tab_Box"; - this.Tab_Box.Padding = new System.Windows.Forms.Padding(3); - this.Tab_Box.Size = new System.Drawing.Size(302, 199); - this.Tab_Box.TabIndex = 0; - this.Tab_Box.Text = "Box"; - this.Tab_Box.UseVisualStyleBackColor = true; - // - // PAN_Box - // - this.PAN_Box.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_Box.BackgroundImage"))); - this.PAN_Box.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.PAN_Box.Controls.Add(this.bpkx30); - this.PAN_Box.Controls.Add(this.bpkx29); - this.PAN_Box.Controls.Add(this.bpkx28); - this.PAN_Box.Controls.Add(this.bpkx27); - this.PAN_Box.Controls.Add(this.bpkx26); - this.PAN_Box.Controls.Add(this.bpkx25); - this.PAN_Box.Controls.Add(this.bpkx24); - this.PAN_Box.Controls.Add(this.bpkx23); - this.PAN_Box.Controls.Add(this.bpkx22); - this.PAN_Box.Controls.Add(this.bpkx21); - this.PAN_Box.Controls.Add(this.bpkx20); - this.PAN_Box.Controls.Add(this.bpkx19); - this.PAN_Box.Controls.Add(this.bpkx18); - this.PAN_Box.Controls.Add(this.bpkx17); - this.PAN_Box.Controls.Add(this.bpkx16); - this.PAN_Box.Controls.Add(this.bpkx15); - this.PAN_Box.Controls.Add(this.bpkx14); - this.PAN_Box.Controls.Add(this.bpkx13); - this.PAN_Box.Controls.Add(this.bpkx12); - this.PAN_Box.Controls.Add(this.bpkx11); - this.PAN_Box.Controls.Add(this.bpkx10); - this.PAN_Box.Controls.Add(this.bpkx9); - this.PAN_Box.Controls.Add(this.bpkx8); - this.PAN_Box.Controls.Add(this.bpkx7); - this.PAN_Box.Controls.Add(this.bpkx6); - this.PAN_Box.Controls.Add(this.bpkx5); - this.PAN_Box.Controls.Add(this.bpkx4); - this.PAN_Box.Controls.Add(this.bpkx3); - this.PAN_Box.Controls.Add(this.bpkx2); - this.PAN_Box.Controls.Add(this.bpkx1); - this.PAN_Box.Location = new System.Drawing.Point(26, 35); - this.PAN_Box.Name = "PAN_Box"; - this.PAN_Box.Size = new System.Drawing.Size(251, 160); - this.PAN_Box.TabIndex = 62; - // - // bpkx30 - // - this.bpkx30.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx30.ContextMenuStrip = this.mnuVSD; - this.bpkx30.Location = new System.Drawing.Point(207, 126); - this.bpkx30.Name = "bpkx30"; - this.bpkx30.Size = new System.Drawing.Size(42, 32); - this.bpkx30.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx30.TabIndex = 59; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx30.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx30.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx30.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // mnuVSD - // - this.mnuVSD.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mnuView, - this.mnuSet, - this.mnuDelete}); - this.mnuVSD.Name = "mnuVSD"; - this.mnuVSD.Size = new System.Drawing.Size(108, 70); - // - // mnuView - // - this.mnuView.Name = "mnuView"; - this.mnuView.Size = new System.Drawing.Size(107, 22); - this.mnuView.Text = "View"; - this.mnuView.Click += new System.EventHandler(this.clickView); - // - // mnuSet - // - this.mnuSet.Name = "mnuSet"; - this.mnuSet.Size = new System.Drawing.Size(107, 22); - this.mnuSet.Text = "Set"; - this.mnuSet.Click += new System.EventHandler(this.clickSet); - // - // mnuDelete - // - this.mnuDelete.Name = "mnuDelete"; - this.mnuDelete.Size = new System.Drawing.Size(107, 22); - this.mnuDelete.Text = "Delete"; - this.mnuDelete.Click += new System.EventHandler(this.clickDelete); - // - // bpkx29 - // - this.bpkx29.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx29.ContextMenuStrip = this.mnuVSD; - this.bpkx29.Location = new System.Drawing.Point(166, 126); - this.bpkx29.Name = "bpkx29"; - this.bpkx29.Size = new System.Drawing.Size(42, 32); - this.bpkx29.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx29.TabIndex = 58; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx29.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx29.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx29.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx28 - // - this.bpkx28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx28.ContextMenuStrip = this.mnuVSD; - this.bpkx28.Location = new System.Drawing.Point(125, 126); - this.bpkx28.Name = "bpkx28"; - this.bpkx28.Size = new System.Drawing.Size(42, 32); - this.bpkx28.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx28.TabIndex = 57; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx28.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx28.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx28.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx27 - // - this.bpkx27.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx27.ContextMenuStrip = this.mnuVSD; - this.bpkx27.Location = new System.Drawing.Point(84, 126); - this.bpkx27.Name = "bpkx27"; - this.bpkx27.Size = new System.Drawing.Size(42, 32); - this.bpkx27.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx27.TabIndex = 56; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx27.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx27.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx27.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx26 - // - this.bpkx26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx26.ContextMenuStrip = this.mnuVSD; - this.bpkx26.Location = new System.Drawing.Point(43, 126); - this.bpkx26.Name = "bpkx26"; - this.bpkx26.Size = new System.Drawing.Size(42, 32); - this.bpkx26.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx26.TabIndex = 55; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx26.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx26.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx26.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx25 - // - this.bpkx25.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx25.ContextMenuStrip = this.mnuVSD; - this.bpkx25.Location = new System.Drawing.Point(2, 126); - this.bpkx25.Name = "bpkx25"; - this.bpkx25.Size = new System.Drawing.Size(42, 32); - this.bpkx25.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx25.TabIndex = 54; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx25.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx25.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx25.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx24 - // - this.bpkx24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx24.ContextMenuStrip = this.mnuVSD; - this.bpkx24.Location = new System.Drawing.Point(207, 95); - this.bpkx24.Name = "bpkx24"; - this.bpkx24.Size = new System.Drawing.Size(42, 32); - this.bpkx24.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx24.TabIndex = 53; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx24.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx24.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx24.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx23 - // - this.bpkx23.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx23.ContextMenuStrip = this.mnuVSD; - this.bpkx23.Location = new System.Drawing.Point(166, 95); - this.bpkx23.Name = "bpkx23"; - this.bpkx23.Size = new System.Drawing.Size(42, 32); - this.bpkx23.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx23.TabIndex = 52; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx23.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx23.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx23.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx22 - // - this.bpkx22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx22.ContextMenuStrip = this.mnuVSD; - this.bpkx22.Location = new System.Drawing.Point(125, 95); - this.bpkx22.Name = "bpkx22"; - this.bpkx22.Size = new System.Drawing.Size(42, 32); - this.bpkx22.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx22.TabIndex = 51; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx22.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx22.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx22.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx21 - // - this.bpkx21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx21.ContextMenuStrip = this.mnuVSD; - this.bpkx21.Location = new System.Drawing.Point(84, 95); - this.bpkx21.Name = "bpkx21"; - this.bpkx21.Size = new System.Drawing.Size(42, 32); - this.bpkx21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx21.TabIndex = 50; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx21.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx21.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx21.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx20 - // - this.bpkx20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx20.ContextMenuStrip = this.mnuVSD; - this.bpkx20.Location = new System.Drawing.Point(43, 95); - this.bpkx20.Name = "bpkx20"; - this.bpkx20.Size = new System.Drawing.Size(42, 32); - this.bpkx20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx20.TabIndex = 49; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx20.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx20.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx20.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx19 - // - this.bpkx19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx19.ContextMenuStrip = this.mnuVSD; - this.bpkx19.Location = new System.Drawing.Point(2, 95); - this.bpkx19.Name = "bpkx19"; - this.bpkx19.Size = new System.Drawing.Size(42, 32); - this.bpkx19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx19.TabIndex = 48; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx19.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx19.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx19.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx18 - // - this.bpkx18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx18.ContextMenuStrip = this.mnuVSD; - this.bpkx18.Location = new System.Drawing.Point(207, 64); - this.bpkx18.Name = "bpkx18"; - this.bpkx18.Size = new System.Drawing.Size(42, 32); - this.bpkx18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx18.TabIndex = 47; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx18.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx18.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx18.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx17 - // - this.bpkx17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx17.ContextMenuStrip = this.mnuVSD; - this.bpkx17.Location = new System.Drawing.Point(166, 64); - this.bpkx17.Name = "bpkx17"; - this.bpkx17.Size = new System.Drawing.Size(42, 32); - this.bpkx17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx17.TabIndex = 46; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx17.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx17.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx17.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx16 - // - this.bpkx16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx16.ContextMenuStrip = this.mnuVSD; - this.bpkx16.Location = new System.Drawing.Point(125, 64); - this.bpkx16.Name = "bpkx16"; - this.bpkx16.Size = new System.Drawing.Size(42, 32); - this.bpkx16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx16.TabIndex = 45; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx16.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx16.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx16.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx15 - // - this.bpkx15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx15.ContextMenuStrip = this.mnuVSD; - this.bpkx15.Location = new System.Drawing.Point(84, 64); - this.bpkx15.Name = "bpkx15"; - this.bpkx15.Size = new System.Drawing.Size(42, 32); - this.bpkx15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx15.TabIndex = 44; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx15.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx15.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx15.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx14 - // - this.bpkx14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx14.ContextMenuStrip = this.mnuVSD; - this.bpkx14.Location = new System.Drawing.Point(43, 64); - this.bpkx14.Name = "bpkx14"; - this.bpkx14.Size = new System.Drawing.Size(42, 32); - this.bpkx14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx14.TabIndex = 43; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx14.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx14.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx14.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx13 - // - this.bpkx13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx13.ContextMenuStrip = this.mnuVSD; - this.bpkx13.Location = new System.Drawing.Point(2, 64); - this.bpkx13.Name = "bpkx13"; - this.bpkx13.Size = new System.Drawing.Size(42, 32); - this.bpkx13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx13.TabIndex = 42; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx13.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx13.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx13.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx12 - // - this.bpkx12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx12.ContextMenuStrip = this.mnuVSD; - this.bpkx12.Location = new System.Drawing.Point(207, 33); - this.bpkx12.Name = "bpkx12"; - this.bpkx12.Size = new System.Drawing.Size(42, 32); - this.bpkx12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx12.TabIndex = 41; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx12.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx12.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx12.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx11 - // - this.bpkx11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx11.ContextMenuStrip = this.mnuVSD; - this.bpkx11.Location = new System.Drawing.Point(166, 33); - this.bpkx11.Name = "bpkx11"; - this.bpkx11.Size = new System.Drawing.Size(42, 32); - this.bpkx11.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx11.TabIndex = 40; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx11.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx11.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx11.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx10 - // - this.bpkx10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx10.ContextMenuStrip = this.mnuVSD; - this.bpkx10.Location = new System.Drawing.Point(125, 33); - this.bpkx10.Name = "bpkx10"; - this.bpkx10.Size = new System.Drawing.Size(42, 32); - this.bpkx10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx10.TabIndex = 39; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx10.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx10.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx10.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx9 - // - this.bpkx9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx9.ContextMenuStrip = this.mnuVSD; - this.bpkx9.Location = new System.Drawing.Point(84, 33); - this.bpkx9.Name = "bpkx9"; - this.bpkx9.Size = new System.Drawing.Size(42, 32); - this.bpkx9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx9.TabIndex = 38; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx9.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx9.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx9.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx8 - // - this.bpkx8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx8.ContextMenuStrip = this.mnuVSD; - this.bpkx8.Location = new System.Drawing.Point(43, 33); - this.bpkx8.Name = "bpkx8"; - this.bpkx8.Size = new System.Drawing.Size(42, 32); - this.bpkx8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx8.TabIndex = 37; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx8.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx8.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx8.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx7 - // - this.bpkx7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx7.ContextMenuStrip = this.mnuVSD; - this.bpkx7.Location = new System.Drawing.Point(2, 33); - this.bpkx7.Name = "bpkx7"; - this.bpkx7.Size = new System.Drawing.Size(42, 32); - this.bpkx7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx7.TabIndex = 36; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx7.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx7.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx7.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx6 - // - this.bpkx6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx6.ContextMenuStrip = this.mnuVSD; - this.bpkx6.Location = new System.Drawing.Point(207, 2); - this.bpkx6.Name = "bpkx6"; - this.bpkx6.Size = new System.Drawing.Size(42, 32); - this.bpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx6.TabIndex = 35; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx6.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx5 - // - this.bpkx5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx5.ContextMenuStrip = this.mnuVSD; - this.bpkx5.Location = new System.Drawing.Point(166, 2); - this.bpkx5.Name = "bpkx5"; - this.bpkx5.Size = new System.Drawing.Size(42, 32); - this.bpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx5.TabIndex = 34; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx5.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx4 - // - this.bpkx4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx4.ContextMenuStrip = this.mnuVSD; - this.bpkx4.Location = new System.Drawing.Point(125, 2); - this.bpkx4.Name = "bpkx4"; - this.bpkx4.Size = new System.Drawing.Size(42, 32); - this.bpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx4.TabIndex = 33; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx4.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx3 - // - this.bpkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx3.ContextMenuStrip = this.mnuVSD; - this.bpkx3.Location = new System.Drawing.Point(84, 2); - this.bpkx3.Name = "bpkx3"; - this.bpkx3.Size = new System.Drawing.Size(42, 32); - this.bpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx3.TabIndex = 32; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx3.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx2 - // - this.bpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx2.ContextMenuStrip = this.mnuVSD; - this.bpkx2.Location = new System.Drawing.Point(43, 2); - this.bpkx2.Name = "bpkx2"; - this.bpkx2.Size = new System.Drawing.Size(42, 32); - this.bpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx2.TabIndex = 31; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx2.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bpkx1 - // - this.bpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx1.ContextMenuStrip = this.mnuVSD; - this.bpkx1.Location = new System.Drawing.Point(2, 2); - this.bpkx1.Name = "bpkx1"; - this.bpkx1.Size = new System.Drawing.Size(42, 32); - this.bpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx1.TabIndex = 30; - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bpkx1.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // B_BoxRight - // - this.B_BoxRight.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.B_BoxRight.Location = new System.Drawing.Point(219, 9); - this.B_BoxRight.Name = "B_BoxRight"; - this.B_BoxRight.Size = new System.Drawing.Size(27, 23); - this.B_BoxRight.TabIndex = 61; - this.B_BoxRight.Text = ">>"; - this.B_BoxRight.UseVisualStyleBackColor = true; - this.B_BoxRight.Click += new System.EventHandler(this.clickBoxRight); - // - // B_BoxLeft - // - this.B_BoxLeft.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.B_BoxLeft.Location = new System.Drawing.Point(57, 9); - this.B_BoxLeft.Name = "B_BoxLeft"; - this.B_BoxLeft.Size = new System.Drawing.Size(27, 23); - this.B_BoxLeft.TabIndex = 60; - this.B_BoxLeft.Text = "<<"; - this.B_BoxLeft.UseVisualStyleBackColor = true; - this.B_BoxLeft.Click += new System.EventHandler(this.clickBoxLeft); - // - // CB_BoxSelect - // - this.CB_BoxSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_BoxSelect.FormattingEnabled = true; - this.CB_BoxSelect.Items.AddRange(new object[] { - "Box 1", - "Box 2", - "Box 3", - "Box 4", - "Box 5", - "Box 6", - "Box 7", - "Box 8", - "Box 9", - "Box 10", - "Box 11", - "Box 12", - "Box 13", - "Box 14", - "Box 15", - "Box 16", - "Box 17", - "Box 18", - "Box 19", - "Box 20", - "Box 21", - "Box 22", - "Box 23", - "Box 24", - "Box 25", - "Box 26", - "Box 27", - "Box 28", - "Box 29", - "Box 30", - "Box 31"}); - this.CB_BoxSelect.Location = new System.Drawing.Point(88, 10); - this.CB_BoxSelect.Name = "CB_BoxSelect"; - this.CB_BoxSelect.Size = new System.Drawing.Size(127, 21); - this.CB_BoxSelect.TabIndex = 0; - this.CB_BoxSelect.SelectedIndexChanged += new System.EventHandler(this.getBox); - // - // Tab_PartyBattle - // - this.Tab_PartyBattle.Controls.Add(this.PAN_BattleBox); - this.Tab_PartyBattle.Controls.Add(this.L_ReadOnlyPBB); - this.Tab_PartyBattle.Controls.Add(this.L_BattleBox); - this.Tab_PartyBattle.Controls.Add(this.L_Party); - this.Tab_PartyBattle.Controls.Add(this.PAN_Party); - this.Tab_PartyBattle.Location = new System.Drawing.Point(4, 22); - this.Tab_PartyBattle.Name = "Tab_PartyBattle"; - this.Tab_PartyBattle.Padding = new System.Windows.Forms.Padding(3); - this.Tab_PartyBattle.Size = new System.Drawing.Size(302, 199); - this.Tab_PartyBattle.TabIndex = 1; - this.Tab_PartyBattle.Text = "Party-Battle Box"; - this.Tab_PartyBattle.UseVisualStyleBackColor = true; - // - // PAN_BattleBox - // - this.PAN_BattleBox.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_BattleBox.BackgroundImage"))); - this.PAN_BattleBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.PAN_BattleBox.Controls.Add(this.PB_Locked); - this.PAN_BattleBox.Controls.Add(this.bbpkx1); - this.PAN_BattleBox.Controls.Add(this.bbpkx2); - this.PAN_BattleBox.Controls.Add(this.bbpkx3); - this.PAN_BattleBox.Controls.Add(this.bbpkx4); - this.PAN_BattleBox.Controls.Add(this.bbpkx5); - this.PAN_BattleBox.Controls.Add(this.bbpkx6); - this.PAN_BattleBox.Location = new System.Drawing.Point(168, 28); - this.PAN_BattleBox.Name = "PAN_BattleBox"; - this.PAN_BattleBox.Size = new System.Drawing.Size(111, 160); - this.PAN_BattleBox.TabIndex = 17; - // - // PB_Locked - // - this.PB_Locked.Image = ((System.Drawing.Image)(resources.GetObject("PB_Locked.Image"))); - this.PB_Locked.Location = new System.Drawing.Point(76, 2); - this.PB_Locked.Name = "PB_Locked"; - this.PB_Locked.Size = new System.Drawing.Size(32, 32); - this.PB_Locked.TabIndex = 14; - this.PB_Locked.TabStop = false; - this.PB_Locked.Visible = false; - // - // bbpkx1 - // - this.bbpkx1.ContextMenuStrip = this.mnuV; - this.bbpkx1.Location = new System.Drawing.Point(11, 14); - this.bbpkx1.Name = "bbpkx1"; - this.bbpkx1.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx1.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // mnuV - // - this.mnuV.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mnu2View}); - this.mnuV.Name = "mnuV"; - this.mnuV.Size = new System.Drawing.Size(100, 26); - // - // mnu2View - // - this.mnu2View.Name = "mnu2View"; - this.mnu2View.Size = new System.Drawing.Size(99, 22); - this.mnu2View.Text = "View"; - this.mnu2View.Click += new System.EventHandler(this.clickView); - // - // bbpkx2 - // - this.bbpkx2.ContextMenuStrip = this.mnuV; - this.bbpkx2.Location = new System.Drawing.Point(60, 35); - this.bbpkx2.Name = "bbpkx2"; - this.bbpkx2.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx2.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bbpkx3 - // - this.bbpkx3.ContextMenuStrip = this.mnuV; - this.bbpkx3.Location = new System.Drawing.Point(11, 54); - this.bbpkx3.Name = "bbpkx3"; - this.bbpkx3.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx3.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bbpkx4 - // - this.bbpkx4.ContextMenuStrip = this.mnuV; - this.bbpkx4.Location = new System.Drawing.Point(60, 75); - this.bbpkx4.Name = "bbpkx4"; - this.bbpkx4.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx4.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bbpkx5 - // - this.bbpkx5.ContextMenuStrip = this.mnuV; - this.bbpkx5.Location = new System.Drawing.Point(11, 94); - this.bbpkx5.Name = "bbpkx5"; - this.bbpkx5.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx5.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // bbpkx6 - // - this.bbpkx6.ContextMenuStrip = this.mnuV; - this.bbpkx6.Location = new System.Drawing.Point(60, 115); - this.bbpkx6.Name = "bbpkx6"; - this.bbpkx6.Size = new System.Drawing.Size(40, 30); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.bbpkx6.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.bbpkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.bbpkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // L_ReadOnlyPBB - // - this.L_ReadOnlyPBB.ForeColor = System.Drawing.Color.Red; - this.L_ReadOnlyPBB.Location = new System.Drawing.Point(175, 186); - this.L_ReadOnlyPBB.Name = "L_ReadOnlyPBB"; - this.L_ReadOnlyPBB.Size = new System.Drawing.Size(100, 13); - this.L_ReadOnlyPBB.TabIndex = 15; - this.L_ReadOnlyPBB.Text = "This is read only."; - this.L_ReadOnlyPBB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // L_BattleBox - // - this.L_BattleBox.AutoSize = true; - this.L_BattleBox.Location = new System.Drawing.Point(179, 13); - this.L_BattleBox.Name = "L_BattleBox"; - this.L_BattleBox.Size = new System.Drawing.Size(58, 13); - this.L_BattleBox.TabIndex = 1; - this.L_BattleBox.Text = "Battle Box:"; - this.L_BattleBox.DoubleClick += new System.EventHandler(this.clickShowdownExportBattleBox); - // - // L_Party - // - this.L_Party.AutoSize = true; - this.L_Party.Location = new System.Drawing.Point(29, 13); - this.L_Party.Name = "L_Party"; - this.L_Party.Size = new System.Drawing.Size(34, 13); - this.L_Party.TabIndex = 0; - this.L_Party.Text = "Party:"; - this.L_Party.DoubleClick += new System.EventHandler(this.clickShowdownExportParty); - // - // PAN_Party - // - this.PAN_Party.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("PAN_Party.BackgroundImage"))); - this.PAN_Party.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.PAN_Party.Controls.Add(this.ppkx1); - this.PAN_Party.Controls.Add(this.ppkx2); - this.PAN_Party.Controls.Add(this.ppkx3); - this.PAN_Party.Controls.Add(this.ppkx4); - this.PAN_Party.Controls.Add(this.ppkx5); - this.PAN_Party.Controls.Add(this.ppkx6); - this.PAN_Party.Location = new System.Drawing.Point(24, 28); - this.PAN_Party.Name = "PAN_Party"; - this.PAN_Party.Size = new System.Drawing.Size(111, 160); - this.PAN_Party.TabIndex = 16; - // - // ppkx1 - // - this.ppkx1.ContextMenuStrip = this.mnuVSD; - this.ppkx1.Location = new System.Drawing.Point(11, 14); - this.ppkx1.Name = "ppkx1"; - this.ppkx1.Size = new System.Drawing.Size(40, 30); - this.ppkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx1.TabIndex = 2; - this.ppkx1.TabStop = false; - this.ppkx1.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx1.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx1.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // ppkx2 - // - this.ppkx2.ContextMenuStrip = this.mnuVSD; - this.ppkx2.Location = new System.Drawing.Point(60, 35); - this.ppkx2.Name = "ppkx2"; - this.ppkx2.Size = new System.Drawing.Size(40, 30); - this.ppkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx2.TabIndex = 3; - this.ppkx2.TabStop = false; - this.ppkx2.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx2.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx2.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // ppkx3 - // - this.ppkx3.ContextMenuStrip = this.mnuVSD; - this.ppkx3.Location = new System.Drawing.Point(11, 54); - this.ppkx3.Name = "ppkx3"; - this.ppkx3.Size = new System.Drawing.Size(40, 30); - this.ppkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx3.TabIndex = 4; - this.ppkx3.TabStop = false; - this.ppkx3.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx3.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx3.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx3.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx3.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // ppkx4 - // - this.ppkx4.ContextMenuStrip = this.mnuVSD; - this.ppkx4.Location = new System.Drawing.Point(60, 75); - this.ppkx4.Name = "ppkx4"; - this.ppkx4.Size = new System.Drawing.Size(40, 30); - this.ppkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx4.TabIndex = 5; - this.ppkx4.TabStop = false; - this.ppkx4.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx4.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx4.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx4.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx4.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // ppkx5 - // - this.ppkx5.ContextMenuStrip = this.mnuVSD; - this.ppkx5.Location = new System.Drawing.Point(11, 94); - this.ppkx5.Name = "ppkx5"; - this.ppkx5.Size = new System.Drawing.Size(40, 30); - this.ppkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx5.TabIndex = 6; - this.ppkx5.TabStop = false; - this.ppkx5.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx5.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx5.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx5.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx5.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // ppkx6 - // - this.ppkx6.ContextMenuStrip = this.mnuVSD; - this.ppkx6.Location = new System.Drawing.Point(60, 115); - this.ppkx6.Name = "ppkx6"; - this.ppkx6.Size = new System.Drawing.Size(40, 30); - this.ppkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.ppkx6.TabIndex = 7; - this.ppkx6.TabStop = false; - this.ppkx6.DragDrop += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragDrop); - this.ppkx6.DragEnter += new System.Windows.Forms.DragEventHandler(this.pbBoxSlot_DragEnter); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.ppkx6.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.ppkx6.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.ppkx6.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // Tab_Other - // - this.Tab_Other.Controls.Add(this.GB_Daycare); - this.Tab_Other.Controls.Add(this.GB_GTS); - this.Tab_Other.Controls.Add(this.GB_Fused); - this.Tab_Other.Controls.Add(this.L_ReadOnlyOther); - this.Tab_Other.Controls.Add(this.GB_SUBE); - this.Tab_Other.Location = new System.Drawing.Point(4, 22); - this.Tab_Other.Name = "Tab_Other"; - this.Tab_Other.Size = new System.Drawing.Size(302, 199); - this.Tab_Other.TabIndex = 2; - this.Tab_Other.Text = "Other"; - this.Tab_Other.UseVisualStyleBackColor = true; - // - // GB_Daycare - // - this.GB_Daycare.Controls.Add(this.L_XP2); - this.GB_Daycare.Controls.Add(this.L_XP1); - this.GB_Daycare.Controls.Add(this.TB_Daycare2XP); - this.GB_Daycare.Controls.Add(this.TB_Daycare1XP); - this.GB_Daycare.Controls.Add(this.L_DC2); - this.GB_Daycare.Controls.Add(this.L_DC1); - this.GB_Daycare.Controls.Add(this.L_DaycareSeed); - this.GB_Daycare.Controls.Add(this.TB_RNGSeed); - this.GB_Daycare.Controls.Add(this.dcpkx2); - this.GB_Daycare.Controls.Add(this.dcpkx1); - this.GB_Daycare.Controls.Add(this.DayCare_HasEgg); - this.GB_Daycare.Location = new System.Drawing.Point(16, 4); - this.GB_Daycare.Name = "GB_Daycare"; - this.GB_Daycare.Size = new System.Drawing.Size(205, 170); - this.GB_Daycare.TabIndex = 28; - this.GB_Daycare.TabStop = false; - this.GB_Daycare.Text = "Daycare"; - // - // L_XP2 - // - this.L_XP2.AutoSize = true; - this.L_XP2.Location = new System.Drawing.Point(74, 88); - this.L_XP2.Name = "L_XP2"; - this.L_XP2.Size = new System.Drawing.Size(30, 13); - this.L_XP2.TabIndex = 17; - this.L_XP2.Text = "+XP:"; - // - // L_XP1 - // - this.L_XP1.AutoSize = true; - this.L_XP1.Location = new System.Drawing.Point(74, 35); - this.L_XP1.Name = "L_XP1"; - this.L_XP1.Size = new System.Drawing.Size(30, 13); - this.L_XP1.TabIndex = 16; - this.L_XP1.Text = "+XP:"; - // - // TB_Daycare2XP - // - this.TB_Daycare2XP.Location = new System.Drawing.Point(108, 85); - this.TB_Daycare2XP.Name = "TB_Daycare2XP"; - this.TB_Daycare2XP.ReadOnly = true; - this.TB_Daycare2XP.Size = new System.Drawing.Size(73, 20); - this.TB_Daycare2XP.TabIndex = 15; - // - // TB_Daycare1XP - // - this.TB_Daycare1XP.Location = new System.Drawing.Point(108, 32); - this.TB_Daycare1XP.Name = "TB_Daycare1XP"; - this.TB_Daycare1XP.ReadOnly = true; - this.TB_Daycare1XP.Size = new System.Drawing.Size(73, 20); - this.TB_Daycare1XP.TabIndex = 14; - // - // L_DC2 - // - this.L_DC2.AutoSize = true; - this.L_DC2.Location = new System.Drawing.Point(74, 71); - this.L_DC2.Name = "L_DC2"; - this.L_DC2.Size = new System.Drawing.Size(19, 13); - this.L_DC2.TabIndex = 13; - this.L_DC2.Text = "2: "; - // - // L_DC1 - // - this.L_DC1.AutoSize = true; - this.L_DC1.Location = new System.Drawing.Point(74, 18); - this.L_DC1.Name = "L_DC1"; - this.L_DC1.Size = new System.Drawing.Size(19, 13); - this.L_DC1.TabIndex = 12; - this.L_DC1.Text = "1: "; - // - // L_DaycareSeed - // - this.L_DaycareSeed.AutoSize = true; - this.L_DaycareSeed.Location = new System.Drawing.Point(23, 143); - this.L_DaycareSeed.Name = "L_DaycareSeed"; - this.L_DaycareSeed.Size = new System.Drawing.Size(35, 13); - this.L_DaycareSeed.TabIndex = 9; - this.L_DaycareSeed.Text = "Seed:"; - // - // TB_RNGSeed - // - this.TB_RNGSeed.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_RNGSeed.Location = new System.Drawing.Point(61, 140); - this.TB_RNGSeed.MaxLength = 16; - this.TB_RNGSeed.Name = "TB_RNGSeed"; - this.TB_RNGSeed.Size = new System.Drawing.Size(120, 20); - this.TB_RNGSeed.TabIndex = 8; - this.TB_RNGSeed.Text = "0123456789ABCDEF"; - this.TB_RNGSeed.Validated += new System.EventHandler(this.updateStringSeed); - // - // dcpkx2 - // - this.dcpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.dcpkx2.ContextMenuStrip = this.mnuV; - this.dcpkx2.Location = new System.Drawing.Point(26, 71); - this.dcpkx2.Name = "dcpkx2"; - this.dcpkx2.Size = new System.Drawing.Size(42, 32); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.dcpkx2.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.dcpkx2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.dcpkx2.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // dcpkx1 - // - this.dcpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.dcpkx1.ContextMenuStrip = this.mnuV; - this.dcpkx1.Location = new System.Drawing.Point(26, 18); - this.dcpkx1.Name = "dcpkx1"; - this.dcpkx1.Size = new System.Drawing.Size(42, 32); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.dcpkx1.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.dcpkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.dcpkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // DayCare_HasEgg - // - this.DayCare_HasEgg.AutoSize = true; - this.DayCare_HasEgg.Enabled = false; - this.DayCare_HasEgg.Location = new System.Drawing.Point(61, 123); - this.DayCare_HasEgg.Name = "DayCare_HasEgg"; - this.DayCare_HasEgg.Size = new System.Drawing.Size(91, 17); - this.DayCare_HasEgg.TabIndex = 7; - this.DayCare_HasEgg.Text = "Egg Available"; - this.DayCare_HasEgg.UseVisualStyleBackColor = true; - // - // GB_GTS - // - this.GB_GTS.Controls.Add(this.gtspkx); - this.GB_GTS.Location = new System.Drawing.Point(227, 4); - this.GB_GTS.Name = "GB_GTS"; - this.GB_GTS.Size = new System.Drawing.Size(60, 60); - this.GB_GTS.TabIndex = 26; - this.GB_GTS.TabStop = false; - this.GB_GTS.Text = "GTS"; - // - // gtspkx - // - this.gtspkx.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.gtspkx.ContextMenuStrip = this.mnuV; - this.gtspkx.Location = new System.Drawing.Point(9, 18); - this.gtspkx.Name = "gtspkx"; - this.gtspkx.Size = new System.Drawing.Size(42, 32); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.gtspkx.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.gtspkx.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.gtspkx.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // GB_Fused - // - this.GB_Fused.Controls.Add(this.fusedpkx); - this.GB_Fused.Location = new System.Drawing.Point(227, 70); - this.GB_Fused.Name = "GB_Fused"; - this.GB_Fused.Size = new System.Drawing.Size(60, 60); - this.GB_Fused.TabIndex = 25; - this.GB_Fused.TabStop = false; - this.GB_Fused.Text = "Fused"; - // - // fusedpkx - // - this.fusedpkx.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.fusedpkx.ContextMenuStrip = this.mnuV; - this.fusedpkx.Location = new System.Drawing.Point(9, 18); - this.fusedpkx.Name = "fusedpkx"; - this.fusedpkx.Size = new System.Drawing.Size(42, 32); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.fusedpkx.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.fusedpkx.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.fusedpkx.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // L_ReadOnlyOther - // - this.L_ReadOnlyOther.ForeColor = System.Drawing.Color.Red; - this.L_ReadOnlyOther.Location = new System.Drawing.Point(32, 179); - this.L_ReadOnlyOther.Name = "L_ReadOnlyOther"; - this.L_ReadOnlyOther.Size = new System.Drawing.Size(170, 13); - this.L_ReadOnlyOther.TabIndex = 29; - this.L_ReadOnlyOther.Text = "This tab is read only."; - this.L_ReadOnlyOther.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // GB_SUBE - // - this.GB_SUBE.Controls.Add(this.subepkx1); - this.GB_SUBE.Controls.Add(this.subepkx2); - this.GB_SUBE.Controls.Add(this.subepkx3); - this.GB_SUBE.Location = new System.Drawing.Point(227, 136); - this.GB_SUBE.Name = "GB_SUBE"; - this.GB_SUBE.Size = new System.Drawing.Size(60, 60); - this.GB_SUBE.TabIndex = 27; - this.GB_SUBE.TabStop = false; - this.GB_SUBE.Text = "OldMan"; - // - // subepkx1 - // - this.subepkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.subepkx1.ContextMenuStrip = this.mnuV; - this.subepkx1.Location = new System.Drawing.Point(9, 18); - this.subepkx1.Name = "subepkx1"; - this.subepkx1.Size = new System.Drawing.Size(42, 32); - 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.MouseEnter += new System.EventHandler(this.pbBoxSlot_MouseEnter); - this.subepkx1.MouseLeave += new System.EventHandler(this.pbBoxSlot_MouseLeave); - this.subepkx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseMove); - this.subepkx1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbBoxSlot_MouseUp); - // - // subepkx2 - // - this.subepkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.subepkx2.ContextMenuStrip = this.mnuV; - this.subepkx2.Location = new System.Drawing.Point(62, 19); - this.subepkx2.Name = "subepkx2"; - this.subepkx2.Size = new System.Drawing.Size(42, 34); - this.subepkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.subepkx2.TabIndex = 19; - this.subepkx2.TabStop = false; - // - // subepkx3 - // - this.subepkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.subepkx3.ContextMenuStrip = this.mnuV; - this.subepkx3.Location = new System.Drawing.Point(109, 19); - this.subepkx3.Name = "subepkx3"; - this.subepkx3.Size = new System.Drawing.Size(42, 34); - this.subepkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.subepkx3.TabIndex = 20; - this.subepkx3.TabStop = false; - // - // Tab_SAV - // - this.Tab_SAV.Controls.Add(this.CB_SaveSlot); - this.Tab_SAV.Controls.Add(this.L_SaveSlot); - this.Tab_SAV.Controls.Add(this.L_Secure2); - this.Tab_SAV.Controls.Add(this.TB_Secure2); - this.Tab_SAV.Controls.Add(this.L_Secure1); - this.Tab_SAV.Controls.Add(this.TB_Secure1); - this.Tab_SAV.Controls.Add(this.B_JPEG); - this.Tab_SAV.Controls.Add(this.L_GameSync); - this.Tab_SAV.Controls.Add(this.TB_GameSync); - this.Tab_SAV.Controls.Add(this.B_SaveBoxBin); - this.Tab_SAV.Controls.Add(this.B_VerifyCHK); - this.Tab_SAV.Location = new System.Drawing.Point(4, 22); - this.Tab_SAV.Name = "Tab_SAV"; - this.Tab_SAV.Size = new System.Drawing.Size(302, 199); - this.Tab_SAV.TabIndex = 3; - this.Tab_SAV.Text = "SAV"; - this.Tab_SAV.UseVisualStyleBackColor = true; - // - // CB_SaveSlot - // - this.CB_SaveSlot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_SaveSlot.FormattingEnabled = true; - this.CB_SaveSlot.Location = new System.Drawing.Point(150, 148); - this.CB_SaveSlot.Name = "CB_SaveSlot"; - this.CB_SaveSlot.Size = new System.Drawing.Size(121, 21); - this.CB_SaveSlot.TabIndex = 20; - this.CB_SaveSlot.SelectedValueChanged += new System.EventHandler(this.updateSaveSlot); - // - // L_SaveSlot - // - this.L_SaveSlot.AutoSize = true; - this.L_SaveSlot.Location = new System.Drawing.Point(92, 151); - this.L_SaveSlot.Name = "L_SaveSlot"; - this.L_SaveSlot.Size = new System.Drawing.Size(56, 13); - this.L_SaveSlot.TabIndex = 19; - this.L_SaveSlot.Text = "Save Slot:"; - // - // L_Secure2 - // - this.L_Secure2.Location = new System.Drawing.Point(33, 113); - this.L_Secure2.Name = "L_Secure2"; - this.L_Secure2.Size = new System.Drawing.Size(115, 20); - this.L_Secure2.TabIndex = 18; - this.L_Secure2.Text = "Secure Value 2:"; - this.L_Secure2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // TB_Secure2 - // - this.TB_Secure2.Enabled = false; - this.TB_Secure2.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_Secure2.Location = new System.Drawing.Point(151, 113); - this.TB_Secure2.MaxLength = 16; - this.TB_Secure2.Name = "TB_Secure2"; - this.TB_Secure2.Size = new System.Drawing.Size(120, 20); - this.TB_Secure2.TabIndex = 17; - this.TB_Secure2.Text = "0000000000000000"; - this.TB_Secure2.Validated += new System.EventHandler(this.updateStringSeed); - // - // L_Secure1 - // - this.L_Secure1.Location = new System.Drawing.Point(33, 91); - this.L_Secure1.Name = "L_Secure1"; - this.L_Secure1.Size = new System.Drawing.Size(115, 20); - this.L_Secure1.TabIndex = 16; - this.L_Secure1.Text = "Secure Value 1:"; - this.L_Secure1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // TB_Secure1 - // - this.TB_Secure1.Enabled = false; - this.TB_Secure1.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_Secure1.Location = new System.Drawing.Point(151, 91); - this.TB_Secure1.MaxLength = 16; - this.TB_Secure1.Name = "TB_Secure1"; - this.TB_Secure1.Size = new System.Drawing.Size(120, 20); - this.TB_Secure1.TabIndex = 15; - this.TB_Secure1.Text = "0000000000000000"; - this.TB_Secure1.Validated += new System.EventHandler(this.updateStringSeed); - // - // B_JPEG - // - this.B_JPEG.Location = new System.Drawing.Point(198, 20); - this.B_JPEG.Name = "B_JPEG"; - this.B_JPEG.Size = new System.Drawing.Size(75, 45); - this.B_JPEG.TabIndex = 12; - this.B_JPEG.Text = "Save PGL .JPEG"; - this.B_JPEG.UseVisualStyleBackColor = true; - this.B_JPEG.Click += new System.EventHandler(this.B_JPEG_Click); - // - // L_GameSync - // - this.L_GameSync.Location = new System.Drawing.Point(33, 69); - this.L_GameSync.Name = "L_GameSync"; - this.L_GameSync.Size = new System.Drawing.Size(115, 20); - this.L_GameSync.TabIndex = 11; - this.L_GameSync.Text = "Game Sync ID:"; - this.L_GameSync.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - // - // TB_GameSync - // - this.TB_GameSync.Enabled = false; - this.TB_GameSync.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TB_GameSync.Location = new System.Drawing.Point(151, 69); - this.TB_GameSync.MaxLength = 16; - this.TB_GameSync.Name = "TB_GameSync"; - this.TB_GameSync.Size = new System.Drawing.Size(120, 20); - this.TB_GameSync.TabIndex = 10; - this.TB_GameSync.Text = "0000000000000000"; - this.TB_GameSync.Validated += new System.EventHandler(this.updateStringSeed); - // - // B_SaveBoxBin - // - this.B_SaveBoxBin.Location = new System.Drawing.Point(116, 20); - this.B_SaveBoxBin.Name = "B_SaveBoxBin"; - this.B_SaveBoxBin.Size = new System.Drawing.Size(75, 45); - this.B_SaveBoxBin.TabIndex = 8; - this.B_SaveBoxBin.Text = "Save Box Data++"; - this.B_SaveBoxBin.UseVisualStyleBackColor = true; - this.B_SaveBoxBin.Click += new System.EventHandler(this.B_SaveBoxBin_Click); - // - // B_VerifyCHK - // - this.B_VerifyCHK.Enabled = false; - this.B_VerifyCHK.Location = new System.Drawing.Point(32, 20); - this.B_VerifyCHK.Name = "B_VerifyCHK"; - this.B_VerifyCHK.Size = new System.Drawing.Size(75, 45); - this.B_VerifyCHK.TabIndex = 2; - this.B_VerifyCHK.Text = "Verify Checksums"; - this.B_VerifyCHK.UseVisualStyleBackColor = true; - this.B_VerifyCHK.Click += new System.EventHandler(this.clickVerifyCHK); - // - // GB_SAVtools - // - this.GB_SAVtools.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Right))); - this.GB_SAVtools.Controls.Add(this.FLP_SAVtools); - this.GB_SAVtools.Location = new System.Drawing.Point(300, 252); - this.GB_SAVtools.Name = "GB_SAVtools"; - this.GB_SAVtools.Size = new System.Drawing.Size(308, 100); - this.GB_SAVtools.TabIndex = 100; - this.GB_SAVtools.TabStop = false; - // - // FLP_SAVtools - // - this.FLP_SAVtools.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_SAVtools.AutoScroll = true; - this.FLP_SAVtools.Controls.Add(this.B_OpenTrainerInfo); - this.FLP_SAVtools.Controls.Add(this.B_OpenItemPouch); - this.FLP_SAVtools.Controls.Add(this.B_OpenBoxLayout); - this.FLP_SAVtools.Controls.Add(this.B_OpenWondercards); - this.FLP_SAVtools.Controls.Add(this.B_OpenOPowers); - this.FLP_SAVtools.Controls.Add(this.B_OpenEventFlags); - this.FLP_SAVtools.Controls.Add(this.B_OpenPokedex); - this.FLP_SAVtools.Controls.Add(this.B_OpenLinkInfo); - this.FLP_SAVtools.Controls.Add(this.B_OpenBerryField); - this.FLP_SAVtools.Controls.Add(this.B_OpenPokeblocks); - this.FLP_SAVtools.Controls.Add(this.B_OpenSecretBase); - this.FLP_SAVtools.Controls.Add(this.B_OpenPokepuffs); - this.FLP_SAVtools.Controls.Add(this.B_OpenSuperTraining); - this.FLP_SAVtools.Controls.Add(this.B_OpenHallofFame); - this.FLP_SAVtools.Controls.Add(this.B_OUTPasserby); - this.FLP_SAVtools.Controls.Add(this.B_CGearSkin); - this.FLP_SAVtools.Controls.Add(this.B_OpenPokeBeans); - this.FLP_SAVtools.Controls.Add(this.B_OpenZygardeCells); - this.FLP_SAVtools.Controls.Add(this.B_OpenMiscEditor); - this.FLP_SAVtools.Controls.Add(this.B_OpenHoneyTreeEditor); - this.FLP_SAVtools.Controls.Add(this.B_OpenFriendSafari); - this.FLP_SAVtools.Controls.Add(this.B_OpenRTCEditor); - 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); - this.FLP_SAVtools.TabIndex = 101; - // - // B_OpenTrainerInfo - // - this.B_OpenTrainerInfo.Location = new System.Drawing.Point(3, 3); - this.B_OpenTrainerInfo.Name = "B_OpenTrainerInfo"; - this.B_OpenTrainerInfo.Size = new System.Drawing.Size(87, 23); - this.B_OpenTrainerInfo.TabIndex = 3; - this.B_OpenTrainerInfo.Text = "Trainer Info"; - this.B_OpenTrainerInfo.UseVisualStyleBackColor = true; - this.B_OpenTrainerInfo.Click += new System.EventHandler(this.B_OpenTrainerInfo_Click); - // - // B_OpenItemPouch - // - this.B_OpenItemPouch.Location = new System.Drawing.Point(96, 3); - this.B_OpenItemPouch.Name = "B_OpenItemPouch"; - this.B_OpenItemPouch.Size = new System.Drawing.Size(87, 23); - this.B_OpenItemPouch.TabIndex = 2; - this.B_OpenItemPouch.Text = "Items"; - this.B_OpenItemPouch.UseVisualStyleBackColor = true; - this.B_OpenItemPouch.Click += new System.EventHandler(this.B_OpenItemPouch_Click); - // - // B_OpenBoxLayout - // - this.B_OpenBoxLayout.Location = new System.Drawing.Point(189, 3); - this.B_OpenBoxLayout.Name = "B_OpenBoxLayout"; - this.B_OpenBoxLayout.Size = new System.Drawing.Size(87, 23); - this.B_OpenBoxLayout.TabIndex = 5; - this.B_OpenBoxLayout.Text = "Box Layout"; - this.B_OpenBoxLayout.UseVisualStyleBackColor = true; - this.B_OpenBoxLayout.Click += new System.EventHandler(this.B_OpenBoxLayout_Click); - // - // B_OpenWondercards - // - this.B_OpenWondercards.Location = new System.Drawing.Point(3, 32); - this.B_OpenWondercards.Name = "B_OpenWondercards"; - this.B_OpenWondercards.Size = new System.Drawing.Size(87, 23); - this.B_OpenWondercards.TabIndex = 6; - this.B_OpenWondercards.Text = "Wondercard"; - this.B_OpenWondercards.UseVisualStyleBackColor = true; - this.B_OpenWondercards.Click += new System.EventHandler(this.B_OpenWondercards_Click); - // - // B_OpenOPowers - // - this.B_OpenOPowers.Location = new System.Drawing.Point(96, 32); - this.B_OpenOPowers.Name = "B_OpenOPowers"; - this.B_OpenOPowers.Size = new System.Drawing.Size(87, 23); - this.B_OpenOPowers.TabIndex = 9; - this.B_OpenOPowers.Text = "O-Powers"; - this.B_OpenOPowers.UseVisualStyleBackColor = true; - this.B_OpenOPowers.Click += new System.EventHandler(this.B_OpenOPowers_Click); - // - // B_OpenEventFlags - // - this.B_OpenEventFlags.Location = new System.Drawing.Point(189, 32); - this.B_OpenEventFlags.Name = "B_OpenEventFlags"; - this.B_OpenEventFlags.Size = new System.Drawing.Size(87, 23); - this.B_OpenEventFlags.TabIndex = 10; - this.B_OpenEventFlags.Text = "Event Flags"; - this.B_OpenEventFlags.UseVisualStyleBackColor = true; - this.B_OpenEventFlags.Click += new System.EventHandler(this.B_OpenEventFlags_Click); - // - // B_OpenPokedex - // - this.B_OpenPokedex.Location = new System.Drawing.Point(3, 61); - this.B_OpenPokedex.Name = "B_OpenPokedex"; - this.B_OpenPokedex.Size = new System.Drawing.Size(87, 23); - this.B_OpenPokedex.TabIndex = 11; - this.B_OpenPokedex.Text = "Pokédex"; - this.B_OpenPokedex.UseVisualStyleBackColor = true; - this.B_OpenPokedex.Click += new System.EventHandler(this.B_OpenPokedex_Click); - // - // B_OpenLinkInfo - // - this.B_OpenLinkInfo.Location = new System.Drawing.Point(96, 61); - this.B_OpenLinkInfo.Name = "B_OpenLinkInfo"; - this.B_OpenLinkInfo.Size = new System.Drawing.Size(87, 23); - this.B_OpenLinkInfo.TabIndex = 23; - this.B_OpenLinkInfo.Text = "Link Data"; - this.B_OpenLinkInfo.UseVisualStyleBackColor = true; - this.B_OpenLinkInfo.Click += new System.EventHandler(this.B_LinkInfo_Click); - // - // B_OpenBerryField - // - this.B_OpenBerryField.Location = new System.Drawing.Point(189, 61); - this.B_OpenBerryField.Name = "B_OpenBerryField"; - this.B_OpenBerryField.Size = new System.Drawing.Size(87, 23); - this.B_OpenBerryField.TabIndex = 12; - this.B_OpenBerryField.Text = "Berry Field"; - this.B_OpenBerryField.UseVisualStyleBackColor = true; - this.B_OpenBerryField.Click += new System.EventHandler(this.B_OpenBerryField_Click); - // - // B_OpenPokeblocks - // - this.B_OpenPokeblocks.Location = new System.Drawing.Point(3, 90); - this.B_OpenPokeblocks.Name = "B_OpenPokeblocks"; - this.B_OpenPokeblocks.Size = new System.Drawing.Size(87, 23); - this.B_OpenPokeblocks.TabIndex = 22; - this.B_OpenPokeblocks.Text = "Pokéblocks"; - this.B_OpenPokeblocks.UseVisualStyleBackColor = true; - this.B_OpenPokeblocks.Visible = false; - this.B_OpenPokeblocks.Click += new System.EventHandler(this.B_OpenPokeblocks_Click); - // - // B_OpenSecretBase - // - this.B_OpenSecretBase.Location = new System.Drawing.Point(96, 90); - this.B_OpenSecretBase.Name = "B_OpenSecretBase"; - this.B_OpenSecretBase.Size = new System.Drawing.Size(87, 23); - this.B_OpenSecretBase.TabIndex = 21; - this.B_OpenSecretBase.Text = "Secret Base"; - this.B_OpenSecretBase.UseVisualStyleBackColor = true; - this.B_OpenSecretBase.Visible = false; - this.B_OpenSecretBase.Click += new System.EventHandler(this.B_OpenSecretBase_Click); - // - // B_OpenPokepuffs - // - this.B_OpenPokepuffs.Location = new System.Drawing.Point(189, 90); - this.B_OpenPokepuffs.Name = "B_OpenPokepuffs"; - this.B_OpenPokepuffs.Size = new System.Drawing.Size(87, 23); - this.B_OpenPokepuffs.TabIndex = 1; - this.B_OpenPokepuffs.Text = "‎Poké Puffs"; - this.B_OpenPokepuffs.UseVisualStyleBackColor = true; - this.B_OpenPokepuffs.Click += new System.EventHandler(this.B_OpenPokepuffs_Click); - // - // B_OpenSuperTraining - // - this.B_OpenSuperTraining.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.B_OpenSuperTraining.Location = new System.Drawing.Point(3, 119); - this.B_OpenSuperTraining.Name = "B_OpenSuperTraining"; - this.B_OpenSuperTraining.Size = new System.Drawing.Size(87, 23); - this.B_OpenSuperTraining.TabIndex = 7; - this.B_OpenSuperTraining.Text = "Super Train"; - this.B_OpenSuperTraining.UseVisualStyleBackColor = true; - this.B_OpenSuperTraining.Click += new System.EventHandler(this.B_OpenSuperTraining_Click); - // - // B_OpenHallofFame - // - this.B_OpenHallofFame.Location = new System.Drawing.Point(96, 119); - this.B_OpenHallofFame.Name = "B_OpenHallofFame"; - this.B_OpenHallofFame.Size = new System.Drawing.Size(87, 23); - this.B_OpenHallofFame.TabIndex = 8; - this.B_OpenHallofFame.Text = "Hall of Fame"; - this.B_OpenHallofFame.UseVisualStyleBackColor = true; - this.B_OpenHallofFame.Click += new System.EventHandler(this.B_OUTHallofFame_Click); - // - // B_OUTPasserby - // - this.B_OUTPasserby.Location = new System.Drawing.Point(189, 119); - this.B_OUTPasserby.Name = "B_OUTPasserby"; - this.B_OUTPasserby.Size = new System.Drawing.Size(87, 23); - this.B_OUTPasserby.TabIndex = 4; - this.B_OUTPasserby.Text = "Passerby"; - this.B_OUTPasserby.UseVisualStyleBackColor = true; - this.B_OUTPasserby.Click += new System.EventHandler(this.B_OUTPasserby_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); - // - // B_OpenPokeBeans - // - this.B_OpenPokeBeans.Location = new System.Drawing.Point(96, 148); - this.B_OpenPokeBeans.Name = "B_OpenPokeBeans"; - this.B_OpenPokeBeans.Size = new System.Drawing.Size(87, 23); - this.B_OpenPokeBeans.TabIndex = 25; - this.B_OpenPokeBeans.Text = "‎Poké Beans"; - this.B_OpenPokeBeans.UseVisualStyleBackColor = true; - this.B_OpenPokeBeans.Click += new System.EventHandler(this.B_OpenPokeBeans_Click); - // - // B_OpenZygardeCells - // - this.B_OpenZygardeCells.Location = new System.Drawing.Point(189, 148); - this.B_OpenZygardeCells.Name = "B_OpenZygardeCells"; - this.B_OpenZygardeCells.Size = new System.Drawing.Size(87, 23); - this.B_OpenZygardeCells.TabIndex = 26; - this.B_OpenZygardeCells.Text = "Zygarde Cells"; - this.B_OpenZygardeCells.UseVisualStyleBackColor = true; - this.B_OpenZygardeCells.Click += new System.EventHandler(this.B_OpenZygardeCells_Click); - // - // B_OpenMiscEditor - // - this.B_OpenMiscEditor.Location = new System.Drawing.Point(3, 177); - this.B_OpenMiscEditor.Name = "B_OpenMiscEditor"; - this.B_OpenMiscEditor.Size = new System.Drawing.Size(87, 23); - this.B_OpenMiscEditor.TabIndex = 27; - this.B_OpenMiscEditor.Text = "Misc Edits"; - this.B_OpenMiscEditor.UseVisualStyleBackColor = true; - this.B_OpenMiscEditor.Click += new System.EventHandler(this.B_OpenMiscEditor_Click); - // - // B_OpenHoneyTreeEditor - // - this.B_OpenHoneyTreeEditor.Location = new System.Drawing.Point(96, 177); - this.B_OpenHoneyTreeEditor.Name = "B_OpenHoneyTreeEditor"; - this.B_OpenHoneyTreeEditor.Size = new System.Drawing.Size(87, 23); - this.B_OpenHoneyTreeEditor.TabIndex = 28; - this.B_OpenHoneyTreeEditor.Text = "Honey Tree"; - this.B_OpenHoneyTreeEditor.UseVisualStyleBackColor = true; - this.B_OpenHoneyTreeEditor.Click += new System.EventHandler(this.B_OpenHoneyTreeEditor_Click); - // - // B_OpenFriendSafari - // - this.B_OpenFriendSafari.Location = new System.Drawing.Point(189, 177); - this.B_OpenFriendSafari.Name = "B_OpenFriendSafari"; - this.B_OpenFriendSafari.Size = new System.Drawing.Size(87, 23); - this.B_OpenFriendSafari.TabIndex = 28; - this.B_OpenFriendSafari.Text = "Friend Safari"; - this.B_OpenFriendSafari.UseVisualStyleBackColor = true; - this.B_OpenFriendSafari.Click += new System.EventHandler(this.B_OpenFriendSafari_Click); - // - // B_OpenRTCEditor - // - this.B_OpenRTCEditor.Location = new System.Drawing.Point(3, 206); - this.B_OpenRTCEditor.Name = "B_OpenRTCEditor"; - this.B_OpenRTCEditor.Size = new System.Drawing.Size(87, 23); - this.B_OpenRTCEditor.TabIndex = 29; - this.B_OpenRTCEditor.Text = "Clock (RTC)"; - this.B_OpenRTCEditor.UseVisualStyleBackColor = true; - this.B_OpenRTCEditor.Click += new System.EventHandler(this.B_OpenRTCEditor_Click); - // // dragout // this.dragout.BackColor = System.Drawing.Color.Transparent; - this.dragout.ContextMenuStrip = this.mnuL; this.dragout.Location = new System.Drawing.Point(248, 0); this.dragout.Name = "dragout"; this.dragout.Size = new System.Drawing.Size(40, 30); @@ -5815,36 +441,6 @@ public void InitializeComponent() this.dragout.MouseEnter += new System.EventHandler(this.dragoutEnter); this.dragout.MouseLeave += new System.EventHandler(this.dragoutLeave); // - // mnuL - // - this.mnuL.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.mnuLLegality, - this.mnuLQR, - this.mnuLSave}); - this.mnuL.Name = "mnuL"; - this.mnuL.Size = new System.Drawing.Size(122, 70); - // - // mnuLLegality - // - this.mnuLLegality.Name = "mnuLLegality"; - this.mnuLLegality.Size = new System.Drawing.Size(121, 22); - this.mnuLLegality.Text = "Legality"; - this.mnuLLegality.Click += new System.EventHandler(this.clickLegality); - // - // mnuLQR - // - this.mnuLQR.Name = "mnuLQR"; - this.mnuLQR.Size = new System.Drawing.Size(121, 22); - this.mnuLQR.Text = "QR!"; - this.mnuLQR.Click += new System.EventHandler(this.clickQR); - // - // mnuLSave - // - this.mnuLSave.Name = "mnuLSave"; - this.mnuLSave.Size = new System.Drawing.Size(121, 22); - this.mnuLSave.Text = "Save as..."; - this.mnuLSave.Click += new System.EventHandler(this.mainMenuSave); - // // PB_Legal // this.PB_Legal.Image = ((System.Drawing.Image)(resources.GetObject("PB_Legal.Image"))); @@ -5867,19 +463,44 @@ public void InitializeComponent() this.L_UpdateAvailable.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.L_UpdateAvailable.Visible = false; // + // PKME_Tabs + // + this.PKME_Tabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.PKME_Tabs.Location = new System.Drawing.Point(8, 27); + this.PKME_Tabs.Name = "PKME_Tabs"; + this.PKME_Tabs.Size = new System.Drawing.Size(280, 325); + this.PKME_Tabs.TabIndex = 103; + this.PKME_Tabs.LegalityChanged += new System.EventHandler(this.PKME_Tabs_LegalityChanged); + this.PKME_Tabs.UpdatePreviewSprite += new System.EventHandler(this.PKME_Tabs_UpdatePreviewSprite); + this.PKME_Tabs.RequestShowdownImport += new System.EventHandler(this.PKME_Tabs_RequestShowdownImport); + this.PKME_Tabs.RequestShowdownExport += new System.EventHandler(this.PKME_Tabs_RequestShowdownExport); + this.PKME_Tabs.SaveFileRequested += new PKHeX.WinForms.Controls.PKMEditor.ReturnSAVEventHandler(this.PKME_Tabs_SaveFileRequested); + // + // C_SAV + // + this.C_SAV.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Right))); + this.C_SAV.Location = new System.Drawing.Point(292, 26); + this.C_SAV.Name = "C_SAV"; + this.C_SAV.Size = new System.Drawing.Size(310, 326); + this.C_SAV.TabIndex = 104; + this.C_SAV.RequestReloadSave += new System.EventHandler(this.clickSaveFileName); + this.C_SAV.RequestCloneData += new System.EventHandler(this.clickClone); + // // Main // this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(614, 361); + this.Controls.Add(this.C_SAV); this.Controls.Add(this.L_UpdateAvailable); this.Controls.Add(this.PB_Legal); this.Controls.Add(this.dragout); - this.Controls.Add(this.tabBoxMulti); - this.Controls.Add(this.tabMain); this.Controls.Add(this.menuStrip1); - this.Controls.Add(this.GB_SAVtools); + this.Controls.Add(this.PKME_Tabs); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; @@ -5890,212 +511,9 @@ public void InitializeComponent() this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Main_FormClosing); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.tabMain_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.tabMain_DragEnter); - this.tabMain.ResumeLayout(false); - this.Tab_Main.ResumeLayout(false); - this.FLP_Main.ResumeLayout(false); - this.FLP_PID.ResumeLayout(false); - this.FLP_PIDLeft.ResumeLayout(false); - this.FLP_PIDLeft.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.Label_IsShiny)).EndInit(); - this.FLP_PIDRight.ResumeLayout(false); - this.FLP_PIDRight.PerformLayout(); - this.FLP_Species.ResumeLayout(false); - this.FLP_Nickname.ResumeLayout(false); - this.FLP_Nickname.PerformLayout(); - this.FLP_NicknameLeft.ResumeLayout(false); - this.FLP_NicknameLeft.PerformLayout(); - this.FLP_EXPLevel.ResumeLayout(false); - this.FLP_EXPLevelRight.ResumeLayout(false); - this.FLP_EXPLevelRight.PerformLayout(); - this.FLP_Nature.ResumeLayout(false); - this.FLP_HeldItem.ResumeLayout(false); - this.FLP_FriendshipForm.ResumeLayout(false); - this.FLP_FriendshipFormLeft.ResumeLayout(false); - this.FLP_FriendshipFormRight.ResumeLayout(false); - this.FLP_FriendshipFormRight.PerformLayout(); - this.FLP_Ability.ResumeLayout(false); - this.FLP_AbilityRight.ResumeLayout(false); - this.FLP_AbilityRight.PerformLayout(); - this.FLP_Language.ResumeLayout(false); - this.FLP_EggPKRS.ResumeLayout(false); - this.FLP_EggPKRSLeft.ResumeLayout(false); - this.FLP_EggPKRSLeft.PerformLayout(); - this.FLP_EggPKRSRight.ResumeLayout(false); - this.FLP_EggPKRSRight.PerformLayout(); - this.FLP_PKRS.ResumeLayout(false); - this.FLP_PKRSRight.ResumeLayout(false); - this.FLP_Country.ResumeLayout(false); - this.FLP_SubRegion.ResumeLayout(false); - this.FLP_3DSRegion.ResumeLayout(false); - this.FLP_NSparkle.ResumeLayout(false); - this.FLP_NSparkle.PerformLayout(); - this.FLP_ShadowID.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.NUD_ShadowID)).EndInit(); - this.FLP_Purification.ResumeLayout(false); - this.FLP_Purification.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.NUD_Purification)).EndInit(); - this.Tab_Met.ResumeLayout(false); - this.Tab_Met.PerformLayout(); - this.GB_EggConditions.ResumeLayout(false); - this.FLP_Met.ResumeLayout(false); - this.FLP_OriginGame.ResumeLayout(false); - this.FLP_MetLocation.ResumeLayout(false); - this.FLP_Ball.ResumeLayout(false); - this.FLP_BallLeft.ResumeLayout(false); - this.FLP_BallLeft.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Ball)).EndInit(); - this.FLP_MetLevel.ResumeLayout(false); - this.FLP_MetLevel.PerformLayout(); - this.FLP_MetDate.ResumeLayout(false); - this.FLP_Fateful.ResumeLayout(false); - this.FLP_Fateful.PerformLayout(); - this.FLP_EncounterType.ResumeLayout(false); - this.FLP_TimeOfDay.ResumeLayout(false); - this.Tab_Stats.ResumeLayout(false); - this.PAN_Contest.ResumeLayout(false); - this.PAN_Contest.PerformLayout(); - this.FLP_Stats.ResumeLayout(false); - this.FLP_StatHeader.ResumeLayout(false); - this.FLP_HackedStats.ResumeLayout(false); - this.FLP_HackedStats.PerformLayout(); - this.FLP_StatsHeaderRight.ResumeLayout(false); - this.FLP_HP.ResumeLayout(false); - this.FLP_HPRight.ResumeLayout(false); - this.FLP_HPRight.PerformLayout(); - this.FLP_Atk.ResumeLayout(false); - this.FLP_AtkRight.ResumeLayout(false); - this.FLP_AtkRight.PerformLayout(); - this.FLP_Def.ResumeLayout(false); - this.FLP_DefRight.ResumeLayout(false); - this.FLP_DefRight.PerformLayout(); - this.FLP_SpA.ResumeLayout(false); - this.FLP_SpALeft.ResumeLayout(false); - this.FLP_SpARight.ResumeLayout(false); - this.FLP_SpARight.PerformLayout(); - this.FLP_SpD.ResumeLayout(false); - this.FLP_SpDRight.ResumeLayout(false); - this.FLP_SpDRight.PerformLayout(); - this.FLP_Spe.ResumeLayout(false); - this.FLP_SpeRight.ResumeLayout(false); - this.FLP_SpeRight.PerformLayout(); - this.FLP_StatsTotal.ResumeLayout(false); - this.FLP_StatsTotalRight.ResumeLayout(false); - this.FLP_StatsTotalRight.PerformLayout(); - this.FLP_HPType.ResumeLayout(false); - this.FLP_Characteristic.ResumeLayout(false); - this.Tab_Attacks.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnMove1)).EndInit(); - this.GB_RelearnMoves.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_WarnRelearn1)).EndInit(); - this.GB_CurrentMoves.ResumeLayout(false); - this.GB_CurrentMoves.PerformLayout(); - this.Tab_OTMisc.ResumeLayout(false); - this.Tab_OTMisc.PerformLayout(); - this.FLP_PKMEditors.ResumeLayout(false); - this.FLP_PKMEditors.PerformLayout(); - this.GB_nOT.ResumeLayout(false); - this.GB_nOT.PerformLayout(); - this.GB_Markings.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkHorohoro)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkVC)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkAlola)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark6)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkPentagon)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkCured)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_MarkShiny)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Mark4)).EndInit(); - this.GB_ExtraBytes.ResumeLayout(false); - this.GB_ExtraBytes.PerformLayout(); - this.GB_OT.ResumeLayout(false); - this.GB_OT.PerformLayout(); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); - this.tabBoxMulti.ResumeLayout(false); - this.Tab_Box.ResumeLayout(false); - this.PAN_Box.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).EndInit(); - this.mnuVSD.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).EndInit(); - this.Tab_PartyBattle.ResumeLayout(false); - this.Tab_PartyBattle.PerformLayout(); - this.PAN_BattleBox.ResumeLayout(false); - this.PAN_BattleBox.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.PB_Locked)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx1)).EndInit(); - this.mnuV.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bbpkx6)).EndInit(); - this.PAN_Party.ResumeLayout(false); - this.PAN_Party.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ppkx6)).EndInit(); - this.Tab_Other.ResumeLayout(false); - this.GB_Daycare.ResumeLayout(false); - this.GB_Daycare.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dcpkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dcpkx1)).EndInit(); - this.GB_GTS.ResumeLayout(false); - this.GB_GTS.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gtspkx)).EndInit(); - this.GB_Fused.ResumeLayout(false); - this.GB_Fused.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.fusedpkx)).EndInit(); - this.GB_SUBE.ResumeLayout(false); - this.GB_SUBE.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.subepkx3)).EndInit(); - this.Tab_SAV.ResumeLayout(false); - this.Tab_SAV.PerformLayout(); - this.GB_SAVtools.ResumeLayout(false); - this.FLP_SAVtools.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dragout)).EndInit(); - this.mnuL.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.PB_Legal)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -6103,268 +521,27 @@ public void InitializeComponent() } #endregion + public Controls.PKMEditor PKME_Tabs; + private Controls.SAVEditor C_SAV; + private System.Windows.Forms.LinkLabel L_UpdateAvailable; + + private System.Windows.Forms.PictureBox dragout; + private System.Windows.Forms.PictureBox PB_Legal; - private System.Windows.Forms.TabControl tabMain; - private System.Windows.Forms.TabPage Tab_Main; - private System.Windows.Forms.TabPage Tab_Met; - private System.Windows.Forms.TabPage Tab_Stats; - private System.Windows.Forms.TabPage Tab_Attacks; - private System.Windows.Forms.TabPage Tab_OTMisc; - private System.Windows.Forms.Label Label_EXP; - private System.Windows.Forms.Label Label_Species; - private System.Windows.Forms.Label Label_PID; - public System.Windows.Forms.TextBox TB_Nickname; - private System.Windows.Forms.Label Label_Language; - private System.Windows.Forms.Label Label_Form; - private System.Windows.Forms.Label Label_Ability; - private System.Windows.Forms.Label Label_Nature; - private System.Windows.Forms.Label Label_CurLevel; - private System.Windows.Forms.Button BTN_RerollPID; - private System.Windows.Forms.ComboBox CB_Country; - private System.Windows.Forms.ComboBox CB_PKRSDays; - private System.Windows.Forms.ComboBox CB_PKRSStrain; - private System.Windows.Forms.ComboBox CB_Language; - private System.Windows.Forms.ComboBox CB_Ability; - private System.Windows.Forms.Label Label_Country; - private System.Windows.Forms.Label Label_PKRSdays; - private System.Windows.Forms.Label Label_PKRS; - private System.Windows.Forms.Button BTN_RerollEC; - private System.Windows.Forms.Button BTN_History; - private System.Windows.Forms.Button BTN_Ribbons; - private System.Windows.Forms.GroupBox GB_Markings; - private System.Windows.Forms.GroupBox GB_ExtraBytes; - private System.Windows.Forms.ComboBox CB_ExtraBytes; - public System.Windows.Forms.GroupBox GB_OT; - private System.Windows.Forms.Label Label_OT; - private System.Windows.Forms.Label Label_SID; - private System.Windows.Forms.Label Label_TID; - private System.Windows.Forms.Label Label_EncryptionConstant; - private System.Windows.Forms.GroupBox GB_RelearnMoves; - private System.Windows.Forms.GroupBox GB_CurrentMoves; - private System.Windows.Forms.ComboBox CB_PPu4; - private System.Windows.Forms.ComboBox CB_PPu3; - private System.Windows.Forms.ComboBox CB_PPu2; - private System.Windows.Forms.ComboBox CB_Move4; - private System.Windows.Forms.ComboBox CB_PPu1; - private System.Windows.Forms.ComboBox CB_Move3; - private System.Windows.Forms.ComboBox CB_Move2; - private System.Windows.Forms.ComboBox CB_RelearnMove4; - private System.Windows.Forms.ComboBox CB_RelearnMove3; - private System.Windows.Forms.ComboBox CB_RelearnMove2; - private System.Windows.Forms.ComboBox CB_RelearnMove1; - private System.Windows.Forms.Label Label_CurPP; - private System.Windows.Forms.Label Label_PPups; - private System.Windows.Forms.Button BTN_RandomEVs; - private System.Windows.Forms.Button BTN_RandomIVs; - private System.Windows.Forms.Label Label_HiddenPowerPrefix; - private System.Windows.Forms.Label Label_Stats; - private System.Windows.Forms.Label Label_EVs; - private System.Windows.Forms.Label Label_Total; - private System.Windows.Forms.Label Label_SPE; - private System.Windows.Forms.Label Label_SPD; - private System.Windows.Forms.Label Label_SPA; - private System.Windows.Forms.Label Label_DEF; - private System.Windows.Forms.Label Label_ATK; - private System.Windows.Forms.Label Label_HP; - private System.Windows.Forms.TextBox TB_EVTotal; - private System.Windows.Forms.Label Label_PrevOT; - private System.Windows.Forms.ComboBox CB_EncounterType; - private System.Windows.Forms.GroupBox GB_EggConditions; - private System.Windows.Forms.Label Label_EggDate; - private System.Windows.Forms.Label Label_EggLocation; - private System.Windows.Forms.Label Label_EncounterType; - private System.Windows.Forms.Label Label_MetDate; - private System.Windows.Forms.Label Label_MetLevel; - private System.Windows.Forms.Label Label_Ball; - private System.Windows.Forms.Label Label_MetLocation; - private System.Windows.Forms.Label Label_OriginGame; - private System.Windows.Forms.CheckBox CHK_AsEgg; - private System.Windows.Forms.CheckBox CHK_Fateful; - private System.Windows.Forms.DateTimePicker CAL_MetDate; - private System.Windows.Forms.DateTimePicker CAL_EggDate; - private System.Windows.Forms.MaskedTextBox TB_ATKEV; - private System.Windows.Forms.MaskedTextBox TB_DEFEV; - private System.Windows.Forms.MaskedTextBox TB_SPEEV; - private System.Windows.Forms.MaskedTextBox TB_SPDEV; - private System.Windows.Forms.MaskedTextBox TB_SPAEV; - private System.Windows.Forms.MaskedTextBox TB_HPEV; - private System.Windows.Forms.MaskedTextBox TB_SPEIV; - private System.Windows.Forms.MaskedTextBox TB_SPDIV; - private System.Windows.Forms.MaskedTextBox TB_SPAIV; - private System.Windows.Forms.MaskedTextBox TB_DEFIV; - private System.Windows.Forms.MaskedTextBox TB_ATKIV; - private System.Windows.Forms.MaskedTextBox TB_HPIV; - private System.Windows.Forms.MaskedTextBox TB_SID; - private System.Windows.Forms.MaskedTextBox TB_TID; - private System.Windows.Forms.MaskedTextBox TB_Level; - private System.Windows.Forms.MaskedTextBox TB_EXP; - private System.Windows.Forms.MaskedTextBox TB_ExtraByte; - private System.Windows.Forms.Label Label_HeldItem; - private System.Windows.Forms.CheckBox CHK_Cured; - private System.Windows.Forms.CheckBox CHK_Infected; - private System.Windows.Forms.ComboBox CB_Form; - private System.Windows.Forms.Label Label_Gender; - private System.Windows.Forms.Button BTN_Shinytize; - private System.Windows.Forms.MaskedTextBox TB_AbilityNumber; - private System.Windows.Forms.MaskedTextBox TB_MetLevel; - public System.Windows.Forms.GroupBox GB_nOT; private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem Menu_File; private System.Windows.Forms.ToolStripMenuItem Menu_Open; private System.Windows.Forms.ToolStripMenuItem Menu_Save; private System.Windows.Forms.ToolStripMenuItem Menu_Exit; - private System.Windows.Forms.Label L_Characteristic; - private System.Windows.Forms.TextBox TB_IVTotal; - private System.Windows.Forms.Label L_Potential; - private System.Windows.Forms.TabControl tabBoxMulti; - private System.Windows.Forms.TabPage Tab_Box; - private System.Windows.Forms.TabPage Tab_PartyBattle; - private System.Windows.Forms.Button B_OpenPokepuffs; - private System.Windows.Forms.Button B_OpenBoxLayout; - private System.Windows.Forms.Button B_OpenOPowers; - private System.Windows.Forms.Button B_OpenItemPouch; - private System.Windows.Forms.Button B_OpenEventFlags; - private System.Windows.Forms.Button B_OpenWondercards; - private System.Windows.Forms.Button B_OpenTrainerInfo; - private System.Windows.Forms.Button B_OpenBerryField; - private System.Windows.Forms.Button B_OpenPokedex; - private System.Windows.Forms.TabPage Tab_Other; - private System.Windows.Forms.Label L_BattleBox; - private System.Windows.Forms.Label L_Party; - private System.Windows.Forms.Label L_DaycareSeed; - private System.Windows.Forms.TextBox TB_RNGSeed; - private System.Windows.Forms.CheckBox DayCare_HasEgg; - private System.Windows.Forms.PictureBox bbpkx6; - private System.Windows.Forms.PictureBox bbpkx5; - private System.Windows.Forms.PictureBox bbpkx4; - private System.Windows.Forms.PictureBox bbpkx3; - private System.Windows.Forms.PictureBox bbpkx2; - private System.Windows.Forms.PictureBox bbpkx1; - private System.Windows.Forms.PictureBox ppkx6; - private System.Windows.Forms.PictureBox ppkx5; - private System.Windows.Forms.PictureBox ppkx4; - private System.Windows.Forms.PictureBox ppkx3; - private System.Windows.Forms.PictureBox ppkx2; - private System.Windows.Forms.PictureBox ppkx1; - private System.Windows.Forms.PictureBox dcpkx2; - private System.Windows.Forms.PictureBox dcpkx1; - private System.Windows.Forms.PictureBox bpkx30; - private System.Windows.Forms.PictureBox bpkx29; - private System.Windows.Forms.PictureBox bpkx28; - private System.Windows.Forms.PictureBox bpkx27; - private System.Windows.Forms.PictureBox bpkx26; - private System.Windows.Forms.PictureBox bpkx25; - private System.Windows.Forms.PictureBox bpkx24; - private System.Windows.Forms.PictureBox bpkx23; - private System.Windows.Forms.PictureBox bpkx22; - private System.Windows.Forms.PictureBox bpkx21; - private System.Windows.Forms.PictureBox bpkx20; - private System.Windows.Forms.PictureBox bpkx19; - private System.Windows.Forms.PictureBox bpkx18; - private System.Windows.Forms.PictureBox bpkx17; - private System.Windows.Forms.PictureBox bpkx16; - private System.Windows.Forms.PictureBox bpkx15; - private System.Windows.Forms.PictureBox bpkx14; - private System.Windows.Forms.PictureBox bpkx13; - private System.Windows.Forms.PictureBox bpkx12; - private System.Windows.Forms.PictureBox bpkx11; - private System.Windows.Forms.PictureBox bpkx10; - private System.Windows.Forms.PictureBox bpkx9; - private System.Windows.Forms.PictureBox bpkx8; - private System.Windows.Forms.PictureBox bpkx7; - private System.Windows.Forms.PictureBox bpkx6; - private System.Windows.Forms.PictureBox bpkx5; - private System.Windows.Forms.PictureBox bpkx4; - private System.Windows.Forms.PictureBox bpkx3; - private System.Windows.Forms.PictureBox bpkx2; - private System.Windows.Forms.PictureBox bpkx1; - private System.Windows.Forms.Label L_ReadOnlyPBB; - private System.Windows.Forms.GroupBox GB_SUBE; - private System.Windows.Forms.GroupBox GB_GTS; - private System.Windows.Forms.PictureBox gtspkx; - private System.Windows.Forms.GroupBox GB_Fused; - private System.Windows.Forms.PictureBox fusedpkx; - private System.Windows.Forms.PictureBox subepkx3; - private System.Windows.Forms.PictureBox subepkx2; - private System.Windows.Forms.PictureBox subepkx1; - private System.Windows.Forms.Label L_ReadOnlyOther; - private System.Windows.Forms.GroupBox GB_Daycare; - private System.Windows.Forms.TabPage Tab_SAV; - private System.Windows.Forms.Button B_VerifyCHK; - private System.Windows.Forms.Button B_BoxRight; - private System.Windows.Forms.Button B_BoxLeft; - private System.Windows.Forms.Label L_XP2; - private System.Windows.Forms.Label L_XP1; - private System.Windows.Forms.TextBox TB_Daycare2XP; - private System.Windows.Forms.TextBox TB_Daycare1XP; - private System.Windows.Forms.Label L_DC2; - private System.Windows.Forms.Label L_DC1; - private System.Windows.Forms.TextBox TB_PID; - private System.Windows.Forms.TextBox TB_EC; - private System.Windows.Forms.Button B_OUTPasserby; - private System.Windows.Forms.Button B_OpenHallofFame; - private System.Windows.Forms.ComboBox CB_EggLocation; - private System.Windows.Forms.Label Label_CharacteristicPrefix; private System.Windows.Forms.ToolStripMenuItem Menu_Tools; private System.Windows.Forms.ToolStripMenuItem Menu_Options; private System.Windows.Forms.ToolStripMenuItem Menu_Language; private System.Windows.Forms.ToolStripComboBox CB_MainLanguage; private System.Windows.Forms.ToolStripMenuItem Menu_About; - public System.Windows.Forms.ComboBox CB_MetLocation; - private System.Windows.Forms.Label Label_CTGender; - private System.Windows.Forms.Label Label_OTGender; - private System.Windows.Forms.PictureBox PB_MarkPentagon; - private System.Windows.Forms.PictureBox PB_MarkCured; - private System.Windows.Forms.PictureBox PB_MarkShiny; - private System.Windows.Forms.PictureBox PB_Mark6; - private System.Windows.Forms.PictureBox PB_Mark5; - private System.Windows.Forms.PictureBox PB_Mark4; - private System.Windows.Forms.PictureBox PB_Mark3; - private System.Windows.Forms.PictureBox PB_Mark2; - private System.Windows.Forms.PictureBox Label_IsShiny; - private System.Windows.Forms.Panel PAN_Party; - private System.Windows.Forms.Panel PAN_BattleBox; - private System.Windows.Forms.Button B_OpenSuperTraining; - private System.Windows.Forms.Panel PAN_Box; - private System.Windows.Forms.ComboBox DEV_Ability; - private System.Windows.Forms.CheckBox CHK_HackedStats; - private System.Windows.Forms.MaskedTextBox MT_Level; - private System.Windows.Forms.MaskedTextBox MT_Form; - private System.Windows.Forms.Button B_OpenSecretBase; private System.Windows.Forms.ToolStripMenuItem Menu_Unicode; - public System.Windows.Forms.ComboBox CB_Ball; - private System.Windows.Forms.PictureBox dragout; - public System.Windows.Forms.ComboBox CB_Species; - public System.Windows.Forms.CheckBox CHK_IsEgg; - private System.Windows.Forms.Button B_SaveBoxBin; - private System.Windows.Forms.ComboBox CB_HPType; - private System.Windows.Forms.ComboBox CB_HeldItem; - private System.Windows.Forms.ComboBox CB_Nature; - private System.Windows.Forms.MaskedTextBox TB_Friendship; - private System.Windows.Forms.ComboBox CB_Move1; - private System.Windows.Forms.ComboBox CB_BoxSelect; - public System.Windows.Forms.Label Label_Friendship; - public System.Windows.Forms.Label Label_HatchCounter; - private System.Windows.Forms.TextBox TB_OTt2; - private System.Windows.Forms.TextBox TB_OT; - private System.Windows.Forms.ComboBox CB_GameOrigin; private System.Windows.Forms.ToolStripMenuItem Menu_Modify; private System.Windows.Forms.ToolStripMenuItem Menu_ModifyDex; private System.Windows.Forms.ToolStripMenuItem Menu_ModifyPKM; - private System.Windows.Forms.ContextMenuStrip mnuVSD; - private System.Windows.Forms.ToolStripMenuItem mnuView; - private System.Windows.Forms.ToolStripMenuItem mnuSet; - private System.Windows.Forms.ToolStripMenuItem mnuDelete; - private System.Windows.Forms.ContextMenuStrip mnuV; - private System.Windows.Forms.ToolStripMenuItem mnu2View; - private System.Windows.Forms.Label L_GameSync; - private System.Windows.Forms.TextBox TB_GameSync; - private System.Windows.Forms.Button B_JPEG; - private System.Windows.Forms.PictureBox PB_Locked; - private System.Windows.Forms.Label L_Secure2; - private System.Windows.Forms.TextBox TB_Secure2; - private System.Windows.Forms.Label L_Secure1; - private System.Windows.Forms.TextBox TB_Secure1; private System.Windows.Forms.ToolStripMenuItem Menu_ExportSAV; private System.Windows.Forms.ToolStripMenuItem Menu_Showdown; private System.Windows.Forms.ToolStripMenuItem Menu_ShowdownExportPKM; @@ -6376,150 +553,16 @@ public void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem Menu_LoadBoxes; private System.Windows.Forms.ToolStripMenuItem Menu_Report; private System.Windows.Forms.ToolStripMenuItem Menu_Database; - private System.Windows.Forms.MaskedTextBox Stat_SPE; - private System.Windows.Forms.MaskedTextBox Stat_SPD; - private System.Windows.Forms.MaskedTextBox Stat_SPA; - private System.Windows.Forms.MaskedTextBox Stat_DEF; - private System.Windows.Forms.MaskedTextBox Stat_ATK; - private System.Windows.Forms.MaskedTextBox Stat_HP; private System.Windows.Forms.ToolStripMenuItem Menu_DumpBoxes; private System.Windows.Forms.ToolStripMenuItem Menu_DumpBox; private System.Windows.Forms.ToolStripMenuItem Menu_ExportBAK; private System.Windows.Forms.ToolStripMenuItem Menu_ExportMAIN; - private System.Windows.Forms.MaskedTextBox TB_PP1; - private System.Windows.Forms.MaskedTextBox TB_PP2; - private System.Windows.Forms.MaskedTextBox TB_PP3; - private System.Windows.Forms.MaskedTextBox TB_PP4; - private System.Windows.Forms.PictureBox PB_WarnMove4; - private System.Windows.Forms.PictureBox PB_WarnMove3; - private System.Windows.Forms.PictureBox PB_WarnMove2; - private System.Windows.Forms.PictureBox PB_WarnMove1; - private System.Windows.Forms.PictureBox PB_WarnRelearn1; - private System.Windows.Forms.PictureBox PB_WarnRelearn4; - private System.Windows.Forms.PictureBox PB_WarnRelearn3; - private System.Windows.Forms.PictureBox PB_WarnRelearn2; - private System.Windows.Forms.ContextMenuStrip mnuL; - private System.Windows.Forms.ToolStripMenuItem mnuLSave; - private System.Windows.Forms.ToolStripMenuItem mnuLLegality; - private System.Windows.Forms.ToolStripMenuItem mnuLQR; - private System.Windows.Forms.PictureBox PB_Legal; - private System.Windows.Forms.FlowLayoutPanel FLP_SAVtools; - private System.Windows.Forms.GroupBox GB_SAVtools; - private System.Windows.Forms.PictureBox PB_Mark1; - private System.Windows.Forms.Button B_OpenPokeblocks; private System.Windows.Forms.ToolStripMenuItem Menu_BatchEditor; - private System.Windows.Forms.Button BTN_Medals; - private System.Windows.Forms.FlowLayoutPanel FLP_PKMEditors; - private System.Windows.Forms.Button B_OpenLinkInfo; - private System.Windows.Forms.Button B_CGearSkin; - private System.Windows.Forms.LinkLabel L_UpdateAvailable; - private System.Windows.Forms.Label L_MetTimeOfDay; - public System.Windows.Forms.ComboBox CB_MetTimeOfDay; private System.Windows.Forms.ToolStripMenuItem Menu_MGDatabase; - private System.Windows.Forms.FlowLayoutPanel FLP_Main; - private System.Windows.Forms.FlowLayoutPanel FLP_PID; - private System.Windows.Forms.FlowLayoutPanel FLP_PIDLeft; - private System.Windows.Forms.FlowLayoutPanel FLP_PIDRight; - private System.Windows.Forms.FlowLayoutPanel FLP_Species; - private System.Windows.Forms.FlowLayoutPanel FLP_EXPLevel; - private System.Windows.Forms.FlowLayoutPanel FLP_EXPLevelRight; - private System.Windows.Forms.FlowLayoutPanel FLP_Nature; - private System.Windows.Forms.FlowLayoutPanel FLP_HeldItem; - private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipForm; - private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipFormLeft; - private System.Windows.Forms.FlowLayoutPanel FLP_FriendshipFormRight; - private System.Windows.Forms.FlowLayoutPanel FLP_Ability; - private System.Windows.Forms.FlowLayoutPanel FLP_Language; - private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRS; - private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRSRight; - private System.Windows.Forms.FlowLayoutPanel FLP_PKRS; - private System.Windows.Forms.FlowLayoutPanel FLP_Country; - private System.Windows.Forms.FlowLayoutPanel FLP_PKRSRight; - private System.Windows.Forms.FlowLayoutPanel FLP_EggPKRSLeft; - private System.Windows.Forms.FlowLayoutPanel FLP_AbilityRight; - private System.Windows.Forms.CheckBox CHK_Nicknamed; - private System.Windows.Forms.FlowLayoutPanel FLP_NicknameLeft; - private System.Windows.Forms.FlowLayoutPanel FLP_Nickname; - private System.Windows.Forms.CheckBox CHK_NSparkle; - private System.Windows.Forms.Label L_NSparkle; - private System.Windows.Forms.FlowLayoutPanel FLP_NSparkle; - private System.Windows.Forms.ComboBox CB_3DSReg; - private System.Windows.Forms.Label Label_3DSRegion; - private System.Windows.Forms.FlowLayoutPanel FLP_3DSRegion; - private System.Windows.Forms.ComboBox CB_SubRegion; - private System.Windows.Forms.Label Label_SubRegion; - private System.Windows.Forms.FlowLayoutPanel FLP_SubRegion; - private System.Windows.Forms.FlowLayoutPanel FLP_Met; - private System.Windows.Forms.FlowLayoutPanel FLP_OriginGame; - private System.Windows.Forms.FlowLayoutPanel FLP_MetLocation; - private System.Windows.Forms.FlowLayoutPanel FLP_Ball; - private System.Windows.Forms.FlowLayoutPanel FLP_MetLevel; - private System.Windows.Forms.FlowLayoutPanel FLP_MetDate; - private System.Windows.Forms.FlowLayoutPanel FLP_Fateful; - private System.Windows.Forms.FlowLayoutPanel FLP_EncounterType; - private System.Windows.Forms.FlowLayoutPanel FLP_TimeOfDay; - private System.Windows.Forms.Panel PAN_Fateful; - private System.Windows.Forms.FlowLayoutPanel FLP_Stats; - private System.Windows.Forms.FlowLayoutPanel FLP_StatHeader; - private System.Windows.Forms.FlowLayoutPanel FLP_HP; - private System.Windows.Forms.FlowLayoutPanel FLP_Atk; - private System.Windows.Forms.FlowLayoutPanel FLP_Def; - private System.Windows.Forms.FlowLayoutPanel FLP_SpA; - private System.Windows.Forms.FlowLayoutPanel FLP_SpD; - private System.Windows.Forms.FlowLayoutPanel FLP_Spe; - private System.Windows.Forms.FlowLayoutPanel FLP_HPRight; - private System.Windows.Forms.FlowLayoutPanel FLP_HPType; - private System.Windows.Forms.FlowLayoutPanel FLP_StatsTotal; - private System.Windows.Forms.FlowLayoutPanel FLP_Characteristic; - private System.Windows.Forms.FlowLayoutPanel FLP_DefRight; - private System.Windows.Forms.FlowLayoutPanel FLP_SpDRight; - private System.Windows.Forms.FlowLayoutPanel FLP_SpeRight; - private System.Windows.Forms.FlowLayoutPanel FLP_StatsTotalRight; - private System.Windows.Forms.FlowLayoutPanel FLP_HackedStats; - private System.Windows.Forms.FlowLayoutPanel FLP_AtkRight; - private System.Windows.Forms.FlowLayoutPanel FLP_SpARight; - private System.Windows.Forms.Label Label_SPC; - private System.Windows.Forms.FlowLayoutPanel FLP_SpALeft; - private System.Windows.Forms.FlowLayoutPanel FLP_StatsHeaderRight; - private System.Windows.Forms.Panel PAN_Contest; - private System.Windows.Forms.Label Label_ContestStats; - private System.Windows.Forms.Label Label_Cool; - private System.Windows.Forms.Label Label_Beauty; - private System.Windows.Forms.Label Label_Cute; - private System.Windows.Forms.Label Label_Smart; - private System.Windows.Forms.Label Label_Tough; - private System.Windows.Forms.Label Label_Sheen; - private System.Windows.Forms.MaskedTextBox TB_Cool; - private System.Windows.Forms.MaskedTextBox TB_Beauty; - private System.Windows.Forms.MaskedTextBox TB_Cute; - private System.Windows.Forms.MaskedTextBox TB_Smart; - private System.Windows.Forms.MaskedTextBox TB_Tough; - private System.Windows.Forms.MaskedTextBox TB_Sheen; - private System.Windows.Forms.Label Label_IVs; - private System.Windows.Forms.ComboBox CB_SaveSlot; - private System.Windows.Forms.Label L_SaveSlot; - private System.Windows.Forms.FlowLayoutPanel FLP_Purification; - public System.Windows.Forms.CheckBox CHK_Shadow; - private System.Windows.Forms.Label L_HeartGauge; - private System.Windows.Forms.NumericUpDown NUD_Purification; - private System.Windows.Forms.FlowLayoutPanel FLP_ShadowID; - private System.Windows.Forms.Label L_ShadowID; - private System.Windows.Forms.NumericUpDown NUD_ShadowID; private System.Windows.Forms.ToolStripMenuItem Menu_Undo; private System.Windows.Forms.ToolStripMenuItem Menu_Redo; - private System.Windows.Forms.PictureBox PB_MarkAlola; - private System.Windows.Forms.Button B_OpenPokeBeans; - private System.Windows.Forms.FlowLayoutPanel FLP_BallLeft; - private System.Windows.Forms.PictureBox PB_Ball; - private System.Windows.Forms.Button B_OpenZygardeCells; - private System.Windows.Forms.PictureBox PB_MarkHorohoro; - private System.Windows.Forms.PictureBox PB_MarkVC; - internal System.Windows.Forms.ToolStripMenuItem Menu_FlagIllegal; - private System.Windows.Forms.Button B_OpenMiscEditor; + private System.Windows.Forms.ToolStripMenuItem Menu_FlagIllegal; private System.Windows.Forms.ToolStripMenuItem Menu_ModifyUnset; - private System.Windows.Forms.Button B_OpenHoneyTreeEditor; - private System.Windows.Forms.Button B_OpenFriendSafari; - private System.Windows.Forms.Button B_OpenRTCEditor; } } diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs index 8b1ec9cd6..e96c5a7d5 100644 --- a/PKHeX.WinForms/MainWindow/Main.cs +++ b/PKHeX.WinForms/MainWindow/Main.cs @@ -6,13 +6,13 @@ using System.IO; using System.Linq; using System.Media; -using System.Text; using System.Threading; using System.Windows.Forms; using PKHeX.Core; using PKHeX.WinForms.Properties; using System.Configuration; using System.Threading.Tasks; +using PKHeX.WinForms.Controls; namespace PKHeX.WinForms { @@ -23,6 +23,13 @@ public Main() #region Initialize Form new Thread(() => new SplashScreen().ShowDialog()).Start(); InitializeComponent(); + C_SAV.PKME_Tabs = PKME_Tabs; + C_SAV.Menu_Redo = Menu_Redo; + C_SAV.Menu_Undo = Menu_Undo; + dragout.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; + GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; + PKME_Tabs.EnableDragDrop(tabMain_DragEnter, tabMain_DragDrop); + C_SAV.EnableDragDrop(tabMain_DragEnter, tabMain_DragDrop); // Check for Updates L_UpdateAvailable.Click += (sender, e) => Process.Start(ThreadPath); @@ -33,40 +40,25 @@ public Main() return; try { - DateTime upd = DateTime.ParseExact(data, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None); - DateTime cur = DateTime.ParseExact(Resources.ProgramVersion, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None); + DateTime upd = GetDate(data); + DateTime cur = GetDate(Resources.ProgramVersion); if (upd <= cur) return; - + string message = $"New Update Available! {upd:d}"; + if (InvokeRequired) - try { Invoke((MethodInvoker) delegate { L_UpdateAvailable.Visible = true; L_UpdateAvailable.Text = message; }); } - catch { L_UpdateAvailable.Visible = true; L_UpdateAvailable.Text = message; } - else { L_UpdateAvailable.Visible = true; L_UpdateAvailable.Text = message; } + try { Invoke((MethodInvoker)ToggleUpdateMessage); } + catch { ToggleUpdateMessage(); } + else { ToggleUpdateMessage(); } + + DateTime GetDate(string str) => DateTime.ParseExact(str, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None); + void ToggleUpdateMessage() { L_UpdateAvailable.Visible = true; L_UpdateAvailable.Text = message; } } catch { } }).Start(); - - setPKMFormatMode(SAV.Generation, SAV.Version); - - // Set up form properties and arrays. - SlotPictureBoxes = new[] { - bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6, - bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12, - bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18, - bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24, - bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30, - - ppkx1, ppkx2, ppkx3, ppkx4, ppkx5, ppkx6, - bbpkx1,bbpkx2,bbpkx3,bbpkx4,bbpkx5,bbpkx6, - - dcpkx1, dcpkx2, gtspkx, fusedpkx,subepkx1,subepkx2,subepkx3, - }; - relearnPB = new[] { PB_WarnRelearn1, PB_WarnRelearn2, PB_WarnRelearn3, PB_WarnRelearn4 }; - movePB = new[] { PB_WarnMove1, PB_WarnMove2, PB_WarnMove3, PB_WarnMove4 }; - Label_Species.ResetForeColor(); - + // Set up Language Selection foreach (var cbItem in main_langlist) CB_MainLanguage.Items.Add(cbItem); @@ -74,37 +66,6 @@ public Main() // ToolTips for Drag&Drop new ToolTip().SetToolTip(dragout, "PKM QuickSave"); - // Box Drag & Drop - foreach (PictureBox pb in SlotPictureBoxes) - { - pb.AllowDrop = true; // The PictureBoxes have their own drag&drop event handlers (pbBoxSlot) - pb.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; - } - dragout.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; - GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; - foreach (TabPage tab in tabMain.TabPages) - { - tab.AllowDrop = true; - tab.DragDrop += tabMain_DragDrop; - tab.DragEnter += tabMain_DragEnter; - } - foreach (TabPage tab in tabBoxMulti.TabPages) - { - tab.AllowDrop = true; - tab.DragDrop += tabMain_DragDrop; - tab.DragEnter += tabMain_DragEnter; - } - - GB_OT.Click += clickGT; - GB_nOT.Click += clickGT; - GB_Daycare.Click += switchDaycare; - GB_CurrentMoves.Click += clickMoves; - GB_RelearnMoves.Click += clickMoves; - - TB_Nickname.Font = FontUtil.getPKXFont(11); - TB_OT.Font = (Font)TB_Nickname.Font.Clone(); - TB_OTt2.Font = (Font)TB_Nickname.Font.Clone(); - Menu_Modify.DropDown.Closing += (sender, e) => { if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked) @@ -121,27 +82,12 @@ public Main() // Box to Tabs D&D dragout.AllowDrop = true; - FLP_SAVtools.Scroll += WinFormsUtil.PanelScroll; - - // Add Legality check to right click context menus - // ToolStripItem can't be in multiple contextmenus, so put the item back when closing. - var cm = new[]{mnuV, mnuVSD}; - foreach (var c in cm) - { - c.Opening += (sender, e) => - { - var items = ((ContextMenuStrip)sender).Items; - if (ModifierKeys == Keys.Control) - items.Add(mnuLLegality); - else if (items.Contains(mnuLLegality)) - items.Remove(mnuLLegality); - }; - } - mnuL.Opening += (sender, e) => - { - if (mnuL.Items[0] != mnuLLegality) - mnuL.Items.Insert(0, mnuLLegality); - }; + // Add ContextMenus + var mnu = new ContextMenuPKM(); + mnu.RequestEditorLegality += clickLegality; + mnu.RequestEditorQR += clickQR; + mnu.RequestEditorSaveAs += mainMenuSave; + dragout.ContextMenuStrip = mnu.mnuL; // Load Event Databases refreshMGDB(); @@ -149,7 +95,7 @@ public Main() #endregion #region Localize & Populate Fields string[] args = Environment.GetCommandLineArgs(); - HaX = args.Any(x => x.Trim('-').ToLower() == "hax"); + C_SAV.HaX = PKME_Tabs.HaX = HaX = args.Any(x => x.Trim('-').ToLower() == "hax"); bool showChangelog = false; bool BAKprompt = false; @@ -170,8 +116,9 @@ public Main() } CB_MainLanguage.SelectedIndex = languageID; - InitializeFields(); - + PKME_Tabs.InitializeFields(); + PKME_Tabs.TemplateFields(loadTemplate(C_SAV.SAV)); + #endregion #region Load Initial File(s) string pkmArg = null; @@ -184,9 +131,9 @@ public Main() if (PKX.getIsPKM(fi.Length)) pkmArg = arg; else - openQuick(arg, force: true); + OpenQuick(arg, force: true); } - if (!SAV.Exportable) // No SAV loaded from exe args + if (!C_SAV.SAV.Exportable) // No SAV loaded from exe args { string path = null; try @@ -204,22 +151,22 @@ public Main() } if (path != null && File.Exists(path)) - openQuick(path, force: true); + OpenQuick(path, force: true); else { - openSAV(SAV, null); - SAV.Edited = false; // Prevents form close warning from showing until changes are made + openSAV(C_SAV.SAV, null); + C_SAV.SAV.Edited = false; // Prevents form close warning from showing until changes are made } } if (pkmArg != null) - openQuick(pkmArg, force: true); + OpenQuick(pkmArg, force: true); formInitialized = true; // Splash Screen closes on its own. BringToFront(); WindowState = FormWindowState.Minimized; Show(); WindowState = FormWindowState.Normal; - if (HaX) WinFormsUtil.Alert("Illegal mode activated.", "Please behave."); + if (HaX) WinFormsUtil.Alert("Illegal mPode activated.", "Please behave."); if (showChangelog) new About().ShowDialog(); @@ -231,21 +178,26 @@ public Main() } #region Important Variables - public static SaveFile SAV = SaveUtil.getBlankSAV(GameVersion.SN, "PKHeX"); - public static PKM pkm = SAV.BlankPKM; // Tab Pokemon Data Storage - private LegalityAnalysis Legality = new LegalityAnalysis(pkm); - - public static string curlanguage = "en"; + public static string curlanguage + { + get => GameInfo.CurrentLanguage; + set => GameInfo.CurrentLanguage = value; + } public static string[] gendersymbols = { "♂", "♀", "-" }; - public static bool unicode; - public static volatile bool formInitialized; - private static bool fieldsInitialized, fieldsLoaded, loadingSAV; - private static int colorizedbox = -1; - private static Image colorizedcolor; - private static int colorizedslot; + public static bool unicode + { + get => Unicode; + private set + { + Unicode = value; + gendersymbols = value ? new[] {"♂", "♀", "-"} : new[] {"M", "F", "-"}; + } + } + private static bool Unicode; + public static bool HaX; - private static readonly Image mixedHighlight = ImageUtil.ChangeOpacity(Resources.slotSet, 0.5); + public static volatile bool formInitialized; private static readonly string[] main_langlist = { "日本語", // JPN @@ -258,9 +210,6 @@ public Main() "中文", // CHN "Português", // Portuguese }; - private static GameVersion origintrack; - private readonly PictureBox[] SlotPictureBoxes, movePB, relearnPB; - private readonly ToolTip Tip1 = new ToolTip(), Tip2 = new ToolTip(), Tip3 = new ToolTip(), NatureTip = new ToolTip(), EVTip = new ToolTip(); #endregion #region Path Variables @@ -276,6 +225,7 @@ public Main() #endregion #region //// MAIN MENU FUNCTIONS //// + private void loadConfig(out bool BAKprompt, out bool showChangelog, out int languageID) { BAKprompt = false; @@ -285,18 +235,18 @@ private void loadConfig(out bool BAKprompt, out bool showChangelog, out int lang var Settings = Properties.Settings.Default; Settings.Upgrade(); - unicode = Menu_Unicode.Checked = Settings.Unicode; - updateUnicode(); + PKME_Tabs.Unicode = unicode = Menu_Unicode.Checked = Settings.Unicode; + PKME_Tabs.updateUnicode(gendersymbols); SaveFile.SetUpdateDex = Menu_ModifyDex.Checked = Settings.SetUpdateDex; - SaveFile.SetUpdatePKM = Menu_ModifyPKM.Checked = Settings.SetUpdatePKM; - Menu_FlagIllegal.Checked = Settings.FlagIllegal; + SaveFile.SetUpdatePKM = C_SAV.ModifyPKM = PKME_Tabs.ModifyPKM = Menu_ModifyPKM.Checked = Settings.SetUpdatePKM; + C_SAV.FlagIllegal = Menu_FlagIllegal.Checked = Settings.FlagIllegal; Menu_ModifyUnset.Checked = Settings.ModifyUnset; // Select Language string l = Settings.Language; - int lang = Array.IndexOf(GameInfo.lang_val, l); + int lang = GameInfo.Language(l); if (lang < 0) - lang = Array.IndexOf(GameInfo.lang_val, "en"); + lang = GameInfo.Language(); if (lang > -1) languageID = lang; @@ -330,143 +280,109 @@ private static void deleteConfig(string settingsFilename) // Main Menu Strip UI Functions private void mainMenuOpen(object sender, EventArgs e) { - if (WinFormsUtil.OpenSAVPKMDialog(SAV.PKMExtensions, out string path)) - openQuick(path); + if (WinFormsUtil.OpenSAVPKMDialog(C_SAV.SAV.PKMExtensions, out string path)) + OpenQuick(path); } private void mainMenuSave(object sender, EventArgs e) { - if (!verifiedPKM()) return; + if (!PKME_Tabs.verifiedPKM()) return; PKM pk = preparePKM(); WinFormsUtil.SavePKMDialog(pk); } private void mainMenuExit(object sender, EventArgs e) { - if (ModifierKeys == Keys.Control) // Hotkey Triggered - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Quit PKHeX?")) return; - Close(); - } - private void mainMenuAbout(object sender, EventArgs e) - { - // Open a new form with the About details. - new About().ShowDialog(); + if (ModifierKeys != Keys.Control) + Close(); // not triggered via hotkey + + if (DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Quit PKHeX?")) + Close(); } + private void mainMenuAbout(object sender, EventArgs e) => new About().ShowDialog(); + // Sub Menu Options - private Form getFirstFormOfType() => Application.OpenForms.Cast
().FirstOrDefault(form => form is T); private void mainMenuBoxReport(object sender, EventArgs e) { - if (getFirstFormOfType() is frmReport z) + if (this.FirstFormOfType() is frmReport z) { z.CenterToForm(this); z.BringToFront(); return; } frmReport ReportForm = new frmReport(); ReportForm.Show(); - ReportForm.PopulateData(SAV.BoxData); + ReportForm.PopulateData(C_SAV.SAV.BoxData); } private void mainMenuDatabase(object sender, EventArgs e) { if (ModifierKeys == Keys.Shift) { - if (getFirstFormOfType() is KChart c) + if (this.FirstFormOfType() is KChart c) { c.CenterToForm(this); c.BringToFront(); } else - new KChart().Show(); + new KChart(C_SAV.SAV).Show(); return; } - if (getFirstFormOfType() is SAV_Database z) + if (this.FirstFormOfType() is SAV_Database z) { z.CenterToForm(this); z.BringToFront(); return; } if (Directory.Exists(DatabasePath)) - new SAV_Database(this).Show(); + new SAV_Database(PKME_Tabs, C_SAV).Show(); else WinFormsUtil.Alert("PKHeX's database was not found.", $"Please dump all boxes from a save file, then ensure the '{DatabasePath}' folder exists."); } private void mainMenuMysteryDB(object sender, EventArgs e) { - if (getFirstFormOfType() is SAV_MysteryGiftDB z) + if (this.FirstFormOfType() is SAV_MysteryGiftDB z) { z.CenterToForm(this); z.BringToFront(); return; } - new SAV_MysteryGiftDB(this).Show(); + new SAV_MysteryGiftDB(PKME_Tabs, C_SAV).Show(); } private void mainMenuUnicode(object sender, EventArgs e) { - Settings.Default.Unicode = unicode = Menu_Unicode.Checked; - updateUnicode(); - } - private void mainMenuModifyDex(object sender, EventArgs e) - { - Settings.Default.SetUpdateDex = SaveFile.SetUpdateDex = Menu_ModifyDex.Checked; - } - private void mainMenuModifyUnset(object sender, EventArgs e) - { - Settings.Default.ModifyUnset = Menu_ModifyUnset.Checked; - } - private void mainMenuModifyPKM(object sender, EventArgs e) - { - Settings.Default.SetUpdatePKM = SaveFile.SetUpdatePKM = Menu_ModifyPKM.Checked; - } - private void mainMenuFlagIllegal(object sender, EventArgs e) - { - Settings.Default.FlagIllegal = Menu_FlagIllegal.Checked; - updateBoxViewers(all:true); - setPKXBoxes(); + Settings.Default.Unicode = PKME_Tabs.Unicode = unicode = Menu_Unicode.Checked; + PKME_Tabs.updateUnicode(gendersymbols); } + private void mainMenuModifyDex(object sender, EventArgs e) => Settings.Default.SetUpdateDex = SaveFile.SetUpdateDex = Menu_ModifyDex.Checked; + private void mainMenuModifyUnset(object sender, EventArgs e) => Settings.Default.ModifyUnset = Menu_ModifyUnset.Checked; + private void mainMenuModifyPKM(object sender, EventArgs e) => Settings.Default.SetUpdatePKM = SaveFile.SetUpdatePKM = Menu_ModifyPKM.Checked; + private void mainMenuFlagIllegal(object sender, EventArgs e) => C_SAV.FlagIllegal = Settings.Default.FlagIllegal = Menu_FlagIllegal.Checked; + private void mainMenuBoxLoad(object sender, EventArgs e) { + string path = null; if (Directory.Exists(DatabasePath)) { var dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Load from PKHeX's database?"); if (dr == DialogResult.Yes) - { - loadBoxesFromDB(DatabasePath); - return; - } + path = DatabasePath; } - - FolderBrowserDialog fbd = new FolderBrowserDialog(); - if (fbd.ShowDialog() == DialogResult.OK) - loadBoxesFromDB(fbd.SelectedPath); + if (C_SAV.LoadBoxes(out string result, path)) + WinFormsUtil.Alert(result); } private void mainMenuBoxDump(object sender, EventArgs e) { // Dump all of box content to files. + string path = null; DialogResult ld = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Save to PKHeX's database?"); if (ld == DialogResult.Yes) - { - if (!Directory.Exists(DatabasePath)) - Directory.CreateDirectory(DatabasePath); + path = DatabasePath; + else if (ld != DialogResult.No) + return; - SAV.dumpBoxes(DatabasePath, out string result); + if (C_SAV.DumpBoxes(out string result, path)) WinFormsUtil.Alert(result); - } - else if (ld == DialogResult.No) - { - // open folder dialog - FolderBrowserDialog fbd = new FolderBrowserDialog(); - if (fbd.ShowDialog() != DialogResult.OK) - return; - - bool separate = DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Save each box separately?"); - SAV.dumpBoxes(fbd.SelectedPath, out string result, separate); - WinFormsUtil.Alert(result); - } } private void mainMenuBoxDumpSingle(object sender, EventArgs e) { - // open folder dialog - FolderBrowserDialog fbd = new FolderBrowserDialog(); - if (fbd.ShowDialog() != DialogResult.OK) - return; - - SAV.dumpBox(fbd.SelectedPath, out string result, CB_BoxSelect.SelectedIndex); - WinFormsUtil.Alert(result); + if (C_SAV.DumpBox(out string result)) + WinFormsUtil.Alert(result); } - private void manMenuBatchEditor(object sender, EventArgs e) + private void mainMenuBatchEditor(object sender, EventArgs e) { - new BatchEditor(preparePKM()).ShowDialog(); - setPKXBoxes(); // refresh - updateBoxViewers(); + new BatchEditor(PKME_Tabs.preparePKM(), C_SAV.SAV).ShowDialog(); + C_SAV.setPKXBoxes(); // refresh + C_SAV.updateBoxViewers(); } + private void mainMenuFolder(object sender, EventArgs e) => new SAV_FolderList().ShowDialog(); // Misc Options private void clickShowdownImportPKM(object sender, EventArgs e) { @@ -481,8 +397,8 @@ private void clickShowdownImportPKM(object sender, EventArgs e) if (Set.Species < 0) { WinFormsUtil.Alert("Set data not found in clipboard."); return; } - if (Set.Nickname != null && Set.Nickname.Length > SAV.NickLength) - Set.Nickname = Set.Nickname.Substring(0, SAV.NickLength); + if (Set.Nickname != null && Set.Nickname.Length > C_SAV.SAV.NickLength) + Set.Nickname = Set.Nickname.Substring(0, C_SAV.SAV.NickLength); if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Import this set?", Set.getText())) { return; } @@ -491,75 +407,13 @@ private void clickShowdownImportPKM(object sender, EventArgs e) WinFormsUtil.Alert("Invalid lines detected:", string.Join(Environment.NewLine, Set.InvalidLines)); // Set Species & Nickname - CB_Species.SelectedValue = Set.Species; - CHK_Nicknamed.Checked = Set.Nickname != null; - if (Set.Nickname != null) - TB_Nickname.Text = Set.Nickname; - if (Set.Gender != null) - { - int Gender = PKX.getGender(Set.Gender); - Label_Gender.Text = gendersymbols[Gender]; - Label_Gender.ForeColor = getGenderColor(Gender); - } - - // Set Form - string[] formStrings = PKX.getFormList(Set.Species, - Util.getTypesList("en"), - Util.getFormsList("en"), gendersymbols, SAV.Generation); - int form = 0; - for (int i = 0; i < formStrings.Length; i++) - if (formStrings[i].Contains(Set.Form ?? "")) - { form = i; break; } - CB_Form.SelectedIndex = Math.Min(CB_Form.Items.Count-1, form); - - // Set Ability - int[] abilities = SAV.Personal.getAbilities(Set.Species, form); - int ability = Array.IndexOf(abilities, Set.Ability); - if (ability < 0) ability = 0; - CB_Ability.SelectedIndex = ability; - ComboBox[] m = {CB_Move1, CB_Move2, CB_Move3, CB_Move4}; - for (int i = 0; i < 4; i++) m[i].SelectedValue = Set.Moves[i]; - - // Set Item and Nature - CB_HeldItem.SelectedValue = Set.Item < 0 ? 0 : Set.Item; - CB_Nature.SelectedValue = Set.Nature < 0 ? 0 : Set.Nature; - - // Set IVs - TB_HPIV.Text = Set.IVs[0].ToString(); - TB_ATKIV.Text = Set.IVs[1].ToString(); - TB_DEFIV.Text = Set.IVs[2].ToString(); - TB_SPAIV.Text = Set.IVs[4].ToString(); - TB_SPDIV.Text = Set.IVs[5].ToString(); - TB_SPEIV.Text = Set.IVs[3].ToString(); - - // Set EVs - TB_HPEV.Text = Set.EVs[0].ToString(); - TB_ATKEV.Text = Set.EVs[1].ToString(); - TB_DEFEV.Text = Set.EVs[2].ToString(); - TB_SPAEV.Text = Set.EVs[4].ToString(); - TB_SPDEV.Text = Set.EVs[5].ToString(); - TB_SPEEV.Text = Set.EVs[3].ToString(); - - // Set Level and Friendship - TB_Level.Text = Set.Level.ToString(); - TB_Friendship.Text = Set.Friendship.ToString(); - - // Reset IV/EVs - updateRandomPID(sender, e); - updateRandomEC(sender, e); - ComboBox[] p = {CB_PPu1, CB_PPu2, CB_PPu3, CB_PPu4}; - for (int i = 0; i < 4; i++) - p[i].SelectedIndex = m[i].SelectedIndex != 0 ? 3 : 0; // max PP - - if (Set.Shiny) updateShinyPID(sender, e); - pkm = preparePKM(); - updateLegality(); + PKME_Tabs.LoadShowdownSet(Set, C_SAV.SAV); } private void clickShowdownExportPKM(object sender, EventArgs e) { if (!formInitialized) return; - if (!verifiedPKM()) + if (!PKME_Tabs.verifiedPKM()) { WinFormsUtil.Alert("Fix data before exporting."); return; } Clipboard.SetText(preparePKM().ShowdownText); @@ -567,11 +421,11 @@ private void clickShowdownExportPKM(object sender, EventArgs e) } private void clickShowdownExportParty(object sender, EventArgs e) { - if (SAV.PartyData.Length <= 0) return; + if (C_SAV.SAV.PartyData.Length <= 0) return; try { Clipboard.SetText( - SAV.PartyData.Aggregate("", (current, pk) => current + pk.ShowdownText + C_SAV.SAV.PartyData.Aggregate("", (current, pk) => current + pk.ShowdownText + Environment.NewLine + Environment.NewLine).Trim()); WinFormsUtil.Alert("Showdown Team (Party) set to Clipboard."); } @@ -579,20 +433,19 @@ private void clickShowdownExportParty(object sender, EventArgs e) } private void clickShowdownExportBattleBox(object sender, EventArgs e) { - if (SAV.BattleBoxData.Length <= 0) return; + if (C_SAV.SAV.BattleBoxData.Length <= 0) return; try { Clipboard.SetText( - SAV.BattleBoxData.Aggregate("", (current, pk) => current + pk.ShowdownText + C_SAV.SAV.BattleBoxData.Aggregate("", (current, pk) => current + pk.ShowdownText + Environment.NewLine + Environment.NewLine).Trim()); WinFormsUtil.Alert("Showdown Team (Battle Box) set to Clipboard."); } catch { } } - private void Menu_Folder_Click(object sender, EventArgs e) => new SAV_FolderList().ShowDialog(); // Main Menu Subfunctions - private void openQuick(string path, bool force = false) + private void OpenQuick(string path, bool force = false) { if (!(CanFocus || force)) { @@ -601,7 +454,7 @@ private void openQuick(string path, bool force = false) } // detect if it is a folder (load into boxes or not) if (Directory.Exists(path)) - { loadBoxesFromDB(path); return; } + { C_SAV.LoadBoxes(out string _, path); return; } string ext = Path.GetExtension(path); FileInfo fi = new FileInfo(path); @@ -615,172 +468,175 @@ private void openQuick(string path, bool force = false) catch (Exception e) { WinFormsUtil.Error("Unable to load file. It could be in use by another program.\nPath: " + path, e); return; } #if DEBUG - openFile(input, path, ext); + OpenFile(input, path, ext, C_SAV.SAV); #else - try { openFile(input, path, ext); } + try { OpenFile(input, path, ext, C_SAV.SAV); } catch (Exception e) { WinFormsUtil.Error("Unable to load file.\nPath: " + path, e); } #endif } } - private void openFile(byte[] input, string path, string ext) + private void OpenFile(byte[] input, string path, string ext, SaveFile currentSaveFile) + { + if (TryLoadXorpadSAV(input, path)) + return; + if (TryLoadSAV(input, path)) + return; + if (TryLoadMemoryCard(input, path)) + return; + if (TryLoadPKM(input, path, ext, currentSaveFile)) + return; + if (TryLoadPCBoxBin(input)) + return; + if (TryLoadBattleVideo(input)) + return; + if (TryLoadMysteryGift(input, path, ext)) + return; + + WinFormsUtil.Error("Attempted to load an unsupported file type/size.", + $"File Loaded:{Environment.NewLine}{path}", + $"File Size:{Environment.NewLine}{input.Length} bytes (0x{input.Length:X4})"); + } + private bool TryLoadXorpadSAV(byte[] input, string path) { - SaveFile sav; MysteryGift tg; PKM temp; string c; - #region Powersaves Read-Only Conversion if (input.Length == 0x10009C) // Resize to 1MB { Array.Copy(input, 0x9C, input, 0, 0x100000); Array.Resize(ref input, 0x100000); } - // Verify the Data Input Size is Proper - if (input.Length == 0x100000) + if (input.Length != 0x100000) + return false; + if (openXOR(input, path)) // Check if we can load the save via xorpad + return true; + + if (BitConverter.ToUInt64(input, 0x10) != 0) // encrypted save { - if (openXOR(input, path)) // Check if we can load the save via xorpad - return; // only if a save is loaded we abort - if (BitConverter.ToUInt64(input, 0x10) != 0) // encrypted save - { WinFormsUtil.Error("PKHeX only edits decrypted save files." + Environment.NewLine + "This save file is not decrypted.", path); return; } - - DialogResult sdr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, "Press Yes to load the sav at 0x3000", "Press No for the one at 0x82000"); - if (sdr == DialogResult.Cancel) - return; - int savshift = sdr == DialogResult.Yes ? 0 : 0x7F000; - byte[] psdata = input.Skip(0x5400 + savshift).Take(SaveUtil.SIZE_G6ORAS).ToArray(); - - if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G6ORAS - 0x1F0) == SaveUtil.BEEF) - Array.Resize(ref psdata, SaveUtil.SIZE_G6ORAS); // set to ORAS size - else if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G6XY - 0x1F0) == SaveUtil.BEEF) - Array.Resize(ref psdata, SaveUtil.SIZE_G6XY); // set to X/Y size - else if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G7SM - 0x1F0) == SaveUtil.BEEF) - Array.Resize(ref psdata, SaveUtil.SIZE_G7SM); // set to S/M size - else - { WinFormsUtil.Error("The data file is not a valid save file", path); return; } - - openSAV(SaveUtil.getVariantSAV(psdata), path); + WinFormsUtil.Error("PKHeX only edits decrypted save files." + Environment.NewLine + "This save file is not decrypted.", path); + return true; } - #endregion - #region SAV/PKM - else if ((sav = SaveUtil.getVariantSAV(input)) != null) - { - openSAV(sav, path); - } - else if ((SAV3GCMemoryCard.IsMemoryCardSize(input))) - { - SAV3GCMemoryCard MC = CheckGCMemoryCard(input, path); - if (MC == null) - return; - if ((sav = SaveUtil.getVariantSAV(MC)) != null) - { - openSAV(sav, path); - } - else - WinFormsUtil.Error("Attempted to load an unsupported file type/size.", - $"File Loaded:{Environment.NewLine}{path}", - $"File Size:{Environment.NewLine}{input.Length} bytes (0x{input.Length:X4})"); - } - else if ((temp = PKMConverter.getPKMfromBytes(input, prefer: ext.Length > 0 ? (ext.Last() - 0x30)&7 : SAV.Generation)) != null) - { - PKM pk = PKMConverter.convertToFormat(temp, SAV.PKMType, out c); - if (pk == null) - WinFormsUtil.Alert("Conversion failed.", c); - else if (SAV.Generation < 3 && ((pk as PK1)?.Japanese ?? ((PK2)pk).Japanese) != SAV.Japanese) - { - var strs = new[] {"International", "Japanese"}; - var val = SAV.Japanese ? 0 : 1; - WinFormsUtil.Alert($"Cannot load {strs[val]} {pk.GetType().Name}s to {strs[val^1]} saves."); - } - else - populateFields(pk); - Console.WriteLine(c); - } - #endregion - #region PC/Box Data - else if (BitConverter.ToUInt16(input, 4) == 0 && BitConverter.ToUInt32(input, 8) > 0 && PKX.getIsPKM(input.Length / SAV.BoxSlotCount / SAV.BoxCount) || PKX.getIsPKM(input.Length / SAV.BoxSlotCount)) - { - if (SAV.getPCBin().Length == input.Length) - { - if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) - WinFormsUtil.Alert("Battle Box slots prevent loading of PC data."); - else if (SAV.setPCBin(input)) - WinFormsUtil.Alert("PC Binary loaded."); - else - { - WinFormsUtil.Alert("Binary is not compatible with save file.", "Current SAV Generation: " + SAV.Generation); - return; - } - } - else if (SAV.getBoxBin(CB_BoxSelect.SelectedIndex).Length == input.Length) - { - if (SAV.getBoxHasLockedSlot(CB_BoxSelect.SelectedIndex, CB_BoxSelect.SelectedIndex)) - WinFormsUtil.Alert("Battle Box slots in box prevent loading of box data."); - else if (SAV.setBoxBin(input, CB_BoxSelect.SelectedIndex)) - WinFormsUtil.Alert("Box Binary loaded."); - else - { - WinFormsUtil.Alert("Binary is not compatible with save file.", "Current SAV Generation: " + SAV.Generation); - return; - } - } - else - { - WinFormsUtil.Alert("Binary is not compatible with save file.", "Current SAV Generation: " + SAV.Generation); - return; - } - setPKXBoxes(); - updateBoxViewers(); - } - #endregion - #region Battle Video - else if (BattleVideo.getIsValid(input)) - { - BattleVideo b = BattleVideo.getVariantBattleVideo(input); - if (SAV.Generation != b.Generation) - { WinFormsUtil.Alert($"Cannot load a Gen{b.Generation} Battle Video to a different generation save file."); return; } - if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Load Battle Video Pokémon data to {CB_BoxSelect.Text}?", "The box will be overwritten.") != DialogResult.Yes) - return; + DialogResult sdr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, "Press Yes to load the sav at 0x3000", + "Press No for the one at 0x82000"); + if (sdr == DialogResult.Cancel) + return true; + int savshift = sdr == DialogResult.Yes ? 0 : 0x7F000; + byte[] psdata = input.Skip(0x5400 + savshift).Take(SaveUtil.SIZE_G6ORAS).ToArray(); - bool? noSetb = getPKMSetOverride(); - PKM[] data = b.BattlePKMs; - int offset = SAV.getBoxOffset(CB_BoxSelect.SelectedIndex); - int slotSkipped = 0; - for (int i = 0; i < 24; i++) - { - if (SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, i)) - { slotSkipped++; continue; } - SAV.setStoredSlot(data[i], offset + i*SAV.SIZE_STORED, noSetb); - } - - if (slotSkipped > 0) - WinFormsUtil.Alert($"Skipped {slotSkipped} locked slot{(slotSkipped > 1 ? "s" : "")}."); - - setPKXBoxes(); - updateBoxViewers(); - } - #endregion - #region Mystery Gift (Templates) - else if ((tg = MysteryGift.getMysteryGift(input, ext)) != null) - { - if (!tg.IsPokémon) - { WinFormsUtil.Alert("Mystery Gift is not a Pokémon.", path); return; } - - temp = tg.convertToPKM(SAV); - PKM pk = PKMConverter.convertToFormat(temp, SAV.PKMType, out c); - - if (pk == null) - WinFormsUtil.Alert("Conversion failed.", c); - else - populateFields(pk); - Console.WriteLine(c); - } - #endregion + if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G6ORAS - 0x1F0) == SaveUtil.BEEF) + Array.Resize(ref psdata, SaveUtil.SIZE_G6ORAS); // set to ORAS size + else if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G6XY - 0x1F0) == SaveUtil.BEEF) + Array.Resize(ref psdata, SaveUtil.SIZE_G6XY); // set to X/Y size + else if (BitConverter.ToUInt32(psdata, SaveUtil.SIZE_G7SM - 0x1F0) == SaveUtil.BEEF) + Array.Resize(ref psdata, SaveUtil.SIZE_G7SM); // set to S/M size else - WinFormsUtil.Error("Attempted to load an unsupported file type/size.", - $"File Loaded:{Environment.NewLine}{path}", - $"File Size:{Environment.NewLine}{input.Length} bytes (0x{input.Length:X4})"); + { + WinFormsUtil.Error("The data file is not a valid save file", path); + return true; + } + + openSAV(SaveUtil.getVariantSAV(psdata), path); + return true; } + private bool TryLoadSAV(byte[] input, string path) + { + var sav = SaveUtil.getVariantSAV(input); + if (sav == null) + return false; + openSAV(sav, path); + return true; + } + private bool TryLoadMemoryCard(byte[] input, string path) + { + if (!SAV3GCMemoryCard.IsMemoryCardSize(input)) + return false; + SAV3GCMemoryCard MC = CheckGCMemoryCard(input, path); + if (MC == null) + return false; + var sav = SaveUtil.getVariantSAV(MC); + if (sav == null) + return false; + openSAV(sav, path); + return true; + } + private bool TryLoadPKM(byte[] input, string path, string ext, SaveFile SAV) + { + var temp = PKMConverter.getPKMfromBytes(input, prefer: ext.Length > 0 ? (ext.Last() - 0x30) & 7 : C_SAV.SAV.Generation); + if (temp == null) + return false; + + var type = PKME_Tabs.pkm.GetType(); + string c; + PKM pk = PKMConverter.convertToFormat(temp, type, out c); + if (pk == null) + { + WinFormsUtil.Alert("Conversion failed.", c); + return false; + } + if (SAV.Generation < 3 && ((pk as PK1)?.Japanese ?? ((PK2)pk).Japanese) != SAV.Japanese) + { + var strs = new[] { "International", "Japanese" }; + var val = SAV.Japanese ? 0 : 1; + WinFormsUtil.Alert($"Cannot load {strs[val]} {pk.GetType().Name}s to {strs[val ^ 1]} saves."); + return false; + } + + PKME_Tabs.populateFields(pk); + Console.WriteLine(c); + return true; + } + private bool TryLoadPCBoxBin(byte[] input) + { + if (!(BitConverter.ToUInt16(input, 4) == 0 && BitConverter.ToUInt32(input, 8) != 0 && C_SAV.IsPCBoxBin(input.Length))) + return false; + if (!C_SAV.OpenPCBoxBin(input, out string c)) + { + WinFormsUtil.Alert("Binary is not compatible with save file.", c); + return false; + } + + WinFormsUtil.Alert(c); + return true; + } + private bool TryLoadBattleVideo(byte[] input) + { + if (!BattleVideo.getIsValid(input)) + return false; + + BattleVideo b = BattleVideo.getVariantBattleVideo(input); + bool result = C_SAV.OpenBattleVideo(b, out string c); + WinFormsUtil.Alert(c); + Console.WriteLine(c); + return result; + } + private bool TryLoadMysteryGift(byte[] input, string path, string ext) + { + var tg = MysteryGift.getMysteryGift(input, ext); + if (tg == null) + return false; + if (!tg.IsPokémon) + { + WinFormsUtil.Alert("Mystery Gift is not a Pokémon.", path); + return true; + } + + var temp = tg.convertToPKM(C_SAV.SAV); + PKM pk = PKMConverter.convertToFormat(temp, C_SAV.SAV.PKMType, out string c); + + if (pk == null) + { + WinFormsUtil.Alert("Conversion failed.", c); + return true; + } + + PKME_Tabs.populateFields(pk); + Console.WriteLine(c); + return true; + } + private bool openXOR(byte[] input, string path) { // try to get a save file via xorpad in same folder - string[] pads = Directory.GetFiles(path); + var folder = new DirectoryInfo(path).Parent.FullName; + string[] pads = Directory.GetFiles(folder); var s = SaveUtil.getSAVfromXORpads(input, pads); if (s == null) // failed to find xorpad in path folder @@ -848,96 +704,37 @@ private static void StoreLegalSaveGameData(SaveFile sav) Legal.Savegame_OT = sav.OT; Legal.Savegame_Version = sav.Version; } + private static PKM loadTemplate(SaveFile sav) + { + if (!Directory.Exists(TemplatePath)) + return null; + + var blank = sav.BlankPKM; + string path = Path.Combine(TemplatePath, new DirectoryInfo(TemplatePath).Name + "." + blank.Extension); + + if (!File.Exists(path) || !PKX.getIsPKM(new FileInfo(path).Length)) + return null; + + var pk = PKMConverter.getPKMfromBytes(File.ReadAllBytes(path), prefer: blank.Format); + return PKMConverter.convertToFormat(pk, sav.BlankPKM.GetType(), out path); // no sneaky plz; reuse string + } + private static void refreshMGDB() + { + Legal.RefreshMGDB(MGDatabasePath); + } private void openSAV(SaveFile sav, string path) { if (sav == null || sav.Version == GameVersion.Invalid) { WinFormsUtil.Error("Invalid save file loaded. Aborting.", path); return; } - if (!string.IsNullOrEmpty(path)) // If path is null, this is the default save - { - if (sav.RequiresMemeCrypto && !MemeCrypto.CanUseMemeCrypto()) - { - WinFormsUtil.Error("Your platform does not support the required cryptography components.", "In order to be able to save your changes, you must either upgrade to a newer version of Windows or disable FIPS compliance mode."); - // Don't abort loading; user can still view save and fix checksum on another platform. - } - } - // Finish setting up the save file. - if (sav.Generation == 1) - { - // Ask the user if it is a VC save file or if it is from a physical cartridge. - // Necessary for legality checking possibilities that are only obtainable on GSC (non VC) or event distributions. - var drVC = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, $"{sav.Version} Save File detected. Is this a Virtual Console Save File?", - "Yes: Virtual Console" + Environment.NewLine + "No: Physical Cartridge"); - if (drVC == DialogResult.Cancel) - return; - Legal.AllowGBCartEra = drVC == DialogResult.No; // physical cart selected - if (Legal.AllowGBCartEra && sav.Generation == 1) - { - var drTradeback = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, $"Generation {SAV.Generation} Save File detected. Allow tradebacks from Generation 2 for legality purposes?", - "Yes: Allow Generation 2 tradeback learnsets" + Environment.NewLine + "No: Don't allow Generation 2 tradeback learnsets"); - Legal.AllowGen1Tradeback = drTradeback == DialogResult.Yes; - } - else - Legal.AllowGen1Tradeback = false; - } - else - Legal.AllowGBCartEra = Legal.AllowGen1Tradeback = sav.Generation == 2; - - if (sav.Generation == 3 && (sav.IndeterminateGame || ModifierKeys == Keys.Control)) - { - WinFormsUtil.Alert($"Generation {SAV.Generation} Save File detected.", "Select version."); - var g = new[] {GameVersion.R, GameVersion.S, GameVersion.E, GameVersion.FR, GameVersion.LG}; - var games = g.Select(z => GameInfo.VersionDataSource.First(v => v.Value == (int)z)); - var dialog = new SAV_GameSelect(games); - dialog.ShowDialog(); - - switch (dialog.Result) // Reset save file info - { - case GameVersion.R: - case GameVersion.S: sav = new SAV3(sav.BAK, GameVersion.RS); break; - case GameVersion.E: sav = new SAV3(sav.BAK, GameVersion.E); break; - case GameVersion.FR: - case GameVersion.LG: sav = new SAV3(sav.BAK, GameVersion.FRLG); break; - default: return; - } - if (sav.Version == GameVersion.FRLG) - sav.Personal = dialog.Result == GameVersion.FR ? PersonalTable.FR : PersonalTable.LG; - } - else if (sav.IndeterminateSubVersion && sav.Version == GameVersion.FRLG) - { - string fr = GameInfo.VersionDataSource.First(r => r.Value == (int)GameVersion.FR).Text; - string lg = GameInfo.VersionDataSource.First(l => l.Value == (int)GameVersion.LG).Text; - const string dual = "{0}/{1} Save File Detected."; - WinFormsUtil.Alert(string.Format(dual, fr, lg), "Select version."); - var g = new[] {GameVersion.FR, GameVersion.LG}; - var games = g.Select(z => GameInfo.VersionDataSource.First(v => v.Value == (int)z)); - var dialog = new SAV_GameSelect(games); - dialog.ShowDialog(); - - sav.Personal = dialog.Result == GameVersion.FR ? PersonalTable.FR : PersonalTable.LG; - } - - if (sav.IndeterminateLanguage) - { - // Japanese Save files are different. Get isJapanese - var drJP = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, $"{sav.Version} Save File detected. Select language...", - "Yes: International" + Environment.NewLine + "No: Japanese"); - if (drJP == DialogResult.Cancel) - return; - - sav.Japanese = drJP == DialogResult.No; - } + if (!sanityCheckSAV(ref sav, path)) + return; StoreLegalSaveGameData(sav); - loadingSAV = true; // clean fields - bool WindowToggleRequired = SAV.Generation < 3 && sav.Generation >= 3; // version combobox refresh hack - bool WindowTranslationRequired = false; - PKM pk = preparePKM(); - populateFields(SAV.BlankPKM); - SAV = sav; - DragInfo = new DragDropManager(SAV); + SaveFile SAV = C_SAV.SAV = sav; + C_SAV.M.Reset(); string title = $"PKH{(HaX ? "a" : "e")}X ({Resources.ProgramVersion}) - " + $"{SAV.GetType().Name}: "; if (path != null) // Actual save file @@ -952,279 +749,37 @@ private void openSAV(SaveFile sav, string path) 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"; Text = title + $"{SAV.FileName} [{SAV.OT} ({SAV.Version})]"; - - GB_SAVtools.Visible = false; } - Menu_ExportSAV.Enabled = B_VerifyCHK.Enabled = SAV.Exportable; + Menu_ExportSAV.Enabled = SAV.Exportable; - // Close subforms that are save dependent - Type[] f = { typeof(SAV_BoxViewer) }; - foreach (var form in Application.OpenForms.Cast().Where(form => f.Contains(form.GetType())).ToArray()) - form.Close(); + // No changes made yet + Menu_Undo.Enabled = false; + Menu_Redo.Enabled = false; - setBoxNames(); // Display the Box Names - if (SAV.HasBox) - { - 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_SUBE.Visible = SAV.HasSUBE; - PB_Locked.Visible = SAV.HasBattleBox && SAV.BattleBoxLocked; - - if (!SAV.HasBox && tabBoxMulti.TabPages.Contains(Tab_Box)) - tabBoxMulti.TabPages.Remove(Tab_Box); - else if (SAV.HasBox && !tabBoxMulti.TabPages.Contains(Tab_Box)) - { - tabBoxMulti.TabPages.Insert(0, Tab_Box); - WindowTranslationRequired = true; - } - Menu_LoadBoxes.Enabled = Menu_DumpBoxes.Enabled = Menu_Report.Enabled = Menu_Modify.Enabled = B_SaveBoxBin.Enabled = SAV.HasBox; - - int BoxTab = tabBoxMulti.TabPages.IndexOf(Tab_Box); - int PartyTab = tabBoxMulti.TabPages.IndexOf(Tab_PartyBattle); - - if (!SAV.HasParty && tabBoxMulti.TabPages.Contains(Tab_PartyBattle)) - tabBoxMulti.TabPages.Remove(Tab_PartyBattle); - else if (SAV.HasParty && !tabBoxMulti.TabPages.Contains(Tab_PartyBattle)) - { - int index = BoxTab; - if (index < 0) - index = -1; - tabBoxMulti.TabPages.Insert(index + 1, Tab_PartyBattle); - WindowTranslationRequired = true; - } - - if (!SAV.HasDaycare && tabBoxMulti.TabPages.Contains(Tab_Other)) - tabBoxMulti.TabPages.Remove(Tab_Other); - else if (SAV.HasDaycare && !tabBoxMulti.TabPages.Contains(Tab_Other)) - { - int index = PartyTab; - if (index < 0) - index = BoxTab; - if (index < 0) - index = -1; - tabBoxMulti.TabPages.Insert(index + 1, Tab_Other); - WindowTranslationRequired = true; - } - - if (path != null) // Actual save file - { - 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.Enabled = SAV.HasSecretBase; - B_OpenPokepuffs.Enabled = SAV.HasPuff; - B_OpenPokeBeans.Enabled = SAV.Generation == 7; - B_OpenZygardeCells.Enabled = SAV.Generation == 7; - B_OUTPasserby.Enabled = SAV.HasPSS; - B_OpenBoxLayout.Enabled = SAV.HasBoxWallpapers; - B_OpenWondercards.Enabled = SAV.HasWondercards; - B_OpenSuperTraining.Enabled = SAV.HasSuperTrain; - B_OpenHallofFame.Enabled = SAV.HasHoF; - B_OpenOPowers.Enabled = SAV.HasOPower; - B_OpenPokedex.Enabled = SAV.HasPokeDex; - B_OpenBerryField.Enabled = SAV.HasBerryField && SAV.XY; - B_OpenFriendSafari.Enabled = SAV.XY; - B_OpenPokeblocks.Enabled = SAV.HasPokeBlock; - B_JPEG.Visible = SAV.HasJPEG; - B_OpenEventFlags.Enabled = SAV.HasEvents; - B_OpenLinkInfo.Enabled = SAV.HasLink; - B_CGearSkin.Enabled = SAV.Generation == 5; - - B_OpenTrainerInfo.Enabled = B_OpenItemPouch.Enabled = SAV.HasParty; // Box RS - B_OpenMiscEditor.Enabled = SAV is SAV3 || SAV.DP || SAV.HGSS; - - B_OpenHoneyTreeEditor.Enabled = SAV.DP || SAV.Pt; - B_OpenRTCEditor.Enabled = SAV.RS || SAV.E; - } - GB_SAVtools.Visible = (path != null) && FLP_SAVtools.Controls.Cast().Any(c => c.Enabled); - foreach (Control c in FLP_SAVtools.Controls.Cast()) - c.Visible = c.Enabled; - - - // Generational Interface - Tip1.RemoveAll(); Tip2.RemoveAll(); Tip3.RemoveAll(); // TSV/PSV - - FLP_Country.Visible = FLP_SubRegion.Visible = FLP_3DSRegion.Visible = SAV.Generation >= 6; - Label_EncryptionConstant.Visible = BTN_RerollEC.Visible = TB_EC.Visible = SAV.Generation >= 6; - GB_nOT.Visible = GB_RelearnMoves.Visible = BTN_Medals.Visible = BTN_History.Visible = SAV.Generation >= 6; - PB_Legal.Visible = PB_WarnMove1.Visible = PB_WarnMove2.Visible = PB_WarnMove3.Visible = PB_WarnMove4.Visible = SAV.Generation >= 6; - - PB_MarkPentagon.Visible = SAV.Generation >= 6; - PB_MarkAlola.Visible = PB_MarkVC.Visible = PB_MarkHorohoro.Visible = SAV.Generation >= 7; - TB_Secure1.Visible = TB_Secure2.Visible = L_Secure1.Visible = L_Secure2.Visible = SAV.Exportable && SAV.Generation >= 6; - TB_GameSync.Visible = L_GameSync.Visible = SAV.Exportable && SAV.Generation >= 6; - - FLP_NSparkle.Visible = L_NSparkle.Visible = CHK_NSparkle.Visible = SAV.Generation == 5; - - CB_Form.Visible = Label_Form.Visible = CHK_AsEgg.Visible = GB_EggConditions.Visible = PB_Mark5.Visible = PB_Mark6.Visible = SAV.Generation >= 4; - - DEV_Ability.Enabled = DEV_Ability.Visible = SAV.Generation > 3 && HaX; - CB_Ability.Visible = !DEV_Ability.Enabled && SAV.Generation >= 3; - FLP_Nature.Visible = SAV.Generation >= 3; - FLP_Ability.Visible = SAV.Generation >= 3; - FLP_Language.Visible = SAV.Generation >= 3; - GB_ExtraBytes.Visible = GB_ExtraBytes.Enabled = SAV.Generation >= 3; - GB_Markings.Visible = SAV.Generation >= 3; - BTN_Ribbons.Visible = SAV.Generation >= 3; - CB_HPType.Enabled = CB_Form.Enabled = SAV.Generation >= 3; - BTN_RerollPID.Visible = Label_PID.Visible = TB_PID.Visible = Label_SID.Visible = TB_SID.Visible = SAV.Generation >= 3; - - FLP_FriendshipForm.Visible = SAV.Generation >= 2; - FLP_HeldItem.Visible = SAV.Generation >= 2; - CHK_IsEgg.Visible = Label_Gender.Visible = SAV.Generation >= 2; - FLP_PKRS.Visible = FLP_EggPKRSRight.Visible = SAV.Generation >= 2; - Label_OTGender.Visible = SAV.Generation >= 2; - - if (SAV.Version == GameVersion.BATREV) - { - L_SaveSlot.Visible = CB_SaveSlot.Visible = true; - CB_SaveSlot.DisplayMember = "Text"; CB_SaveSlot.ValueMember = "Value"; - CB_SaveSlot.DataSource = new BindingSource(((SAV4BR) SAV).SaveSlots.Select(i => new ComboItem - { - Text = ((SAV4BR) SAV).SaveNames[i], - Value = i - }).ToList(), null); - CB_SaveSlot.SelectedValue = ((SAV4BR)SAV).CurrentSlot; - } - else - L_SaveSlot.Visible = CB_SaveSlot.Visible = false; + bool WindowToggleRequired = C_SAV.SAV.Generation < 3 && sav.Generation >= 3; // version combobox refresh hack + bool WindowTranslationRequired = false; + PKM pk = preparePKM(); + PKME_Tabs.pkm = SAV.BlankPKM; + PKME_Tabs.setPKMFormatMode(SAV.Generation); + PKME_Tabs.populateFields(PKME_Tabs.pkm); + C_SAV.SAV = sav; - FLP_Purification.Visible = FLP_ShadowID.Visible = SAV.Version == GameVersion.COLO || SAV.Version == GameVersion.XD; - NUD_ShadowID.Maximum = SAV.MaxShadowID; - - // HaX override, needs to be after DEV_Ability enabled assignment. - TB_AbilityNumber.Visible = SAV.Generation >= 6 && DEV_Ability.Enabled; - - // Met Tab - FLP_MetDate.Visible = SAV.Generation >= 4; - FLP_Fateful.Visible = FLP_Ball.Visible = FLP_OriginGame.Visible = SAV.Generation >= 3; - FLP_MetLocation.Visible = FLP_MetLevel.Visible = SAV.Generation >= 2; - FLP_TimeOfDay.Visible = SAV.Generation == 2; - - // Stats - FLP_StatsTotal.Visible = SAV.Generation >= 3; - FLP_Characteristic.Visible = SAV.Generation >= 3; - FLP_HPType.Visible = SAV.Generation >= 2; - - PAN_Contest.Visible = SAV.Generation >= 3; - - // Second daycare slot - SlotPictureBoxes[43].Visible = SAV.Generation >= 2; - - if (sav.Generation == 1) - { - FLP_SpD.Visible = false; - Label_SPA.Visible = false; - Label_SPC.Visible = true; - TB_HPIV.Enabled = false; - MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; - foreach (var ctrl in evControls) - { - ctrl.Mask = "00000"; - ctrl.Size = Stat_HP.Size; - } - } - else if (sav.Generation == 2) - { - FLP_SpD.Visible = true; - Label_SPA.Visible = true; - Label_SPC.Visible = false; - TB_SPDEV.Enabled = TB_SPDIV.Enabled = false; - TB_HPIV.Enabled = false; - MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; - foreach (var ctrl in evControls) - { - ctrl.Mask = "00000"; - ctrl.Size = Stat_HP.Size; - } - } - else - { - FLP_SpD.Visible = true; - Label_SPA.Visible = true; - Label_SPC.Visible = false; - TB_SPDEV.Enabled = TB_SPDIV.Enabled = true; - TB_HPIV.Enabled = true; - MaskedTextBox[] evControls = { TB_SPAEV, TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPEEV, TB_SPDEV }; - foreach (var ctrl in evControls) - { - ctrl.Mask = "000"; - ctrl.Size = TB_ExtraByte.Size; - } - } - - // Recenter PKM SubEditors - FLP_PKMEditors.Location = new Point((Tab_OTMisc.Width - FLP_PKMEditors.Width) / 2, FLP_PKMEditors.Location.Y); - - bool init = fieldsInitialized; - fieldsInitialized = fieldsLoaded = false; - - switch (SAV.Generation) - { - case 6: - TB_GameSync.Enabled = SAV.GameSyncID != null; - TB_GameSync.MaxLength = SAV.GameSyncIDSize; - TB_GameSync.Text = (SAV.GameSyncID ?? 0.ToString()).PadLeft(SAV.GameSyncIDSize, '0'); - TB_Secure1.Text = SAV.Secure1?.ToString("X16"); - TB_Secure2.Text = SAV.Secure2?.ToString("X16"); - break; - case 7: - TB_GameSync.Enabled = SAV.GameSyncID != null; - TB_GameSync.MaxLength = SAV.GameSyncIDSize; - TB_GameSync.Text = (SAV.GameSyncID ?? 0.ToString()).PadLeft(SAV.GameSyncIDSize, '0'); - TB_Secure1.Text = SAV.Secure1?.ToString("X16"); - TB_Secure2.Text = SAV.Secure2?.ToString("X16"); - break; - } - pkm = pkm.GetType() != SAV.PKMType ? SAV.BlankPKM : pk; - if (pkm.Format < 3) - pkm = SAV.BlankPKM; - populateFilteredDataSources(); - populateFields(pkm); - fieldsInitialized |= init; - - // SAV Specific Limits - TB_OT.MaxLength = SAV.OTLength; - TB_OTt2.MaxLength = SAV.OTLength; - TB_Nickname.MaxLength = SAV.NickLength; - - // Hide Unused Tabs - if (SAV.Generation == 1 && tabMain.TabPages.Contains(Tab_Met)) - tabMain.TabPages.Remove(Tab_Met); - else if (SAV.Generation != 1 && !tabMain.TabPages.Contains(Tab_Met)) - { - tabMain.TabPages.Insert(1, Tab_Met); - WindowTranslationRequired = true; - } - - // Common HaX Interface - CHK_HackedStats.Enabled = CHK_HackedStats.Visible = MT_Level.Enabled = MT_Level.Visible = MT_Form.Enabled = MT_Form.Visible = HaX; - TB_Level.Visible = !HaX; - - // Setup PKM Preparation/Extra Bytes - setPKMFormatMode(SAV.Generation, SAV.Version); - - // pk2 save files do not have an Origin Game stored. Prompt the met location list to update. - if (SAV.Generation == 2) - updateOriginGame(null, null); - - // Refresh PK* conversion info - PKMConverter.updateConfig(SAV.SubRegion, SAV.Country, SAV.ConsoleRegion, SAV.OT, SAV.Gender, SAV.Language); + // Initialize Subviews + PKME_Tabs.ToggleInterface(); + bool init = PKME_Tabs.fieldsInitialized; + PKME_Tabs.fieldsInitialized = PKME_Tabs.fieldsLoaded = false; + WindowTranslationRequired |= PKME_Tabs.FinalizeInterface(init, SAV, pk); + WindowTranslationRequired |= C_SAV.ToggleInterface(); + C_SAV.FinalizeInterface(); + // Finalize Overall Info + Menu_LoadBoxes.Enabled = Menu_DumpBoxes.Enabled = Menu_Report.Enabled = Menu_Modify.Enabled = C_SAV.SAV.HasBox; if (WindowTranslationRequired) // force update -- re-added controls may be untranslated { // Keep window title @@ -1234,13 +789,8 @@ private void openSAV(SaveFile sav, string path) } if (WindowToggleRequired) // Version combobox selectedvalue needs a little help, only updates once it is visible { - tabMain.SelectedTab = Tab_Met; // parent tab of CB_GameOrigin - tabMain.SelectedTab = Tab_Main; // first tab + PKME_Tabs.FlickerInterface(); } - - // No changes made yet - UndoStack.Clear(); Menu_Undo.Enabled = false; - RedoStack.Clear(); Menu_Redo.Enabled = false; if (!string.IsNullOrWhiteSpace(path)) // Actual Save { @@ -1254,43 +804,140 @@ private void openSAV(SaveFile sav, string path) "If the path is a removable disk (SD card), please ensure the write protection switch is not set."); } - TemplateFields(); - loadingSAV = false; + PKME_Tabs.TemplateFields(loadTemplate(SAV)); SAV.Edited = false; - // Indicate audibly the save is loaded + PKMConverter.updateConfig(SAV.SubRegion, SAV.Country, SAV.ConsoleRegion, SAV.OT, SAV.Gender, SAV.Language); SystemSounds.Beep.Play(); } - private static void refreshMGDB() + private static bool sanityCheckSAV(ref SaveFile sav, string path) { - Legal.RefreshMGDB(MGDatabasePath); + if (!string.IsNullOrEmpty(path)) // If path is null, this is the default save + { + if (sav.RequiresMemeCrypto && !MemeCrypto.CanUseMemeCrypto()) + { + WinFormsUtil.Error("Your platform does not support the required cryptography components.", + "In order to be able to save your changes, you must either upgrade to a newer version of Windows or disable FIPS compliance mode."); + // Don't abort loading; user can still view save and fix checksum on another platform. + } + } + // Finish setting up the save file. + if (sav.Generation == 1) + { + // Ask the user if it is a VC save file or if it is from a physical cartridge. + // Necessary for legality checking possibilities that are only obtainable on GSC (non VC) or event distributions. + var drVC = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, + $"{sav.Version} Save File detected. Is this a Virtual Console Save File?", + "Yes: Virtual Console" + Environment.NewLine + "No: Physical Cartridge"); + if (drVC == DialogResult.Cancel) + return false; + Legal.AllowGBCartEra = drVC == DialogResult.No; // physical cart selected + if (Legal.AllowGBCartEra && sav.Generation == 1) + { + var drTradeback = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, + $"Generation {sav.Generation} Save File detected. Allow tradebacks from Generation 2 for legality purposes?", + "Yes: Allow Generation 2 tradeback learnsets" + Environment.NewLine + + "No: Don't allow Generation 2 tradeback learnsets"); + Legal.AllowGen1Tradeback = drTradeback == DialogResult.Yes; + } + else + Legal.AllowGen1Tradeback = false; + } + else + Legal.AllowGBCartEra = Legal.AllowGen1Tradeback = sav.Generation == 2; + + if (sav.Generation == 3 && (sav.IndeterminateGame || ModifierKeys == Keys.Control)) + { + WinFormsUtil.Alert($"Generation {sav.Generation} Save File detected.", "Select version."); + var g = new[] {GameVersion.R, GameVersion.S, GameVersion.E, GameVersion.FR, GameVersion.LG}; + var games = g.Select(z => GameInfo.VersionDataSource.First(v => v.Value == (int) z)); + var dialog = new SAV_GameSelect(games); + dialog.ShowDialog(); + + switch (dialog.Result) // Reset save file info + { + case GameVersion.R: + case GameVersion.S: + sav = new SAV3(sav.BAK, GameVersion.RS); + break; + case GameVersion.E: + sav = new SAV3(sav.BAK, GameVersion.E); + break; + case GameVersion.FR: + case GameVersion.LG: + sav = new SAV3(sav.BAK, GameVersion.FRLG); + break; + default: return false; + } + if (sav.Version == GameVersion.FRLG) + sav.Personal = dialog.Result == GameVersion.FR ? PersonalTable.FR : PersonalTable.LG; + } + else if (sav.IndeterminateSubVersion && sav.Version == GameVersion.FRLG) + { + string fr = GameInfo.VersionDataSource.First(r => r.Value == (int) GameVersion.FR).Text; + string lg = GameInfo.VersionDataSource.First(l => l.Value == (int) GameVersion.LG).Text; + const string dual = "{0}/{1} Save File Detected."; + WinFormsUtil.Alert(string.Format(dual, fr, lg), "Select version."); + var g = new[] {GameVersion.FR, GameVersion.LG}; + var games = g.Select(z => GameInfo.VersionDataSource.First(v => v.Value == (int) z)); + var dialog = new SAV_GameSelect(games); + dialog.ShowDialog(); + + sav.Personal = dialog.Result == GameVersion.FR ? PersonalTable.FR : PersonalTable.LG; + } + + if (sav.IndeterminateLanguage) + { + // Japanese Save files are different. Get isJapanese + var drJP = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, + $"{sav.Version} Save File detected. Select language...", + "Yes: International" + Environment.NewLine + "No: Japanese"); + if (drJP == DialogResult.Cancel) + return false; + + sav.Japanese = drJP == DialogResult.No; + } + return true; + } + + + public static void setCountrySubRegion(ComboBox CB, string type) + { + int index = CB.SelectedIndex; + // fix for Korean / Chinese being swapped + string cl = GameInfo.CurrentLanguage + ""; + cl = cl == "zh" ? "ko" : cl == "ko" ? "zh" : cl; + + CB.DataSource = Util.getCBList(type, cl); + + if (index > 0 && index < CB.Items.Count) + CB.SelectedIndex = index; } // Language Translation private void changeMainLanguage(object sender, EventArgs e) { if (CB_MainLanguage.SelectedIndex < 8) - curlanguage = GameInfo.lang_val[CB_MainLanguage.SelectedIndex]; + curlanguage = GameInfo.Language2Char((uint)CB_MainLanguage.SelectedIndex); // Set the culture (makes it easy to pass language to other forms) Settings.Default.Language = curlanguage; Thread.CurrentThread.CurrentCulture = new CultureInfo(curlanguage.Substring(0, 2)); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; - PKM pk = SAV.getPKM((fieldsInitialized ? preparePKM() : pkm).Data); - bool alreadyInit = fieldsInitialized; - fieldsInitialized = false; + PKM pk = C_SAV.SAV.getPKM((PKME_Tabs.fieldsInitialized ? preparePKM() : PKME_Tabs.pkm).Data); + bool alreadyInit = PKME_Tabs.fieldsInitialized; + PKME_Tabs.fieldsInitialized = false; Menu_Options.DropDown.Close(); InitializeStrings(); - InitializeLanguage(); + PKME_Tabs.InitializeLanguage(C_SAV.SAV); string ProgramTitle = Text; WinFormsUtil.TranslateInterface(this, curlanguage); // Translate the UI to language. Text = ProgramTitle; - // Recenter PKM SubEditors - FLP_PKMEditors.Location = new Point((Tab_OTMisc.Width - FLP_PKMEditors.Width)/2, FLP_PKMEditors.Location.Y); - populateFields(pk); // put data back in form - fieldsInitialized |= alreadyInit; + PKME_Tabs.CenterSubEditors(); + PKME_Tabs.populateFields(pk); // put data back in form + PKME_Tabs.fieldsInitialized |= alreadyInit; } private void InitializeStrings() { @@ -1302,367 +949,20 @@ private void InitializeStrings() Task.Run(() => Util.setLocalization(typeof(LegalityCheckStrings), Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.Substring(0, 2))); // Force an update to the met locations - origintrack = GameVersion.Unknown; + PKME_Tabs.origintrack = GameVersion.Unknown; // Update Legality Analysis strings LegalityAnalysis.movelist = GameInfo.Strings.movelist; LegalityAnalysis.specieslist = GameInfo.Strings.specieslist; - if (fieldsInitialized) - updateIVs(null, null); // Prompt an update for the characteristics + if (PKME_Tabs.fieldsInitialized) + PKME_Tabs.updateStringDisplay(); } #endregion #region //// PKX WINDOW FUNCTIONS //// - private void InitializeFields() - { - // Now that the ComboBoxes are ready, load the data. - fieldsInitialized = true; - pkm.RefreshChecksum(); - // Load Data - populateFields(pkm); - TemplateFields(); - CB_BoxSelect.SelectedIndex = 0; - } - private static PKM loadTemplate() - { - if (!Directory.Exists(TemplatePath)) - return null; - var blank = SAV.BlankPKM; - string path = Path.Combine(TemplatePath, new DirectoryInfo(TemplatePath).Name + "." + blank.Extension); - - if (!File.Exists(path) || !PKX.getIsPKM(new FileInfo(path).Length)) - return null; - - var pk = PKMConverter.getPKMfromBytes(File.ReadAllBytes(path), prefer: blank.Format); - return PKMConverter.convertToFormat(pk, SAV.BlankPKM.GetType(), out path); // no sneaky plz; reuse string - } - private void TemplateFields() - { - var template = loadTemplate(); - if (template != null) - { populateFields(template); return; } - CB_GameOrigin.SelectedIndex = 0; - CB_Move1.SelectedValue = 1; - TB_OT.Text = "PKHeX"; - TB_TID.Text = 12345.ToString(); - TB_SID.Text = 54321.ToString(); - int curlang = Array.IndexOf(GameInfo.lang_val, curlanguage); - CB_Language.SelectedIndex = curlang > CB_Language.Items.Count - 1 ? 1 : curlang; - CB_Ball.SelectedIndex = Math.Min(0, CB_Ball.Items.Count - 1); - CB_Country.SelectedIndex = Math.Min(0, CB_Country.Items.Count - 1); - CAL_MetDate.Value = CAL_EggDate.Value = DateTime.Today; - CB_Species.SelectedValue = SAV.MaxSpeciesID; - CHK_Nicknamed.Checked = false; - lastData = null; - } - private void InitializeLanguage() - { - ComboBox[] cbs = - { - CB_Country, CB_SubRegion, CB_3DSReg, CB_Language, CB_Ball, CB_HeldItem, CB_Species, DEV_Ability, - CB_Nature, CB_EncounterType, CB_GameOrigin, CB_HPType - }; - foreach (var cb in cbs) { cb.DisplayMember = "Text"; cb.ValueMember = "Value"; } - - // Set the various ComboBox DataSources up with their allowed entries - setCountrySubRegion(CB_Country, "countries"); - CB_3DSReg.DataSource = Util.getUnsortedCBList("regions3ds"); - - GameInfo.InitializeDataSources(GameInfo.Strings); - - CB_EncounterType.DataSource = Util.getCBList(GameInfo.Strings.encountertypelist, new[] { 0 }, Legal.Gen4EncounterTypes); - CB_HPType.DataSource = Util.getCBList(GameInfo.Strings.types.Skip(1).Take(16).ToArray(), null); - CB_Nature.DataSource = new BindingSource(GameInfo.NatureDataSource, null); - - populateFilteredDataSources(); - } - private void populateFilteredDataSources() - { - GameInfo.setItemDataSource(HaX, SAV.MaxItemID, SAV.HeldItems, SAV.Generation, SAV.Version, GameInfo.Strings); - if (SAV.Generation > 1) - CB_HeldItem.DataSource = new BindingSource(GameInfo.ItemDataSource.Where(i => i.Value <= SAV.MaxItemID).ToList(), null); - - var languages = Util.getUnsortedCBList("languages"); - if (SAV.Generation < 7) - languages = languages.Where(l => l.Value <= 8).ToList(); // Korean - CB_Language.DataSource = languages; - - CB_Ball.DataSource = new BindingSource(GameInfo.BallDataSource.Where(b => b.Value <= SAV.MaxBallID).ToList(), null); - CB_Species.DataSource = new BindingSource(GameInfo.SpeciesDataSource.Where(s => s.Value <= SAV.MaxSpeciesID).ToList(), null); - DEV_Ability.DataSource = new BindingSource(GameInfo.AbilityDataSource.Where(a => a.Value <= SAV.MaxAbilityID).ToList(), null); - CB_GameOrigin.DataSource = new BindingSource(GameInfo.VersionDataSource.Where(g => g.Value <= SAV.MaxGameID || SAV.Generation >= 3 && g.Value == 15).ToList(), null); - - // Set the Move ComboBoxes too.. - GameInfo.MoveDataSource = (HaX ? GameInfo.HaXMoveDataSource : GameInfo.LegalMoveDataSource).Where(m => m.Value <= SAV.MaxMoveID).ToList(); // Filter Z-Moves if appropriate - foreach (ComboBox cb in new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4, CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 }) - { - cb.DisplayMember = "Text"; cb.ValueMember = "Value"; - cb.DataSource = new BindingSource(GameInfo.MoveDataSource, null); - } - } - private Action getFieldsfromPKM; - private Func getPKMfromFields; - private byte[] lastData; - private bool PKMIsUnsaved => fieldsInitialized && Menu_ModifyUnset.Checked && !loadingSAV && lastData != null && lastData.Any(b => b != 0) && !lastData.SequenceEqual(preparePKM().Data); - - private void setPKMFormatMode(int Format, GameVersion version) - { - byte[] extraBytes = new byte[0]; - switch (Format) - { - case 1: - getFieldsfromPKM = populateFieldsPK1; - getPKMfromFields = preparePK1; - break; - case 2: - getFieldsfromPKM = populateFieldsPK2; - getPKMfromFields = preparePK2; - break; - case 3: - if (version == GameVersion.COLO) - { - getFieldsfromPKM = populateFieldsCK3; - getPKMfromFields = prepareCK3; - extraBytes = CK3.ExtraBytes; - break; - } - if (version == GameVersion.XD) - { - getFieldsfromPKM = populateFieldsXK3; - getPKMfromFields = prepareXK3; - extraBytes = XK3.ExtraBytes; - break; - } - getFieldsfromPKM = populateFieldsPK3; - getPKMfromFields = preparePK3; - extraBytes = PK3.ExtraBytes; - break; - case 4: - if (version == GameVersion.BATREV) - { - getFieldsfromPKM = populateFieldsBK4; - getPKMfromFields = prepareBK4; - } - else - { - getFieldsfromPKM = populateFieldsPK4; - getPKMfromFields = preparePK4; - } - extraBytes = PK4.ExtraBytes; - break; - case 5: - getFieldsfromPKM = populateFieldsPK5; - getPKMfromFields = preparePK5; - extraBytes = PK5.ExtraBytes; - break; - case 6: - getFieldsfromPKM = populateFieldsPK6; - getPKMfromFields = preparePK6; - extraBytes = PK6.ExtraBytes; - break; - case 7: - getFieldsfromPKM = populateFieldsPK7; - getPKMfromFields = preparePK7; - extraBytes = PK7.ExtraBytes; - break; - } - - // Load Extra Byte List - GB_ExtraBytes.Visible = GB_ExtraBytes.Enabled = extraBytes.Length != 0; - if (GB_ExtraBytes.Enabled) - { - CB_ExtraBytes.Items.Clear(); - foreach (byte b in extraBytes) - CB_ExtraBytes.Items.Add($"0x{b:X2}"); - CB_ExtraBytes.SelectedIndex = 0; - } - } - public void populateFields(PKM pk, bool focus = true) - { - if (pk == null) { WinFormsUtil.Error("Attempted to load a null file."); return; } - - if ((pk.Format >= 3 && pk.Format > SAV.Generation) // pk3-7, can't go backwards - || (pk.Format <= 2 && SAV.Generation > 2 && SAV.Generation < 7)) // pk1-2, can't go 3-6 - { WinFormsUtil.Alert($"Can't load Gen{pk.Format} to Gen{SAV.Generation} games."); return; } - - bool oldInit = fieldsInitialized; - fieldsInitialized = fieldsLoaded = false; - if (focus) - Tab_Main.Focus(); - - pkm = pk.Clone(); - - if (fieldsInitialized & !pkm.ChecksumValid) - WinFormsUtil.Alert("PKM File has an invalid checksum."); - - if (pkm.Format != SAV.Generation) // past gen format - { - pkm = PKMConverter.convertToFormat(pkm, SAV.PKMType, out string _); - if (pk.Format != pkm.Format && focus) // converted - WinFormsUtil.Alert("Converted File."); - } - - try { getFieldsfromPKM(); } - catch { fieldsInitialized = oldInit; throw; } - - CB_EncounterType.Visible = Label_EncounterType.Visible = pkm.Gen4 && SAV.Generation < 7; - fieldsInitialized = oldInit; - updateIVs(null, null); - updatePKRSInfected(null, null); - updatePKRSCured(null, null); - - if (HaX) // Load original values from pk not pkm - { - MT_Level.Text = (pk.Stat_HPMax != 0 ? pk.Stat_Level : PKX.getLevel(pk.Species, pk.EXP)).ToString(); - TB_EXP.Text = pk.EXP.ToString(); - MT_Form.Text = pk.AltForm.ToString(); - if (pk.Stat_HPMax != 0) // stats present - { - Stat_HP.Text = pk.Stat_HPCurrent.ToString(); - Stat_ATK.Text = pk.Stat_ATK.ToString(); - Stat_DEF.Text = pk.Stat_DEF.ToString(); - Stat_SPA.Text = pk.Stat_SPA.ToString(); - Stat_SPD.Text = pk.Stat_SPD.ToString(); - Stat_SPE.Text = pk.Stat_SPE.ToString(); - } - } - fieldsLoaded = true; - - Label_HatchCounter.Visible = CHK_IsEgg.Checked && SAV.Generation > 1; - Label_Friendship.Visible = !CHK_IsEgg.Checked && SAV.Generation > 1; - - // Set the Preview Box - dragout.Image = pk.Sprite(); - setMarkings(); - updateLegality(); - lastData = preparePKM()?.Data; - } - - // General Use Functions shared by other Forms // - public Color getGenderColor(int gender) - { - if (gender == 0) // male - return Color.Blue; - if (gender == 1) // female - return Color.Red; - return CB_Species.ForeColor; - } - internal static void setCountrySubRegion(ComboBox CB, string type) - { - int index = CB.SelectedIndex; - // fix for Korean / Chinese being swapped - string cl = curlanguage + ""; - cl = cl == "zh" ? "ko" : cl == "ko" ? "zh" : cl; - - CB.DataSource = Util.getCBList(type, cl); - - if (index > 0 && index < CB.Items.Count && fieldsInitialized) - CB.SelectedIndex = index; - } - private void setForms() - { - int species = WinFormsUtil.getIndex(CB_Species); - if (SAV.Generation < 4 && species != 201) - { - Label_Form.Visible = CB_Form.Visible = CB_Form.Enabled = false; - return; - } - - bool hasForms = SAV.Personal[species].HasFormes || new[] { 201, 664, 665, 414 }.Contains(species); - CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = hasForms; - - if (HaX && SAV.Generation >= 4) - Label_Form.Visible = true; - - if (!hasForms) - return; - - var ds = PKX.getFormList(species, GameInfo.Strings.types, GameInfo.Strings.forms, gendersymbols, SAV.Generation).ToList(); - if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) // empty (Alolan Totems) - CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = false; - else CB_Form.DataSource = ds; - } - private void setAbilityList() - { - if (SAV.Generation < 3) // no abilities - return; - - int formnum = 0; - int species = WinFormsUtil.getIndex(CB_Species); - if (SAV.Generation > 3) // has forms - formnum = CB_Form.SelectedIndex; - - int[] abils = SAV.Personal.getAbilities(species, formnum); - if (abils[1] == 0 && SAV.Generation != 3) - abils[1] = abils[0]; - string[] abilIdentifier = {" (1)", " (2)", " (H)"}; - List ability_list = abils.Where(a => a != 0).Select((t, i) => GameInfo.Strings.abilitylist[t] + abilIdentifier[i]).ToList(); - if (!ability_list.Any()) - ability_list.Add(GameInfo.Strings.abilitylist[0] + abilIdentifier[0]); - - bool tmp = fieldsLoaded; - fieldsLoaded = false; - int abil = CB_Ability.SelectedIndex; - CB_Ability.DataSource = ability_list; - CB_Ability.SelectedIndex = abil < 0 || abil >= CB_Ability.Items.Count ? 0 : abil; - fieldsLoaded = tmp; - } - // PKX Data Calculation Functions // - private void setIsShiny(object sender) - { - if (sender == TB_PID) - pkm.PID = Util.getHEXval(TB_PID.Text); - else if (sender == TB_TID) - pkm.TID = (int)Util.ToUInt32(TB_TID.Text); - else if (sender == TB_SID) - pkm.SID = (int)Util.ToUInt32(TB_SID.Text); - - bool isShiny = pkm.IsShiny; - - // Set the Controls - BTN_Shinytize.Visible = BTN_Shinytize.Enabled = !isShiny; - Label_IsShiny.Visible = isShiny; - - // Refresh Markings (for Shiny Star if applicable) - setMarkings(); - } - private void setMarkings() - { - double getOpacity(bool b) => b ? 1 : 0.175; - PictureBox[] pba = { PB_Mark1, PB_Mark2, PB_Mark3, PB_Mark4, PB_Mark5, PB_Mark6 }; - for (int i = 0; i < pba.Length; i++) - pba[i].Image = ImageUtil.ChangeOpacity(pba[i].InitialImage, getOpacity(pkm.Markings[i] != 0)); - - PB_MarkShiny.Image = ImageUtil.ChangeOpacity(PB_MarkShiny.InitialImage, getOpacity(!BTN_Shinytize.Enabled)); - PB_MarkCured.Image = ImageUtil.ChangeOpacity(PB_MarkCured.InitialImage, getOpacity(CHK_Cured.Checked)); - - PB_MarkPentagon.Image = ImageUtil.ChangeOpacity(PB_MarkPentagon.InitialImage, getOpacity(pkm.Gen6)); - - // Gen7 Markings - if (pkm.Format != 7) - return; - - PB_MarkAlola.Image = ImageUtil.ChangeOpacity(PB_MarkAlola.InitialImage, getOpacity(pkm.Gen7)); - PB_MarkVC.Image = ImageUtil.ChangeOpacity(PB_MarkVC.InitialImage, getOpacity(pkm.VC)); - PB_MarkHorohoro.Image = ImageUtil.ChangeOpacity(PB_MarkHorohoro.InitialImage, getOpacity(pkm.Horohoro)); - - for (int i = 0; i < pba.Length; i++) - { - switch (pkm.Markings[i]) - { - case 1: - pba[i].Image = ImageUtil.ChangeAllColorTo(pba[i].Image, Color.FromArgb(000, 191, 255)); - break; - case 2: - pba[i].Image = ImageUtil.ChangeAllColorTo(pba[i].Image, Color.FromArgb(255, 117, 179)); - break; - } - } - } - // Clicked Label Shortcuts // private bool QR6Notified; private void clickQR(object sender, EventArgs e) { @@ -1672,31 +972,31 @@ private void clickQR(object sender, EventArgs e) byte[] ekx = QR.getQRData(); if (ekx == null) return; - - PKM pk = PKMConverter.getPKMfromBytes(ekx, prefer: SAV.Generation); + + PKM pk = PKMConverter.getPKMfromBytes(ekx, prefer: C_SAV.SAV.Generation); if (pk == null) { WinFormsUtil.Alert("Decoded data not a valid PKM.", $"QR Data Size: {ekx.Length}"); } else { if (!pk.Valid || pk.Species <= 0) { WinFormsUtil.Alert("Invalid data detected."); return; } - PKM pkz = PKMConverter.convertToFormat(pk, SAV.PKMType, out string c); + PKM pkz = PKMConverter.convertToFormat(pk, C_SAV.SAV.PKMType, out string c); if (pkz == null) { WinFormsUtil.Alert(c); return; } - populateFields(pkz); + PKME_Tabs.populateFields(pkz); } } else { - if (!verifiedPKM()) return; + if (!PKME_Tabs.verifiedPKM()) return; PKM pkx = preparePKM(); - + Image qr; switch (pkx.Format) { case 7: - qr = QR.GenerateQRCode7((PK7) pkx); + qr = QR.GenerateQRCode7((PK7)pkx); break; default: if (pkx.Format == 6 && !QR6Notified) // hint that the user should not be using QR6 injection @@ -1724,1194 +1024,20 @@ private void clickQR(object sender, EventArgs e) new QR(qr, sprite, r[0], r[1], r[2], $"{refer} ({pkx.GetType().Name})", pkx).ShowDialog(); } } - private void clickFriendship(object sender, EventArgs e) + private void clickLegality(object sender, EventArgs e) { - if (ModifierKeys == Keys.Control) // prompt to reset - TB_Friendship.Text = pkm.CurrentFriendship.ToString(); - else - TB_Friendship.Text = TB_Friendship.Text == "255" ? SAV.Personal[pkm.Species].BaseFriendship.ToString() : "255"; - } - private void clickLevel(object sender, EventArgs e) - { - if (ModifierKeys == Keys.Control) - ((MaskedTextBox) sender).Text = "100"; - } - private void clickGender(object sender, EventArgs e) - { - // Get Gender Threshold - int gt = SAV.Personal.getFormeEntry(WinFormsUtil.getIndex(CB_Species), CB_Form.SelectedIndex).Gender; + if (!PKME_Tabs.verifiedPKM()) + { SystemSounds.Asterisk.Play(); return; } - if (gt == 255 || gt == 0 || gt == 254) // Single gender/genderless - return; + var pk = preparePKM(); - if (gt >= 255) return; - // If not a single gender(less) species: (should be <254 but whatever, 255 never happens) + if (pk.Species == 0 || !pk.ChecksumValid) + { SystemSounds.Asterisk.Play(); return; } - int newGender = PKX.getGender(Label_Gender.Text) ^ 1; - if (SAV.Generation == 2) - do { TB_ATKIV.Text = (Util.rnd32() & SAV.MaxIV).ToString(); } while (PKX.getGender(Label_Gender.Text) != newGender); - else if (SAV.Generation <= 4) - { - pkm.Species = WinFormsUtil.getIndex(CB_Species); - pkm.Version = WinFormsUtil.getIndex(CB_GameOrigin); - pkm.Nature = WinFormsUtil.getIndex(CB_Nature); - pkm.AltForm = CB_Form.SelectedIndex; - - pkm.setPIDGender(newGender); - TB_PID.Text = pkm.PID.ToString("X8"); - } - pkm.Gender = newGender; - Label_Gender.Text = gendersymbols[pkm.Gender]; - Label_Gender.ForeColor = getGenderColor(pkm.Gender); - - if (PKX.getGender(CB_Form.Text) < 2) // Gendered Forms - CB_Form.SelectedIndex = PKX.getGender(Label_Gender.Text); - - getQuickFiller(dragout); - } - private void clickPPUps(object sender, EventArgs e) - { - CB_PPu1.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move1) > 0 ? 3 : 0; - CB_PPu2.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move2) > 0 ? 3 : 0; - CB_PPu3.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move3) > 0 ? 3 : 0; - CB_PPu4.SelectedIndex = ModifierKeys != Keys.Control && WinFormsUtil.getIndex(CB_Move4) > 0 ? 3 : 0; - } - private void clickMarking(object sender, EventArgs e) - { - PictureBox[] pba = { PB_Mark1, PB_Mark2, PB_Mark3, PB_Mark4, PB_Mark5, PB_Mark6 }; - int index = Array.IndexOf(pba, sender); - - // Handling Gens 3-6 - int[] markings = pkm.Markings; - switch (pkm.Format) - { - case 3: - case 4: - case 5: - case 6: // on/off - markings[index] ^= 1; // toggle - pkm.Markings = markings; - break; - case 7: // 0 (none) | 1 (blue) | 2 (pink) - markings[index] = (markings[index]+1)%3; // cycle - pkm.Markings = markings; - break; - default: - return; - } - setMarkings(); - } - private void clickStatLabel(object sender, MouseEventArgs e) - { - if (!(ModifierKeys == Keys.Control || ModifierKeys == Keys.Alt)) - return; - - if (sender == Label_SPC) - sender = Label_SPA; - int index = Array.IndexOf(new[] { Label_HP, Label_ATK, Label_DEF, Label_SPA, Label_SPD, Label_SPE }, sender); - - if (ModifierKeys == Keys.Alt) // EV - { - var mt = new[] {TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPAEV, TB_SPDEV, TB_SPEEV}[index]; - if (e.Button == MouseButtons.Left) // max - mt.Text = SAV.Generation >= 3 - ? Math.Min(Math.Max(510 - Util.ToInt32(TB_EVTotal.Text) + Util.ToInt32(mt.Text), 0), 252).ToString() - : ushort.MaxValue.ToString(); - else // min - mt.Text = 0.ToString(); - } - else - new[] {TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV}[index].Text = - (e.Button == MouseButtons.Left ? SAV.MaxIV : 0).ToString(); - } - private void clickIV(object sender, EventArgs e) - { - if (ModifierKeys == Keys.Control) - if (SAV.Generation < 7) - ((MaskedTextBox) sender).Text = SAV.MaxIV.ToString(); - else - { - var index = Array.IndexOf(new[] {TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV}, sender); - pkm.HyperTrainInvert(index); - updateIVs(sender, e); - } - else if (ModifierKeys == Keys.Alt) - ((MaskedTextBox) sender).Text = 0.ToString(); - } - private void clickEV(object sender, EventArgs e) - { - MaskedTextBox mt = (MaskedTextBox)sender; - if (ModifierKeys == Keys.Control) // EV - mt.Text = SAV.Generation >= 3 - ? Math.Min(Math.Max(510 - Util.ToInt32(TB_EVTotal.Text) + Util.ToInt32(mt.Text), 0), 252).ToString() - : ushort.MaxValue.ToString(); - else if (ModifierKeys == Keys.Alt) - mt.Text = 0.ToString(); - } - private void clickOT(object sender, EventArgs e) - { - if (!SAV.Exportable) - return; - - // Get Save Information - TB_OT.Text = SAV.OT; - Label_OTGender.Text = gendersymbols[SAV.Gender % 2]; - Label_OTGender.ForeColor = getGenderColor(SAV.Gender % 2); - TB_TID.Text = SAV.TID.ToString("00000"); - TB_SID.Text = SAV.SID.ToString("00000"); - - if (SAV.Game >= 0) - CB_GameOrigin.SelectedValue = SAV.Game; - if (SAV.Language >= 0) - CB_Language.SelectedValue = SAV.Language; - if (SAV.HasGeolocation) - { - CB_3DSReg.SelectedValue = SAV.ConsoleRegion; - CB_Country.SelectedValue = SAV.Country; - CB_SubRegion.SelectedValue = SAV.SubRegion; - } - updateNickname(null, null); - } - private void clickCT(object sender, EventArgs e) - { - if (TB_OTt2.Text.Length > 0) - Label_CTGender.Text = gendersymbols[SAV.Gender % 2]; - } - private void clickGT(object sender, EventArgs e) - { - if (!GB_nOT.Visible) - return; - if (sender == GB_OT) - { - pkm.CurrentHandler = 0; - GB_OT.BackgroundImage = mixedHighlight; - GB_nOT.BackgroundImage = null; - } - else if (TB_OTt2.Text.Length > 0) - { - pkm.CurrentHandler = 1; - GB_OT.BackgroundImage = null; - GB_nOT.BackgroundImage = mixedHighlight; - } - TB_Friendship.Text = pkm.CurrentFriendship.ToString(); - } - private void clickTRGender(object sender, EventArgs e) - { - Label lbl = sender as Label; - if (!string.IsNullOrWhiteSpace(lbl?.Text)) // set gender label (toggle M/F) - { - int gender = PKX.getGender(lbl.Text) ^ 1; - lbl.Text = gendersymbols[gender]; - lbl.ForeColor = getGenderColor(gender); - } - } - private void clickMoves(object sender, EventArgs e) - { - updateLegality(skipMoveRepop:true); - if (sender == GB_CurrentMoves) - { - bool random = ModifierKeys == Keys.Control; - int[] m = Legality.getSuggestedMoves(tm: random, tutor: random, reminder: random); - if (m == null) - { WinFormsUtil.Alert("Suggestions are not enabled for this PKM format."); return; } - - if (random) - Util.Shuffle(m); - if (m.Length > 4) - m = m.Skip(m.Length - 4).ToArray(); - Array.Resize(ref m, 4); - - if (pkm.Moves.SequenceEqual(m)) - return; - - string r = string.Join(Environment.NewLine, m.Select(v => v >= GameInfo.Strings.movelist.Length ? "ERROR" : GameInfo.Strings.movelist[v])); - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Apply suggested current moves?", r)) - return; - - CB_Move1.SelectedValue = m[0]; - CB_Move2.SelectedValue = m[1]; - CB_Move3.SelectedValue = m[2]; - CB_Move4.SelectedValue = m[3]; - } - else if (sender == GB_RelearnMoves) - { - int[] m = Legality.getSuggestedRelearn(); - if (!pkm.WasEgg && !pkm.WasEvent && !pkm.WasEventEgg && !pkm.WasLink) - { - var encounter = Legality.getSuggestedMetInfo(); - if (encounter != null) - m = encounter.Relearn; - } - - if (pkm.RelearnMoves.SequenceEqual(m)) - return; - - string r = string.Join(Environment.NewLine, m.Select(v => v >= GameInfo.Strings.movelist.Length ? "ERROR" : GameInfo.Strings.movelist[v])); - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Apply suggested relearn moves?", r)) - return; - - CB_RelearnMove1.SelectedValue = m[0]; - CB_RelearnMove2.SelectedValue = m[1]; - CB_RelearnMove3.SelectedValue = m[2]; - CB_RelearnMove4.SelectedValue = m[3]; - } - - updateLegality(); - } - private void clickMetLocation(object sender, EventArgs e) - { - if (HaX) - return; - - pkm = preparePKM(); - updateLegality(skipMoveRepop:true); - if (Legality.Valid) - return; - - var encounter = Legality.getSuggestedMetInfo(); - if (encounter == null || (pkm.Format >= 3 && encounter.Location < 0)) - { - WinFormsUtil.Alert("Unable to provide a suggestion."); - return; - } - - int level = encounter.Level; - int location = encounter.Location; - int minlvl = Legal.getLowestLevel(pkm, encounter.Species); - if (minlvl == 0) - minlvl = level; - - if (pkm.CurrentLevel >= minlvl && pkm.Met_Level == level && pkm.Met_Location == location) - return; - if (minlvl < level) - minlvl = level; - - var suggestion = new List {"Suggested:"}; - if (pkm.Format >= 3) - { - var met_list = GameInfo.getLocationList((GameVersion)pkm.Version, SAV.Generation, egg: false); - var locstr = met_list.FirstOrDefault(loc => loc.Value == location)?.Text; - suggestion.Add($"Met Location: {locstr}"); - suggestion.Add($"Met Level: {level}"); - } - if (pkm.CurrentLevel < minlvl) - suggestion.Add($"Current Level: {minlvl}"); - - if (suggestion.Count == 1) // no suggestion - return; - - string suggest = string.Join(Environment.NewLine, suggestion); - if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, suggest) != DialogResult.Yes) - return; - - if (pkm.Format >= 3) - { - TB_MetLevel.Text = level.ToString(); - CB_MetLocation.SelectedValue = location; - } - - if (pkm.CurrentLevel < minlvl) - TB_Level.Text = minlvl.ToString(); - - pkm = preparePKM(); - updateLegality(); - } - // Prompted Updates of PKX Functions // - private bool changingFields; - private void updateBall(object sender, EventArgs e) - { - PB_Ball.Image = PKMUtil.getBallSprite(WinFormsUtil.getIndex(CB_Ball)); - } - private void updateEXPLevel(object sender, EventArgs e) - { - if (changingFields || !fieldsInitialized) return; - - changingFields = true; - if (sender == TB_EXP) - { - // Change the Level - uint EXP = Util.ToUInt32(TB_EXP.Text); - int Species = WinFormsUtil.getIndex(CB_Species); - int Level = PKX.getLevel(Species, EXP); - if (Level == 100) - EXP = PKX.getEXP(100, Species); - - TB_Level.Text = Level.ToString(); - if (!HaX) - TB_EXP.Text = EXP.ToString(); - else if (Level <= 100 && Util.ToInt32(MT_Level.Text) <= 100) - MT_Level.Text = Level.ToString(); - } - else - { - // Change the XP - int Level = Util.ToInt32((HaX ? MT_Level : TB_Level).Text); - if (Level > 100) TB_Level.Text = "100"; - if (Level > byte.MaxValue) MT_Level.Text = "255"; - - if (Level <= 100) - TB_EXP.Text = PKX.getEXP(Level, WinFormsUtil.getIndex(CB_Species)).ToString(); - } - changingFields = false; - if (fieldsLoaded) // store values back - { - pkm.EXP = Util.ToUInt32(TB_EXP.Text); - pkm.Stat_Level = Util.ToInt32((HaX ? MT_Level : TB_Level).Text); - } - updateStats(); - updateLegality(); - } - private void updateHPType(object sender, EventArgs e) - { - if (changingFields || !fieldsInitialized) return; - changingFields = true; - int[] ivs = - { - Util.ToInt32(TB_HPIV.Text), Util.ToInt32(TB_ATKIV.Text), Util.ToInt32(TB_DEFIV.Text), - Util.ToInt32(TB_SPAIV.Text), Util.ToInt32(TB_SPDIV.Text), Util.ToInt32(TB_SPEIV.Text) - }; - - // Change IVs to match the new Hidden Power - int[] newIVs = PKX.setHPIVs(WinFormsUtil.getIndex(CB_HPType), ivs); - TB_HPIV.Text = newIVs[0].ToString(); - TB_ATKIV.Text = newIVs[1].ToString(); - TB_DEFIV.Text = newIVs[2].ToString(); - TB_SPAIV.Text = newIVs[3].ToString(); - TB_SPDIV.Text = newIVs[4].ToString(); - TB_SPEIV.Text = newIVs[5].ToString(); - - // Refresh View - changingFields = false; - updateIVs(null, null); - } - private void updateIVs(object sender, EventArgs e) - { - if (changingFields || !fieldsInitialized) return; - if (sender != null && Util.ToInt32(((MaskedTextBox) sender).Text) > SAV.MaxIV) - ((MaskedTextBox) sender).Text = SAV.MaxIV.ToString("00"); - - changingFields = true; - - // Update IVs - pkm.IV_HP = Util.ToInt32(TB_HPIV.Text); - pkm.IV_ATK = Util.ToInt32(TB_ATKIV.Text); - pkm.IV_DEF = Util.ToInt32(TB_DEFIV.Text); - pkm.IV_SPE = Util.ToInt32(TB_SPEIV.Text); - pkm.IV_SPA = Util.ToInt32(TB_SPAIV.Text); - pkm.IV_SPD = Util.ToInt32(TB_SPDIV.Text); - - var IV_Boxes = new[] {TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV}; - var HT_Vals = new[] {pkm.HT_HP, pkm.HT_ATK, pkm.HT_DEF, pkm.HT_SPA, pkm.HT_SPD, pkm.HT_SPE}; - for (int i = 0; i < IV_Boxes.Length; i++) - if (HT_Vals[i]) - IV_Boxes[i].BackColor = Color.LightGreen; - else - IV_Boxes[i].ResetBackColor(); - - if (SAV.Generation < 3) - { - TB_HPIV.Text = pkm.IV_HP.ToString(); - TB_SPDIV.Text = TB_SPAIV.Text; - if (SAV.Generation == 2) - { - Label_Gender.Text = gendersymbols[pkm.Gender]; - Label_Gender.ForeColor = getGenderColor(pkm.Gender); - if (pkm.Species == 201 && e != null) // Unown - CB_Form.SelectedIndex = pkm.AltForm; - } - setIsShiny(null); - getQuickFiller(dragout); - } - - CB_HPType.SelectedValue = pkm.HPType; - changingFields = false; - - // Potential Reading - L_Potential.Text = (unicode - ? new[] {"★☆☆☆", "★★☆☆", "★★★☆", "★★★★"} - : new[] {"+", "++", "+++", "++++"} - )[pkm.PotentialRating]; - - TB_IVTotal.Text = pkm.IVs.Sum().ToString(); - - int characteristic = pkm.Characteristic; - L_Characteristic.Visible = Label_CharacteristicPrefix.Visible = characteristic > -1; - if (characteristic > -1) - L_Characteristic.Text = GameInfo.Strings.characteristics[pkm.Characteristic]; - updateStats(); - } - private void updateEVs(object sender, EventArgs e) - { - if (sender is MaskedTextBox m) - { - if (Util.ToInt32(m.Text) > SAV.MaxEV) - { m.Text = SAV.MaxEV.ToString(); return; } // recursive on text set - } - - changingFields = true; - if (sender == TB_HPEV) pkm.EV_HP = Util.ToInt32(TB_HPEV.Text); - else if (sender == TB_ATKEV) pkm.EV_ATK = Util.ToInt32(TB_ATKEV.Text); - else if (sender == TB_DEFEV) pkm.EV_DEF = Util.ToInt32(TB_DEFEV.Text); - else if (sender == TB_SPEEV) pkm.EV_SPE = Util.ToInt32(TB_SPEEV.Text); - else if (sender == TB_SPAEV) pkm.EV_SPA = Util.ToInt32(TB_SPAEV.Text); - else if (sender == TB_SPDEV) pkm.EV_SPD = Util.ToInt32(TB_SPDEV.Text); - - if (SAV.Generation < 3) - TB_SPDEV.Text = TB_SPAEV.Text; - - int evtotal = pkm.EVs.Sum(); - - if (evtotal > 510) // Background turns Red - TB_EVTotal.BackColor = Color.Red; - else if (evtotal == 510) // Maximum EVs - TB_EVTotal.BackColor = Color.Honeydew; - else if (evtotal == 508) // Fishy EVs - TB_EVTotal.BackColor = Color.LightYellow; - else TB_EVTotal.BackColor = TB_IVTotal.BackColor; - - TB_EVTotal.Text = evtotal.ToString(); - EVTip.SetToolTip(TB_EVTotal, $"Remaining: {510 - evtotal}"); - changingFields = false; - updateStats(); - } - private void updateRandomIVs(object sender, EventArgs e) - { - changingFields = true; - if (ModifierKeys == Keys.Control || ModifierKeys == Keys.Shift) - { - // Max IVs - TB_HPIV.Text = SAV.MaxIV.ToString(); - TB_ATKIV.Text = SAV.MaxIV.ToString(); - TB_DEFIV.Text = SAV.MaxIV.ToString(); - TB_SPAIV.Text = SAV.MaxIV.ToString(); - TB_SPDIV.Text = SAV.MaxIV.ToString(); - TB_SPEIV.Text = SAV.MaxIV.ToString(); - } - else - { - int[] IVs = new int[6]; - for (int i = 0; i < 6; i++) - IVs[i] = (int)(Util.rnd32() & SAV.MaxIV); - - bool IV3 = pkm.GenNumber >= 6 && (Legal.Legends.Contains(pkm.Species) || Legal.SubLegends.Contains(pkm.Species)); - if (IV3) - { - for (int i = 0; i < 3; i++) - IVs[i] = SAV.MaxIV; - Util.Shuffle(IVs); // Randomize IV order - } - - var IVBoxes = new[] {TB_HPIV, TB_ATKIV, TB_DEFIV, TB_SPAIV, TB_SPDIV, TB_SPEIV}; - for (int i = 0; i < 6; i++) - IVBoxes[i].Text = IVs[i].ToString(); - } - changingFields = false; - updateIVs(null, e); - } - private void updateRandomEVs(object sender, EventArgs e) - { - changingFields = true; - - var tb = new[] {TB_HPEV, TB_ATKEV, TB_DEFEV, TB_SPAEV, TB_SPDEV, TB_SPEEV}; - bool zero = ModifierKeys == Keys.Control || ModifierKeys == Keys.Shift; - var evs = zero ? new uint[6] : PKX.getRandomEVs(SAV.Generation); - for (int i = 0; i < 6; i++) - tb[i].Text = evs[i].ToString(); - - changingFields = false; - updateEVs(null, null); - } - private void updateRandomPID(object sender, EventArgs e) - { - if (pkm.Format < 3) - return; - if (fieldsLoaded) - pkm.PID = Util.getHEXval(TB_PID.Text); - - if (sender == Label_Gender) - pkm.setPIDGender(pkm.Gender); - else if (sender == CB_Nature && pkm.Nature != WinFormsUtil.getIndex(CB_Nature)) - pkm.setPIDNature(WinFormsUtil.getIndex(CB_Nature)); - else if (sender == BTN_RerollPID) - pkm.setPIDGender(pkm.Gender); - else if (sender == CB_Ability && CB_Ability.SelectedIndex != pkm.PIDAbility && pkm.PIDAbility > -1) - pkm.PID = PKX.getRandomPID(pkm.Species, pkm.Gender, pkm.Version, pkm.Nature, pkm.Format, (uint)(CB_Ability.SelectedIndex * 0x10001)); - - TB_PID.Text = pkm.PID.ToString("X8"); - getQuickFiller(dragout); - if (pkm.GenNumber < 6 && SAV.Generation >= 6) - TB_EC.Text = TB_PID.Text; - } - private void updateRandomEC(object sender, EventArgs e) - { - if (pkm.Format < 6) - return; - - int wIndex = Array.IndexOf(Legal.WurmpleEvolutions, WinFormsUtil.getIndex(CB_Species)); - if (wIndex < 0) - { - TB_EC.Text = Util.rnd32().ToString("X8"); - } - else - { - uint EC; - bool valid; - do - { - EC = Util.rnd32(); - uint evoVal; - switch (pkm.GenNumber) - { - case 4: - case 3: evoVal = pkm.EncryptionConstant & 0xFFFF; break; - default: evoVal = pkm.EncryptionConstant >> 16; break; - } - evoVal = evoVal%10/5; - valid = evoVal == wIndex/2; - } while (!valid); - TB_EC.Text = EC.ToString("X8"); - } - updateLegality(); - } - private void updateHackedStats(object sender, EventArgs e) - { - Stat_HP.Enabled = - Stat_ATK.Enabled = - Stat_DEF.Enabled = - Stat_SPA.Enabled = - Stat_SPD.Enabled = - Stat_SPE.Enabled = CHK_HackedStats.Checked; - } - private void updateHackedStatText(object sender, EventArgs e) - { - if (!CHK_HackedStats.Checked || !(sender is TextBox tb)) - return; - - string text = tb.Text; - if (string.IsNullOrWhiteSpace(text)) - tb.Text = "0"; - - if (Convert.ToUInt32(text) > ushort.MaxValue) - tb.Text = "65535"; - } - private void update255_MTB(object sender, EventArgs e) - { - if (!(sender is MaskedTextBox tb)) return; - if (Util.ToInt32(tb.Text) > byte.MaxValue) - tb.Text = "255"; - } - private void updateForm(object sender, EventArgs e) - { - if (CB_Form == sender && fieldsLoaded) - pkm.AltForm = CB_Form.SelectedIndex; - - updateGender(); - updateStats(); - // Repopulate Abilities if Species Form has different abilities - setAbilityList(); - - // Gender Forms - if (WinFormsUtil.getIndex(CB_Species) == 201 && fieldsLoaded) - { - if (SAV.Generation == 3) - { - pkm.setPIDUnown3(CB_Form.SelectedIndex); - TB_PID.Text = pkm.PID.ToString("X8"); - } - else if (SAV.Generation == 2) - { - int desiredForm = CB_Form.SelectedIndex; - while (pkm.AltForm != desiredForm) - updateRandomIVs(null, null); - } - } - else if (PKX.getGender(CB_Form.Text) < 2) - { - if (CB_Form.Items.Count == 2) // actually M/F; Pumpkaboo formes in German are S,M,L,XL - Label_Gender.Text = gendersymbols[PKX.getGender(CB_Form.Text)]; - } - - if (changingFields) - return; - changingFields = true; - MT_Form.Text = CB_Form.SelectedIndex.ToString(); - changingFields = false; - - if (fieldsLoaded) - getQuickFiller(dragout); - } - private void updateHaXForm(object sender, EventArgs e) - { - if (changingFields) - return; - changingFields = true; - int form = pkm.AltForm = Util.ToInt32(MT_Form.Text); - CB_Form.SelectedIndex = CB_Form.Items.Count > form ? form : -1; - changingFields = false; - - if (fieldsLoaded) - getQuickFiller(dragout); - } - private void updatePP(object sender, EventArgs e) - { - ComboBox[] cbs = {CB_Move1, CB_Move2, CB_Move3, CB_Move4}; - ComboBox[] pps = {CB_PPu1, CB_PPu2, CB_PPu3, CB_PPu4}; - MaskedTextBox[] tbs = {TB_PP1, TB_PP2, TB_PP3, TB_PP4}; - int index = Array.IndexOf(cbs, sender); - if (index < 0) - index = Array.IndexOf(pps, sender); - if (index < 0) - return; - - int move = WinFormsUtil.getIndex(cbs[index]); - int pp = pps[index].SelectedIndex; - if (move == 0 && pp != 0) - { - pps[index].SelectedIndex = 0; - return; // recursively triggers - } - tbs[index].Text = pkm.getMovePP(move, pp).ToString(); - } - private void updatePKRSstrain(object sender, EventArgs e) - { - // Change the PKRS Days to the legal bounds. - int currentDuration = CB_PKRSDays.SelectedIndex; - CB_PKRSDays.Items.Clear(); - foreach (int day in Enumerable.Range(0, CB_PKRSStrain.SelectedIndex % 4 + 2)) CB_PKRSDays.Items.Add(day); - - // Set the days back if they're legal, else set it to 1. (0 always passes). - CB_PKRSDays.SelectedIndex = currentDuration < CB_PKRSDays.Items.Count ? currentDuration : 1; - - if (CB_PKRSStrain.SelectedIndex != 0) return; - - // Never Infected - CB_PKRSDays.SelectedIndex = 0; - CHK_Cured.Checked = false; - CHK_Infected.Checked = false; - } - private void updatePKRSdays(object sender, EventArgs e) - { - if (CB_PKRSDays.SelectedIndex != 0) return; - - // If no days are selected - if (CB_PKRSStrain.SelectedIndex == 0) - CHK_Cured.Checked = CHK_Infected.Checked = false; // No Strain = Never Cured / Infected, triggers Strain update - else CHK_Cured.Checked = true; // Any Strain = Cured - } - private void updatePKRSCured(object sender, EventArgs e) - { - if (!fieldsInitialized) return; - // Cured PokeRus is toggled - if (CHK_Cured.Checked) - { - // Has Had PokeRus - Label_PKRSdays.Visible = CB_PKRSDays.Visible = false; - CB_PKRSDays.SelectedIndex = 0; - - Label_PKRS.Visible = CB_PKRSStrain.Visible = true; - CHK_Infected.Checked = true; - - // If we're cured we have to have a strain infection. - if (CB_PKRSStrain.SelectedIndex == 0) - CB_PKRSStrain.SelectedIndex = 1; - } - else if (!CHK_Infected.Checked) - { - // Not Infected, Disable the other - Label_PKRS.Visible = CB_PKRSStrain.Visible = false; - CB_PKRSStrain.SelectedIndex = 0; - } - else - { - // Still Infected for a duration - Label_PKRSdays.Visible = CB_PKRSDays.Visible = true; - CB_PKRSDays.SelectedValue = 1; - } - // if not cured yet, days > 0 - if (!CHK_Cured.Checked && CHK_Infected.Checked && CB_PKRSDays.SelectedIndex == 0) - CB_PKRSDays.SelectedIndex++; - - setMarkings(); - } - private void updatePKRSInfected(object sender, EventArgs e) - { - if (!fieldsInitialized) return; - if (CHK_Cured.Checked && !CHK_Infected.Checked) { CHK_Cured.Checked = false; return; } - if (CHK_Cured.Checked) return; - Label_PKRS.Visible = CB_PKRSStrain.Visible = CHK_Infected.Checked; - if (!CHK_Infected.Checked) { CB_PKRSStrain.SelectedIndex = 0; CB_PKRSDays.SelectedIndex = 0; Label_PKRSdays.Visible = CB_PKRSDays.Visible = false; } - else if (CB_PKRSStrain.SelectedIndex == 0) { CB_PKRSStrain.SelectedIndex = 1; Label_PKRSdays.Visible = CB_PKRSDays.Visible = true; updatePKRSCured(sender, e);} - - // if not cured yet, days > 0 - if (CHK_Infected.Checked && CB_PKRSDays.SelectedIndex == 0) CB_PKRSDays.SelectedIndex++; - } - private void updateCountry(object sender, EventArgs e) - { - if (WinFormsUtil.getIndex(sender as ComboBox) > 0) - setCountrySubRegion(CB_SubRegion, "sr_" + WinFormsUtil.getIndex(sender as ComboBox).ToString("000")); - } - private void updateSpecies(object sender, EventArgs e) - { - // Get Species dependent information - setAbilityList(); - setForms(); - updateForm(null, null); - - if (!fieldsLoaded) - return; - - pkm.Species = WinFormsUtil.getIndex(CB_Species); - // Recalculate EXP for Given Level - uint EXP = PKX.getEXP(pkm.CurrentLevel, pkm.Species); - TB_EXP.Text = EXP.ToString(); - - // Check for Gender Changes - updateGender(); - - // If species changes and no nickname, set the new name == speciesName. - if (!CHK_Nicknamed.Checked) - updateNickname(sender, e); - - updateLegality(); - } - private void updateOriginGame(object sender, EventArgs e) - { - GameVersion Version = (GameVersion)WinFormsUtil.getIndex(CB_GameOrigin); - - // check if differs - GameVersion newTrack = GameUtil.getMetLocationVersionGroup(Version); - if (newTrack != origintrack) - { - var met_list = GameInfo.getLocationList(Version, SAV.Generation, egg:false); - CB_MetLocation.DisplayMember = "Text"; - CB_MetLocation.ValueMember = "Value"; - CB_MetLocation.DataSource = new BindingSource(met_list, null); - - int metLoc = 0; // transporter or pal park for past gen pkm - switch (newTrack) - { - case GameVersion.GO: metLoc = 30012; break; - case GameVersion.RBY: metLoc = 30013; break; - } - if (metLoc != 0) - CB_MetLocation.SelectedValue = metLoc; - else - CB_MetLocation.SelectedIndex = metLoc; - - var egg_list = GameInfo.getLocationList(Version, SAV.Generation, egg:true); - CB_EggLocation.DisplayMember = "Text"; - CB_EggLocation.ValueMember = "Value"; - CB_EggLocation.DataSource = new BindingSource(egg_list, null); - CB_EggLocation.SelectedIndex = CHK_AsEgg.Checked ? 1 : 0; // daycare : none - - origintrack = newTrack; - - // Stretch C/XD met location dropdowns - int width = CB_EggLocation.DropDownWidth; - if (Version == GameVersion.CXD && SAV.Generation == 3) - width = 2*width; - CB_MetLocation.DropDownWidth = width; - } - - // Visibility logic for Gen 4 encounter type; only show for Gen 4 Pokemon. - if (SAV.Generation >= 4) - { - bool g4 = Version >= GameVersion.HG && Version <= GameVersion.Pt; - if ((int) Version == 9) // invalid - g4 = false; - CB_EncounterType.Visible = Label_EncounterType.Visible = g4 && SAV.Generation < 7; - if (!g4) - CB_EncounterType.SelectedValue = 0; - } - - if (!fieldsLoaded) - return; - pkm.Version = (int)Version; - setMarkings(); // Set/Remove KB marking - updateLegality(); - } - private void updateExtraByteValue(object sender, EventArgs e) - { - if (CB_ExtraBytes.Items.Count == 0) - return; - // Changed Extra Byte's Value - if (Util.ToInt32(((MaskedTextBox) sender).Text) > byte.MaxValue) - ((MaskedTextBox) sender).Text = "255"; - - int value = Util.ToInt32(TB_ExtraByte.Text); - int offset = Convert.ToInt32(CB_ExtraBytes.Text, 16); - pkm.Data[offset] = (byte)value; - } - private void updateExtraByteIndex(object sender, EventArgs e) - { - if (CB_ExtraBytes.Items.Count == 0) - return; - // Byte changed, need to refresh the Text box for the byte's value. - TB_ExtraByte.Text = pkm.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString(); - } - private void updateNatureModification(object sender, EventArgs e) - { - if (sender != CB_Nature) return; - int nature = WinFormsUtil.getIndex(CB_Nature); - int incr = nature / 5; - int decr = nature % 5; - - Label[] labarray = { Label_ATK, Label_DEF, Label_SPE, Label_SPA, Label_SPD }; - // Reset Label Colors - foreach (Label label in labarray) - label.ResetForeColor(); - - // Set Colored StatLabels only if Nature isn't Neutral - NatureTip.SetToolTip(CB_Nature, - incr != decr - ? $"+{labarray[incr].Text} / -{labarray[decr].Text}".Replace(":", "") - : "-/-"); - } - private void updateNickname(object sender, EventArgs e) - { - if (fieldsInitialized && ModifierKeys == Keys.Control && sender != null) // Import Showdown - { clickShowdownImportPKM(sender, e); return; } - if (fieldsInitialized && ModifierKeys == Keys.Alt && sender != null) // Export Showdown - { clickShowdownExportPKM(sender, e); return; } - - int lang = WinFormsUtil.getIndex(CB_Language); - - if (!fieldsInitialized || CHK_Nicknamed.Checked) - return; - - // Fetch Current Species and set it as Nickname Text - int species = WinFormsUtil.getIndex(CB_Species); - if (species < 1 || species > SAV.MaxSpeciesID) - { TB_Nickname.Text = ""; return; } - - if (CHK_IsEgg.Checked) - species = 0; // get the egg name. - - // If name is that of another language, don't replace the nickname - if (sender != CB_Language && species != 0 && !PKX.getIsNicknamedAnyLanguage(species, TB_Nickname.Text, SAV.Generation)) - return; - - TB_Nickname.Text = PKX.getSpeciesNameGeneration(species, lang, SAV.Generation); - if (SAV.Generation == 1) - ((PK1) pkm).setNotNicknamed(); - if (SAV.Generation == 2) - ((PK2) pkm).setNotNicknamed(); - } - private void updateNicknameClick(object sender, MouseEventArgs e) - { - TextBox tb = sender as TextBox ?? TB_Nickname; - // Special Character Form - if (ModifierKeys != Keys.Control) - return; - - if (tb == TB_Nickname) - { - pkm.Nickname = tb.Text; - var d = new f2_Text(tb, pkm.Nickname_Trash); - d.ShowDialog(); - tb.Text = d.FinalString; - pkm.Nickname_Trash = d.FinalBytes; - } - else if (tb == TB_OT) - { - pkm.OT_Name = tb.Text; - var d = new f2_Text(tb, pkm.OT_Trash); - d.ShowDialog(); - tb.Text = d.FinalString; - pkm.OT_Trash = d.FinalBytes; - } - else if (tb == TB_OTt2) - { - pkm.HT_Name = tb.Text; - var d = new f2_Text(tb, pkm.HT_Trash); - d.ShowDialog(); - tb.Text = d.FinalString; - pkm.HT_Trash = d.FinalBytes; - } - } - private void updateNotOT(object sender, EventArgs e) - { - if (string.IsNullOrWhiteSpace(TB_OTt2.Text)) - { - clickGT(GB_OT, null); // Switch CT over to OT. - Label_CTGender.Text = ""; - TB_Friendship.Text = pkm.CurrentFriendship.ToString(); - } - else if (string.IsNullOrWhiteSpace(Label_CTGender.Text)) - Label_CTGender.Text = gendersymbols[0]; - } - private void updateIsEgg(object sender, EventArgs e) - { - // Display hatch counter if it is an egg, Display Friendship if it is not. - Label_HatchCounter.Visible = CHK_IsEgg.Checked && SAV.Generation > 1; - Label_Friendship.Visible = !CHK_IsEgg.Checked && SAV.Generation > 1; - - if (!fieldsLoaded) - return; - - pkm.IsEgg = CHK_IsEgg.Checked; - if (CHK_IsEgg.Checked) - { - TB_Friendship.Text = "1"; - - // If we are an egg, it won't have a met location. - CHK_AsEgg.Checked = true; - GB_EggConditions.Enabled = true; - - CAL_MetDate.Value = new DateTime(2000, 01, 01); - - // if egg wasn't originally obtained by OT => Link Trade, else => None - bool isTraded = SAV.OT != TB_OT.Text || SAV.TID != Util.ToInt32(TB_TID.Text) || SAV.SID != Util.ToInt32(TB_SID.Text); - CB_MetLocation.SelectedIndex = isTraded ? 2 : 0; - - if (!CHK_Nicknamed.Checked) - { - TB_Nickname.Text = PKX.getSpeciesNameGeneration(0, WinFormsUtil.getIndex(CB_Language), pkm.Format); - CHK_Nicknamed.Checked = true; - } - } - else // Not Egg - { - if (!CHK_Nicknamed.Checked) - updateNickname(null, null); - - TB_Friendship.Text = SAV.Personal[WinFormsUtil.getIndex(CB_Species)].BaseFriendship.ToString(); - - if (CB_EggLocation.SelectedIndex == 0) - { - CAL_EggDate.Value = new DateTime(2000, 01, 01); - CHK_AsEgg.Checked = false; - GB_EggConditions.Enabled = false; - } - - if (TB_Nickname.Text == PKX.getSpeciesNameGeneration(0, WinFormsUtil.getIndex(CB_Language), pkm.Format)) - CHK_Nicknamed.Checked = false; - } - - updateNickname(null, null); - getQuickFiller(dragout); - } - private void updateMetAsEgg(object sender, EventArgs e) - { - GB_EggConditions.Enabled = CHK_AsEgg.Checked; - if (CHK_AsEgg.Checked) - { - if (!fieldsLoaded) - return; - - CAL_EggDate.Value = DateTime.Now; - CB_EggLocation.SelectedIndex = 1; - return; - } - // Remove egg met data - CHK_IsEgg.Checked = false; - CAL_EggDate.Value = new DateTime(2000, 01, 01); - CB_EggLocation.SelectedValue = 0; - - updateLegality(); - } - private void updateShinyPID(object sender, EventArgs e) - { - pkm.TID = Util.ToInt32(TB_TID.Text); - pkm.SID = Util.ToInt32(TB_SID.Text); - pkm.PID = Util.getHEXval(TB_PID.Text); - pkm.Nature = WinFormsUtil.getIndex(CB_Nature); - pkm.Gender = PKX.getGender(Label_Gender.Text); - pkm.AltForm = CB_Form.SelectedIndex; - pkm.Version = WinFormsUtil.getIndex(CB_GameOrigin); - - if (pkm.Format > 2) - pkm.setShinyPID(); - else - { - // IVs determine shininess - // All 10IV except for one where (IV & 2 == 2) [gen specific] - int[] and2 = {2, 3, 6, 7, 10, 11, 14, 15}; - int randIV = and2[Util.rnd32()%and2.Length]; - if (pkm.Format == 1) - { - TB_ATKIV.Text = "10"; // an attempt was made - TB_DEFIV.Text = randIV.ToString(); - } - else // pkm.Format == 2 - { - TB_ATKIV.Text = randIV.ToString(); - TB_DEFIV.Text = "10"; - } - TB_SPEIV.Text = "10"; - TB_SPAIV.Text = "10"; - updateIVs(null, null); - } - TB_PID.Text = pkm.PID.ToString("X8"); - - if (pkm.GenNumber < 6 && TB_EC.Visible) - TB_EC.Text = TB_PID.Text; - - getQuickFiller(dragout); - updateLegality(); - } - private void updateTSV(object sender, EventArgs e) - { - if (SAV.Generation < 6) - return; - - string IDstr = $"TSV: {pkm.TSV:d4}"; - if (SAV.Generation > 6) - IDstr += Environment.NewLine + $"G7TID: {pkm.TrainerID7:d7}"; - - Tip1.SetToolTip(TB_TID, IDstr); - Tip2.SetToolTip(TB_SID, IDstr); - - pkm.PID = Util.getHEXval(TB_PID.Text); - Tip3.SetToolTip(TB_PID, $"PSV: {pkm.PSV:d4}"); - } - private void update_ID(object sender, EventArgs e) - { - // Trim out nonhex characters - TB_PID.Text = Util.getHEXval(TB_PID.Text).ToString("X8"); - TB_EC.Text = Util.getHEXval(TB_EC.Text).ToString("X8"); - - // Max TID/SID is 65535 - if (Util.ToUInt32(TB_TID.Text) > ushort.MaxValue) TB_TID.Text = "65535"; - if (Util.ToUInt32(TB_SID.Text) > ushort.MaxValue) TB_SID.Text = "65535"; - - setIsShiny(sender); - getQuickFiller(dragout); - updateIVs(null, null); // If the EC is changed, EC%6 (Characteristic) might be changed. - TB_PID.Select(60, 0); // position cursor at end of field - if (SAV.Generation <= 4 && fieldsLoaded) - { - fieldsLoaded = false; - pkm.PID = Util.getHEXval(TB_PID.Text); - CB_Nature.SelectedValue = pkm.Nature; - Label_Gender.Text = gendersymbols[pkm.Gender]; - Label_Gender.ForeColor = getGenderColor(pkm.Gender); - fieldsLoaded = true; - } - } - private void updateShadowID(object sender, EventArgs e) - { - if (!fieldsLoaded) - return; - FLP_Purification.Visible = NUD_ShadowID.Value > 0; - } - private void updatePurification(object sender, EventArgs e) - { - if (!fieldsLoaded) - return; - fieldsLoaded = false; - CHK_Shadow.Checked = NUD_Purification.Value > 0; - fieldsLoaded = true; - } - private void updateShadowCHK(object sender, EventArgs e) - { - if (!fieldsLoaded) - return; - fieldsLoaded = false; - NUD_Purification.Value = CHK_Shadow.Checked ? NUD_Purification.Maximum : 0; - fieldsLoaded = true; - } - private void validateComboBox(object sender) - { - if (!formInitialized) - return; - ComboBox cb = sender as ComboBox; - if (cb == null) - return; - - if (cb.Text == "" && cb.Items.Count > 0) - { cb.SelectedIndex = 0; return; } - if (cb.SelectedValue == null) - cb.BackColor = Color.DarkSalmon; - else - cb.ResetBackColor(); - } - private void validateComboBox(object sender, System.ComponentModel.CancelEventArgs e) - { - if (!(sender is ComboBox)) - return; - - validateComboBox(sender); - - if (fieldsLoaded) - getQuickFiller(dragout); - } - private void validateComboBox2(object sender, EventArgs e) - { - if (!fieldsInitialized) - return; - validateComboBox(sender, null); - if (fieldsLoaded) - { - if (sender == CB_Ability && SAV.Generation >= 6) - TB_AbilityNumber.Text = (1 << CB_Ability.SelectedIndex).ToString(); - if (sender == CB_Ability && SAV.Generation <= 5 && CB_Ability.SelectedIndex < 2) // not hidden - updateRandomPID(sender, e); - if (sender == CB_Nature && SAV.Generation <= 4) - { - pkm.Nature = CB_Nature.SelectedIndex; - updateRandomPID(sender, e); - } - if (sender == CB_HeldItem || sender == CB_Ability) - updateLegality(); - } - updateNatureModification(sender, null); - updateIVs(null, null); // updating Nature will trigger stats to update as well - } - private void validateMove(object sender, EventArgs e) - { - if (!fieldsInitialized) - return; - validateComboBox(sender); - if (!fieldsLoaded) - return; - - if (new[] { CB_Move1, CB_Move2, CB_Move3, CB_Move4 }.Contains(sender)) // Move - updatePP(sender, e); - - // Legality - pkm.Moves = new[] {CB_Move1, CB_Move2, CB_Move3, CB_Move4}.Select(WinFormsUtil.getIndex).ToArray(); - pkm.RelearnMoves = new[] {CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4}.Select(WinFormsUtil.getIndex).ToArray(); - updateLegality(skipMoveRepop:true); - } - private void validateMovePaint(object sender, DrawItemEventArgs e) - { - if (e.Index < 0) return; - - var i = (ComboItem)(sender as ComboBox).Items[e.Index]; - var moves = Legality.AllSuggestedMovesAndRelearn; - bool vm = moves != null && moves.Contains(i.Value) && !HaX; - - bool current = (e.State & DrawItemState.Selected) == DrawItemState.Selected; - Brush tBrush = current ? SystemBrushes.HighlightText : new SolidBrush(e.ForeColor); - Brush brush = current ? SystemBrushes.Highlight : vm ? Brushes.PaleGreen : new SolidBrush(e.BackColor); - - e.Graphics.FillRectangle(brush, e.Bounds); - e.Graphics.DrawString(i.Text, e.Font, tBrush, e.Bounds, StringFormat.GenericDefault); - if (current) return; - tBrush.Dispose(); - if (!vm) - brush.Dispose(); - } - private void validateLocation(object sender, EventArgs e) - { - validateComboBox(sender); - if (!fieldsLoaded) - return; - - pkm.Met_Location = WinFormsUtil.getIndex(CB_MetLocation); - pkm.Egg_Location = WinFormsUtil.getIndex(CB_EggLocation); - updateLegality(); - } - private void removedropCB(object sender, KeyEventArgs e) - { - ((ComboBox)sender).DroppedDown = false; - } - private void showLegality(PKM pk, bool tabs, bool verbose, bool skipMoveRepop = false) - { LegalityAnalysis la = new LegalityAnalysis(pk); - if (tabs) - updateLegality(la, skipMoveRepop); + if (pk.Slot < 0) + PKME_Tabs.updateLegality(la); + bool verbose = ModifierKeys == Keys.Control; var report = la.Report(verbose); if (verbose) { @@ -2922,177 +1048,41 @@ private void showLegality(PKM pk, bool tabs, bool verbose, bool skipMoveRepop = else WinFormsUtil.Alert(report); } - private void updateLegality(LegalityAnalysis la = null, bool skipMoveRepop = false) + private void clickClone(object sender, EventArgs e) { - if (!fieldsLoaded) - return; - - Legality = la ?? new LegalityAnalysis(pkm); - if (!Legality.Parsed || HaX || pkm.Species == 0) + if (!PKME_Tabs.verifiedPKM()) return; // don't copy garbage to the box + PKM pk = PKME_Tabs.preparePKM(); + C_SAV.SetClonesToBox(pk); + } + private void getPreview(PictureBox pb, PKM pk = null) + { + if (!PKME_Tabs.fieldsInitialized) return; + pk = pk ?? preparePKM(false); // don't perform control loss click + + if (pb == dragout) dragout.ContextMenuStrip.Enabled = pk.Species != 0 || HaX; // Species + + pb.Image = pk.Sprite(C_SAV.SAV, -1, -1, true); + if (pb.BackColor == Color.Red) + pb.BackColor = Color.Transparent; + } + private void PKME_Tabs_UpdatePreviewSprite(object sender, EventArgs e) => getPreview(dragout); + private void PKME_Tabs_LegalityChanged(object sender, EventArgs e) + { + if (PKME_Tabs.IsLegal == null) { - PB_Legal.Visible = - PB_WarnMove1.Visible = PB_WarnMove2.Visible = PB_WarnMove3.Visible = PB_WarnMove4.Visible = - PB_WarnRelearn1.Visible = PB_WarnRelearn2.Visible = PB_WarnRelearn3.Visible = PB_WarnRelearn4.Visible = false; + PB_Legal.Visible = false; return; } PB_Legal.Visible = true; - PB_Legal.Image = Legality.Valid ? Resources.valid : Resources.warn; - - // Refresh Move Legality - for (int i = 0; i < 4; i++) - movePB[i].Visible = !Legality.vMoves[i].Valid; - - if (pkm.Format >= 6) - for (int i = 0; i < 4; i++) - relearnPB[i].Visible = !Legality.vRelearn[i].Valid; - - if (skipMoveRepop) - return; - // Resort moves - bool tmp = fieldsLoaded; - fieldsLoaded = false; - var cb = new[] {CB_Move1, CB_Move2, CB_Move3, CB_Move4}; - var moves = Legality.AllSuggestedMovesAndRelearn; - var moveList = GameInfo.MoveDataSource.OrderByDescending(m => moves.Contains(m.Value)).ToArray(); - foreach (ComboBox c in cb) - { - var index = WinFormsUtil.getIndex(c); - c.DataSource = new BindingSource(moveList, null); - c.SelectedValue = index; - if (c.Visible) - c.SelectionLength = 0; // flicker hack - } - fieldsLoaded |= tmp; - } - - private void updateGender() - { - int cg = PKX.getGender(Label_Gender.Text); - int gt = SAV.Personal.getFormeEntry(WinFormsUtil.getIndex(CB_Species), CB_Form.SelectedIndex).Gender; - - int Gender; - if (gt == 255) // Genderless - Gender = 2; - else if (gt == 254) // Female Only - Gender = 1; - else if (gt == 0) // Male Only - Gender = 0; - else if (cg == 2 || WinFormsUtil.getIndex(CB_GameOrigin) < 24) - Gender = (Util.getHEXval(TB_PID.Text) & 0xFF) <= gt ? 1 : 0; - else - Gender = cg; - - Label_Gender.Text = gendersymbols[Gender]; - Label_Gender.ForeColor = getGenderColor(Gender); - } - private void updateStats() - { - // Generate the stats. - pkm.setStats(pkm.getStats(SAV.Personal.getFormeEntry(pkm.Species, pkm.AltForm))); - - Stat_HP.Text = pkm.Stat_HPCurrent.ToString(); - Stat_ATK.Text = pkm.Stat_ATK.ToString(); - Stat_DEF.Text = pkm.Stat_DEF.ToString(); - Stat_SPA.Text = pkm.Stat_SPA.ToString(); - Stat_SPD.Text = pkm.Stat_SPD.ToString(); - Stat_SPE.Text = pkm.Stat_SPE.ToString(); - - // Recolor the Stat Labels based on boosted stats. - { - int incr = pkm.Nature / 5; - int decr = pkm.Nature % 5; - - Label[] labarray = { Label_ATK, Label_DEF, Label_SPE, Label_SPA, Label_SPD }; - // Reset Label Colors - foreach (Label label in labarray) - label.ResetForeColor(); - - // Set Colored StatLabels only if Nature isn't Neutral - if (incr == decr) return; - labarray[incr].ForeColor = Color.Red; - labarray[decr].ForeColor = Color.Blue; - } - } - private void updateUnicode() - { - if (!unicode) - { - gendersymbols = new[] { "M", "F", "-" }; - BTN_Shinytize.Text = "*"; - TB_Nickname.Font = TB_OT.Font = TB_OTt2.Font = Label_TID.Font; - } - else - { - gendersymbols = new[] { "♂", "♀", "-" }; - BTN_Shinytize.Text = "☆"; - TB_Nickname.Font = TB_OT.Font = TB_OTt2.Font = FontUtil.getPKXFont(11); - } - // Switch active gender labels to new if they are active. - if (PKX.getGender(Label_Gender.Text) < 2) - Label_Gender.Text = gendersymbols[PKX.getGender(Label_Gender.Text)]; - if (PKX.getGender(Label_OTGender.Text) < 2) - Label_OTGender.Text = gendersymbols[PKX.getGender(Label_OTGender.Text)]; - if (PKX.getGender(Label_CTGender.Text) < 2) - Label_CTGender.Text = gendersymbols[PKX.getGender(Label_CTGender.Text)]; - } - // Secondary Windows for Ribbons/Amie/Memories - private void openRibbons(object sender, EventArgs e) - { - new RibbonEditor().ShowDialog(); - } - private void openMedals(object sender, EventArgs e) - { - new SuperTrainingEditor().ShowDialog(); - } - private void openHistory(object sender, EventArgs e) - { - // Write back current values - pkm.HT_Name = TB_OTt2.Text; - pkm.OT_Name = TB_OT.Text; - pkm.IsEgg = CHK_IsEgg.Checked; - pkm.CurrentFriendship = Util.ToInt32(TB_Friendship.Text); - new MemoryAmie().ShowDialog(); - TB_Friendship.Text = pkm.CurrentFriendship.ToString(); + PB_Legal.Image = PKME_Tabs.IsLegal == false ? Resources.warn : Resources.valid; } + private void PKME_Tabs_RequestShowdownExport(object sender, EventArgs e) => clickShowdownExportPKM(sender, e); + private void PKME_Tabs_RequestShowdownImport(object sender, EventArgs e) => clickShowdownImportPKM(sender, e); + private SaveFile PKME_Tabs_SaveFileRequested(object sender, EventArgs e) => C_SAV.SAV; // Open/Save Array Manipulation // - public bool verifiedPKM() - { - if (ModifierKeys == (Keys.Control | Keys.Shift | Keys.Alt)) - return true; // Override - // Make sure the PKX Fields are filled out properly (color check) - ComboBox[] cba = { - CB_Species, CB_Nature, CB_HeldItem, CB_Ability, // Main Tab - CB_MetLocation, CB_EggLocation, CB_Ball, // Met Tab - CB_Move1, CB_Move2, CB_Move3, CB_Move4, // Moves - CB_RelearnMove1, CB_RelearnMove2, CB_RelearnMove3, CB_RelearnMove4 // Moves - }; + public PKM preparePKM(bool click = true) => PKME_Tabs.preparePKM(click); - ComboBox cb = cba.FirstOrDefault(c => c.BackColor == Color.DarkSalmon && c.Items.Count != 0); - if (cb != null) - { - Control c = cb.Parent; - while (!(c is TabPage)) - c = c.Parent; - tabMain.SelectedTab = c as TabPage; - } - else if (SAV.Generation >= 3 && Convert.ToUInt32(TB_EVTotal.Text) > 510 && !CHK_HackedStats.Checked) - tabMain.SelectedTab = Tab_Stats; - else if (WinFormsUtil.getIndex(CB_Species) == 0) - tabMain.SelectedTab = Tab_Main; - else - return true; - - SystemSounds.Exclamation.Play(); - return false; - } - public PKM preparePKM(bool click = true) - { - if (click) - ValidateChildren(); - PKM pk = getPKMfromFields(); - return pk?.Clone(); - } // Drag & Drop Events private void tabMain_DragEnter(object sender, DragEventArgs e) { @@ -3104,7 +1094,7 @@ private void tabMain_DragEnter(object sender, DragEventArgs e) private void tabMain_DragDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - openQuick(files[0]); + OpenQuick(files[0]); e.Effect = DragDropEffects.Copy; Cursor = DefaultCursor; @@ -3116,7 +1106,7 @@ private void dragout_MouseDown(object sender, MouseEventArgs e) clickQR(sender, e); if (e.Button == MouseButtons.Right) return; - if (!verifiedPKM()) + if (!PKME_Tabs.verifiedPKM()) return; // Create Temp File to Drag @@ -3131,12 +1121,13 @@ private void dragout_MouseDown(object sender, MouseEventArgs e) { File.WriteAllBytes(newfile, dragdata); PictureBox pb = (PictureBox)sender; - DragInfo.Cursor = Cursor = new Cursor(((Bitmap)pb.Image).GetHicon()); + C_SAV.M.DragInfo.Source.PKM = pkx; + C_SAV.M.DragInfo.Cursor = Cursor = new Cursor(((Bitmap)pb.Image).GetHicon()); DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move); } catch (Exception x) { WinFormsUtil.Error("Drag & Drop Error", x); } - DragInfo.Cursor = Cursor = DefaultCursor; + C_SAV.M.SetCursor(DefaultCursor, sender); File.Delete(newfile); } private void dragout_DragOver(object sender, DragEventArgs e) @@ -3146,7 +1137,7 @@ private void dragout_DragOver(object sender, DragEventArgs e) // Dragout Display private void dragoutEnter(object sender, EventArgs e) { - dragout.BackgroundImage = WinFormsUtil.getIndex(CB_Species) > 0 ? Resources.slotSet : Resources.slotDel; + dragout.BackgroundImage = WinFormsUtil.getIndex(PKME_Tabs.CB_Species) > 0 ? Resources.slotSet : Resources.slotDel; Cursor = Cursors.Hand; } private void dragoutLeave(object sender, EventArgs e) @@ -3158,7 +1149,7 @@ private void dragoutLeave(object sender, EventArgs e) private void dragoutDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - openQuick(files[0]); + OpenQuick(files[0]); e.Effect = DragDropEffects.Copy; Cursor = DefaultCursor; @@ -3166,10 +1157,14 @@ private void dragoutDrop(object sender, DragEventArgs e) private void Main_FormClosing(object sender, FormClosingEventArgs e) { - if ((SAV.Edited || PKMIsUnsaved) && DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Any unsaved changes will be lost.", "Are you sure you want to close PKHeX?")) + if (C_SAV.SAV.Edited || PKME_Tabs.PKMIsUnsaved) { - e.Cancel = true; - return; + var prompt = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Any unsaved changes will be lost.", "Are you sure you want to close PKHeX?"); + if (prompt != DialogResult.Yes) + { + e.Cancel = true; + return; + } } try { Settings.Default.Save(); } @@ -3178,932 +1173,18 @@ private void Main_FormClosing(object sender, FormClosingEventArgs e) #endregion #region //// SAVE FILE FUNCTIONS //// - private void clickVerifyCHK(object sender, EventArgs e) - { - if (SAV.Edited) { WinFormsUtil.Alert("Save has been edited. Cannot integrity check."); return; } - - if (SAV.ChecksumsValid) { WinFormsUtil.Alert("Checksums are valid."); return; } - if (DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Export Checksum Info to Clipboard?")) - Clipboard.SetText(SAV.ChecksumInfo); - } private void clickExportSAVBAK(object sender, EventArgs e) { - if (!SAV.Exportable) - return; - SaveFileDialog sfd = new SaveFileDialog - { FileName = Util.CleanFileName(SAV.BAKName) }; - if (sfd.ShowDialog() != DialogResult.OK) - return; - - string path = sfd.FileName; - File.WriteAllBytes(path, SAV.BAK); - WinFormsUtil.Alert("Saved Backup of current SAV to:", path); - - if (!Directory.Exists(BackupPath)) + if (C_SAV.ExportBackup() && !Directory.Exists(BackupPath)) promptBackup(); } - private static void promptBackup() - { - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, - $"PKHeX can perform automatic backups if you create a folder with the name \"{BackupPath}\" in the same folder as PKHeX's executable.", - "Would you like to create the backup folder now?")) return; - - try { Directory.CreateDirectory(BackupPath); WinFormsUtil.Alert("Backup folder created!", - $"If you wish to no longer automatically back up save files, delete the \"{BackupPath}\" folder."); } - catch(Exception ex) { WinFormsUtil.Error($"Unable to create backup folder @ {BackupPath}", ex); } - } private void clickExportSAV(object sender, EventArgs e) { if (!Menu_ExportSAV.Enabled) return; - ValidateChildren(); - WinFormsUtil.SaveSAVDialog(SAV, SAV.CurrentBox); + C_SAV.ExportSaveFile(); } - - // Box/SAV Functions // - private void clickBoxRight(object sender, EventArgs e) - { - CB_BoxSelect.SelectedIndex = (CB_BoxSelect.SelectedIndex + 1) % SAV.BoxCount; - } - private void clickBoxLeft(object sender, EventArgs e) - { - CB_BoxSelect.SelectedIndex = (CB_BoxSelect.SelectedIndex + SAV.BoxCount-1) % SAV.BoxCount; - } - private void clickBoxSort(object sender, EventArgs e) - { - if (tabBoxMulti.SelectedTab != Tab_Box) - return; - if (!SAV.HasBox) - return; - - string modified; - bool all = false; - if (ModifierKeys == (Keys.Alt | Keys.Shift) && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Clear ALL Boxes?!")) - { - if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) - { WinFormsUtil.Alert("Battle Box slots prevent the clearing of all boxes."); return; } - SAV.resetBoxes(); - modified = "Boxes cleared!"; - all = true; - } - else if (ModifierKeys == Keys.Alt && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Clear Current Box?")) - { - if (SAV.getBoxHasLockedSlot(CB_BoxSelect.SelectedIndex, CB_BoxSelect.SelectedIndex)) - { WinFormsUtil.Alert("Battle Box slots prevent the clearing of box."); return; } - SAV.resetBoxes(CB_BoxSelect.SelectedIndex, CB_BoxSelect.SelectedIndex + 1); - modified = "Current Box cleared!"; - } - else if (ModifierKeys == (Keys.Control | Keys.Shift) && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Sort ALL Boxes?!")) - { - if (SAV.getBoxHasLockedSlot(0, SAV.BoxCount - 1)) - { WinFormsUtil.Alert("Battle Box slots prevent the sorting of all boxes."); return; } - SAV.sortBoxes(); - modified = "Boxes sorted!"; - all = true; - } - else if (ModifierKeys == Keys.Control && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Sort Current Box?")) - { - if (SAV.getBoxHasLockedSlot(CB_BoxSelect.SelectedIndex, CB_BoxSelect.SelectedIndex)) - { WinFormsUtil.Alert("Battle Box slots prevent the sorting of box."); return; } - SAV.sortBoxes(CB_BoxSelect.SelectedIndex, CB_BoxSelect.SelectedIndex + 1); - modified = "Current Box sorted!"; - } - else - return; - - setPKXBoxes(); - updateBoxViewers(all); - WinFormsUtil.Alert(modified); - } - private void clickBoxDouble(object sender, MouseEventArgs e) - { - if (tabBoxMulti.SelectedTab == Tab_SAV) - { - clickSaveFileName(sender, e); - return; - } - if (tabBoxMulti.SelectedTab != Tab_Box) - return; - if (!SAV.HasBox) - return; - if (ModifierKeys != Keys.Shift) - { - if (getFirstFormOfType() is SAV_BoxViewer z) - { z.CenterToForm(this); z.BringToFront(); return; } - } - new SAV_BoxViewer(this).Show(); - } - public int swapBoxesViewer(int viewBox) - { - int mainBox = CB_BoxSelect.SelectedIndex; - CB_BoxSelect.SelectedIndex = viewBox; - return mainBox; - } - public void notifyBoxViewerRefresh() - { - var views = Application.OpenForms.OfType(); - foreach (var v in views.Where(v => DragInfo.WasDragParticipant(v, v.CurrentBox) == false)) - v.setPKXBoxes(); - if (DragInfo.WasDragParticipant(this, CB_BoxSelect.SelectedIndex) == false) - setPKXBoxes(); - } - private void updateBoxViewers(bool all = false) - { - var views = Application.OpenForms.OfType(); - foreach (var v in views.Where(v => v.CurrentBox == CB_BoxSelect.SelectedIndex || all)) - v.setPKXBoxes(); - } - - private void clickSlot(object sender, EventArgs e) - { - switch (ModifierKeys) - { - case Keys.Control | Keys.Alt: clickClone(sender, e); break; - case Keys.Control: clickView(sender, e); break; - case Keys.Shift: clickSet(sender, e); break; - case Keys.Alt: clickDelete(sender, e); break; - } - } - private void clickView(object sender, EventArgs e) - { - int slot = getSlot(sender); - - if (SlotPictureBoxes[slot].Image == null) - { SystemSounds.Exclamation.Play(); return; } - if (PKMIsUnsaved && DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "PKM has been modified but has not been Set.", "Continue?")) - return; - int offset = getPKXOffset(slot); - if (offset < 0) - { - WinFormsUtil.Error($"Slot read error @ slot {slot}."); - return; - } - // Load the PKX file - PKM pk = 30 <= slot && slot < 36 ? SAV.getPartySlot(offset) : SAV.getStoredSlot(offset); - if (pk.Valid && pk.Species != 0) - { - try { populateFields(pk); } - catch { } - // Visual to display what slot is currently loaded. - getSlotColor(slot, Resources.slotView); - } - else - SystemSounds.Exclamation.Play(); - } - private void clickSet(object sender, EventArgs e) - { - if (!verifiedPKM()) return; - int slot = getSlot(sender); - if (slot == 30 && (CB_Species.SelectedIndex == 0 || CHK_IsEgg.Checked)) - { WinFormsUtil.Alert("Can't have empty/egg first slot."); return; } - if (SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, slot)) - { WinFormsUtil.Alert("Can't set to locked slot."); return; } - - int offset = getPKXOffset(slot); - if (offset < 0) - { - WinFormsUtil.Error($"Slot read error @ slot {slot}."); - return; - } - PKM pk = preparePKM(); - - string[] errata = SAV.IsPKMCompatible(pk); - if (errata.Length > 0 && DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, string.Join(Environment.NewLine, errata), "Continue?")) - return; - - if (slot >= 30 && slot < 36) // Party - { - // If slot isn't overwriting existing PKM, make it write to the lowest empty PKM slot - if (SAV.PartyCount < slot + 1 - 30) - { slot = SAV.PartyCount + 30; offset = getPKXOffset(slot); } - SAV.setPartySlot(pk, offset); - setParty(); - getSlotColor(slot, Resources.slotSet); - } - else if (slot < 30 || HaX) - { - if (slot < 30) - { - UndoStack.Push(new SlotChange - { - Box = CB_BoxSelect.SelectedIndex, - Slot = slot, - Offset = offset, - OriginalData = SAV.getStoredSlot(offset) - }); - Menu_Undo.Enabled = true; - } - - SAV.setStoredSlot(pk, offset); - getQuickFiller(SlotPictureBoxes[slot], pk); - getSlotColor(slot, Resources.slotSet); - } - - lastData = pk.Data; - updateBoxViewers(); - - RedoStack.Clear(); Menu_Redo.Enabled = false; - } - private void clickDelete(object sender, EventArgs e) - { - int slot = getSlot(sender); - if (slot == 30 && SAV.PartyCount == 1 && !HaX) - { WinFormsUtil.Alert("Can't delete first slot."); return; } - if (SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, slot)) - { WinFormsUtil.Alert("Can't delete locked slot."); return; } - - int offset = getPKXOffset(slot); - if (offset < 0) - { - WinFormsUtil.Error($"Slot read error @ slot {slot}."); - return; - } - if (slot >= 30 && slot < 36) // Party - { - SAV.deletePartySlot(slot-30); - setParty(); - getSlotColor(slot, Resources.slotDel); - return; - } - if (slot < 30 || HaX) - { - if (slot < 30) - { - UndoStack.Push(new SlotChange - { - Box = CB_BoxSelect.SelectedIndex, - Slot = slot, - Offset = offset, - OriginalData = SAV.getStoredSlot(offset) - }); - Menu_Undo.Enabled = true; - } - SAV.setStoredSlot(SAV.BlankPKM, getPKXOffset(slot)); - } - else return; - - getQuickFiller(SlotPictureBoxes[slot], SAV.BlankPKM); - getSlotColor(slot, Resources.slotDel); - updateBoxViewers(); - - RedoStack.Clear(); Menu_Redo.Enabled = false; - } - private readonly Stack UndoStack = new Stack(); - private readonly Stack RedoStack = new Stack(); - private void clickUndo(object sender, EventArgs e) - { - if (!UndoStack.Any()) - return; - - SlotChange change = UndoStack.Pop(); - if (change.Slot >= 30) - return; - - RedoStack.Push(new SlotChange - { - Slot = change.Slot, - Box = change.Box, - Offset = change.Offset, - OriginalData = SAV.getStoredSlot(change.Offset) - }); - undoSlotChange(change); - } - private void clickRedo(object sender, EventArgs e) - { - if (!RedoStack.Any()) - return; - - SlotChange change = RedoStack.Pop(); - if (change.Slot >= 30) - return; - - UndoStack.Push(new SlotChange - { - Slot = change.Slot, - Box = change.Box, - Offset = change.Offset, - OriginalData = SAV.getStoredSlot(change.Offset) - }); - undoSlotChange(change); - } - private void undoSlotChange(SlotChange change) - { - int slot = change.Slot; - int offset = change.Offset; - PKM pk = (PKM)change.OriginalData; - - if (CB_BoxSelect.SelectedIndex != change.Box) - CB_BoxSelect.SelectedIndex = change.Box; - SAV.setStoredSlot(pk, offset); - getQuickFiller(SlotPictureBoxes[slot], pk); - getSlotColor(slot, Resources.slotSet); - - Menu_Undo.Enabled = UndoStack.Any(); - Menu_Redo.Enabled = RedoStack.Any(); - - SystemSounds.Asterisk.Play(); - } - private void clickClone(object sender, EventArgs e) - { - if (getSlot(sender) > 30) return; // only perform action if cloning to boxes - if (!verifiedPKM()) return; // don't copy garbage to the box - - if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Clone Pokemon from Editing Tabs to all slots in {CB_BoxSelect.Text}?") != DialogResult.Yes) - return; - - PKM pk = preparePKM(); - - int slotSkipped = 0; - for (int i = 0; i < SAV.BoxSlotCount; i++) // set to every slot in box - { - if (SAV.getIsSlotLocked(CB_BoxSelect.SelectedIndex, i)) - { slotSkipped++; continue; } - SAV.setStoredSlot(pk, getPKXOffset(i)); - getQuickFiller(SlotPictureBoxes[i], pk); - } - - if (slotSkipped > 0) - WinFormsUtil.Alert($"Skipped {slotSkipped} locked slot{(slotSkipped > 1 ? "s" : "")}."); - - updateBoxViewers(); - } - private void clickLegality(object sender, EventArgs e) - { - int slot = getSlot(sender); - PKM pk; - if (slot >= 0) - { - pk = SAV.getStoredSlot(getPKXOffset(slot)); - if (slot < 30 || slot >= 36) // not party - pk.Box = CB_BoxSelect.SelectedIndex; // mark as in a box - } - else if (verifiedPKM()) - pk = preparePKM(); - else - return; - - if (pk.Species == 0 || !pk.ChecksumValid) - { SystemSounds.Asterisk.Play(); return; } - showLegality(pk, slot < 0, ModifierKeys == Keys.Control); - } - private void updateSaveSlot(object sender, EventArgs e) - { - if (SAV.Version != GameVersion.BATREV) - return; - ((SAV4BR)SAV).CurrentSlot = WinFormsUtil.getIndex(CB_SaveSlot); - setPKXBoxes(); - } - private void updateStringSeed(object sender, EventArgs e) - { - if (!fieldsLoaded) - return; - - TextBox tb = sender as TextBox; - if (tb == null) - return; - - if (tb.Text.Length == 0) - { - tb.Undo(); - return; - } - - string filterText = Util.getOnlyHex(tb.Text); - if (filterText.Length != tb.Text.Length) - { - WinFormsUtil.Alert("Expected HEX (0-9, A-F).", "Received: " + Environment.NewLine + tb.Text); - tb.Undo(); - return; - } - - // Write final value back to the save - if (tb == TB_RNGSeed) - { - var value = filterText.PadLeft(SAV.DaycareSeedSize, '0'); - SAV.setDaycareRNGSeed(SAV.DaycareIndex, value); - SAV.Edited = true; - } - else if (tb == TB_GameSync) - { - var value = filterText.PadLeft(SAV.GameSyncIDSize, '0'); - SAV.GameSyncID = value; - SAV.Edited = true; - } - else if (SAV.Generation >= 6) - { - var value = Convert.ToUInt64(filterText, 16); - if (tb == TB_Secure1) - SAV.Secure1 = value; - else if (tb == TB_Secure2) - SAV.Secure2 = value; - SAV.Edited = true; - } - } - private void updateIsNicknamed(object sender, EventArgs e) - { - if (!fieldsLoaded) - return; - - pkm.Nickname = TB_Nickname.Text; - if (CHK_Nicknamed.Checked) - return; - - int species = WinFormsUtil.getIndex(CB_Species); - if (species < 1 || species > SAV.MaxSpeciesID) - return; - - if (CHK_IsEgg.Checked) - species = 0; // get the egg name. - - if (PKX.getIsNicknamedAnyLanguage(species, TB_Nickname.Text, SAV.Generation)) - CHK_Nicknamed.Checked = true; - } - - // Generic Subfunctions // - public void setParty() - { - PKM[] party = SAV.PartyData; - PKM[] battle = SAV.BattleBoxData; - // Refresh slots - if (SAV.HasParty) - { - for (int i = 0; i < party.Length; i++) - getQuickFiller(SlotPictureBoxes[i + 30], party[i]); - for (int i = party.Length; i < 6; i++) - SlotPictureBoxes[i + 30].Image = null; - } - if (SAV.HasBattleBox) - { - for (int i = 0; i < battle.Length; i++) - getQuickFiller(SlotPictureBoxes[i + 36], battle[i]); - for (int i = battle.Length; i < 6; i++) - SlotPictureBoxes[i + 36].Image = null; - } - } - private int getPKXOffset(int slot) - { - if (slot < 30) // Box Slot - return SAV.getBoxOffset(CB_BoxSelect.SelectedIndex) + slot * SAV.SIZE_STORED; - slot -= 30; - if (slot < 6) // Party Slot - return SAV.getPartyOffset(slot); - slot -= 6; - if (slot < 6) // Battle Box Slot - return SAV.BattleBox + slot * SAV.SIZE_STORED; - slot -= 6; - if (slot < 2) // Daycare - return SAV.getDaycareSlotOffset(SAV.DaycareIndex, slot); - slot -= 2; - if (slot == 0) // GTS - return SAV.GTS; - slot -= 1; - if (slot == 0) // Fused - return SAV.Fused; - slot -= 1; - if (slot < 3) // SUBE - return SAV.SUBE + slot * (SAV.SIZE_STORED + 4); - return -1; - } - private int getSlot(object sender) - { - sender = ((sender as ToolStripItem)?.Owner as ContextMenuStrip)?.SourceControl ?? sender as PictureBox; - return Array.IndexOf(SlotPictureBoxes, sender); - } - public void setPKXBoxes() - { - if (SAV.HasBox) - { - int boxoffset = SAV.getBoxOffset(CB_BoxSelect.SelectedIndex); - int boxbgval = SAV.getBoxWallpaper(CB_BoxSelect.SelectedIndex); - PAN_Box.BackgroundImage = SAV.WallpaperImage(boxbgval); - for (int i = 0; i < 30; i++) - { - if (i < SAV.BoxSlotCount) - { - getSlotFiller(boxoffset + SAV.SIZE_STORED * i, SlotPictureBoxes[i]); - } - else - { - SlotPictureBoxes[i].Image = null; - SlotPictureBoxes[i].Visible = false; - } - } - } - - // Reload Party - if (SAV.HasParty) - { - for (int i = 0; i < 6; i++) - getSlotFiller(SAV.getPartyOffset(i), SlotPictureBoxes[i + 30]); - } - - // Reload Battle Box - if (SAV.HasBattleBox) - { - for (int i = 0; i < 6; i++) - getSlotFiller(SAV.BattleBox + SAV.SIZE_STORED * i, SlotPictureBoxes[i + 36]); - } - - // Reload Daycare - if (SAV.HasDaycare) - { - Label[] L_SlotOccupied = { L_DC1, L_DC2 }; - TextBox[] TB_SlotEXP = { TB_Daycare1XP, TB_Daycare2XP }; - Label[] L_SlotEXP = { L_XP1, L_XP2 }; - - for (int i = 0; i < 2; i++) - { - getSlotFiller(SAV.getDaycareSlotOffset(SAV.DaycareIndex, i), SlotPictureBoxes[i + 42]); - uint? exp = SAV.getDaycareEXP(SAV.DaycareIndex, i); - TB_SlotEXP[i].Visible = L_SlotEXP[i].Visible = exp != null; - TB_SlotEXP[i].Text = exp.ToString(); - bool? occ = SAV.getDaycareOccupied(SAV.DaycareIndex, i); - L_SlotOccupied[i].Visible = occ != null; - if (occ == true) // If Occupied - L_SlotOccupied[i].Text = $"{i + 1}: ✓"; - else - { - L_SlotOccupied[i].Text = $"{i + 1}: ✘"; - SlotPictureBoxes[i + 42].Image = ImageUtil.ChangeOpacity(SlotPictureBoxes[i + 42].Image, 0.6); - } - } - bool? egg = SAV.getDaycareHasEgg(SAV.DaycareIndex); - DayCare_HasEgg.Visible = egg != null; - DayCare_HasEgg.Checked = egg == true; - - var seed = SAV.getDaycareRNGSeed(SAV.DaycareIndex); - L_DaycareSeed.Visible = TB_RNGSeed.Visible = seed != null; - if (seed != null) - { - TB_RNGSeed.MaxLength = SAV.DaycareSeedSize; - TB_RNGSeed.Text = seed; - } - } - - // GTS - if (SAV.HasGTS) - getSlotFiller(SAV.GTS, SlotPictureBoxes[44]); - - // Fused - if (SAV.HasFused) - getSlotFiller(SAV.Fused, SlotPictureBoxes[45]); - - // SUBE - if (SAV.HasSUBE) - for (int i = 0; i < 3; i++) - { - int offset = SAV.SUBE + i * (SAV.SIZE_STORED + 4); - if (BitConverter.ToUInt64(SAV.Data, offset) != 0) - getSlotFiller(offset, SlotPictureBoxes[46 + i]); - else SlotPictureBoxes[46 + i].Image = null; - } - - // Recoloring of a storage box slot (to not show for other storage boxes) - if (colorizedslot <= SAV.BoxCount) - SlotPictureBoxes[colorizedslot].BackgroundImage = colorizedbox == CB_BoxSelect.SelectedIndex ? colorizedcolor : null; - } - private void setBoxNames() - { - if (!SAV.HasBox) - return; - // Build ComboBox Dropdown Items - try - { - CB_BoxSelect.Items.Clear(); - for (int i = 0; i < SAV.BoxCount; i++) - CB_BoxSelect.Items.Add(SAV.getBoxName(i)); - } - catch - { - CB_BoxSelect.Items.Clear(); - for (int i = 1; i <= SAV.BoxCount; i++) - CB_BoxSelect.Items.Add($"BOX {i}"); - } - if (SAV.CurrentBox < CB_BoxSelect.Items.Count) - CB_BoxSelect.SelectedIndex = SAV.CurrentBox; // restore selected box - } - private void getQuickFiller(PictureBox pb, PKM pk = null) - { - if (!fieldsInitialized) return; - pk = pk ?? preparePKM(false); // don't perform control loss click - - if (pb == dragout) mnuLQR.Enabled = pk.Species != 0; // Species - - int slot = getSlot(pb); - pb.Image = pk.Sprite(SAV, CB_BoxSelect.SelectedIndex, slot, Menu_FlagIllegal.Checked); - if (pb.BackColor == Color.Red) - pb.BackColor = Color.Transparent; - } - private void getSlotFiller(int offset, PictureBox pb) - { - if (SAV.getData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED])) - { - // 00s present in slot. - pb.Image = null; - pb.BackColor = Color.Transparent; - pb.Visible = true; - return; - } - PKM p = SAV.getStoredSlot(offset); - if (!p.Valid) // Invalid - { - // Bad Egg present in slot. - pb.Image = null; - pb.BackColor = Color.Red; - pb.Visible = true; - return; - } - - int slot = getSlot(pb); - pb.Image = p.Sprite(SAV, CB_BoxSelect.SelectedIndex, slot, Menu_FlagIllegal.Checked); - pb.BackColor = Color.Transparent; - pb.Visible = true; - } - private void getSlotColor(int slot, Image color) - { - foreach (PictureBox t in SlotPictureBoxes) - t.BackgroundImage = null; - - if (slot < 30) - colorizedbox = CB_BoxSelect.SelectedIndex; - - SlotPictureBoxes[slot].BackgroundImage = color; - colorizedcolor = color; - colorizedslot = slot; - } - private void getBox(object sender, EventArgs e) - { - if (SAV.CurrentBox != CB_BoxSelect.SelectedIndex) - { - SAV.CurrentBox = CB_BoxSelect.SelectedIndex; - SAV.Edited = true; // Dumb - } - setPKXBoxes(); - } - private void switchDaycare(object sender, EventArgs e) - { - if (!SAV.HasTwoDaycares) return; - if (DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Would you like to switch the view to the other Daycare?", - $"Currently viewing daycare {SAV.DaycareIndex + 1}.")) - // If ORAS, alter the daycare offset via toggle. - SAV.DaycareIndex ^= 1; - - // Refresh Boxes - setPKXBoxes(); - } - private void loadBoxesFromDB(string path) - { - if (string.IsNullOrWhiteSpace(path)) return; - if (!SAV.HasBox) return; - - DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, "Clear subsequent boxes when importing data?", "If you only want to overwrite for new data, press no."); - if (dr == DialogResult.Cancel) - return; - - bool clearAll = dr == DialogResult.Yes; - bool? noSetb = getPKMSetOverride(); - - SAV.loadBoxes(path, out string result, CB_BoxSelect.SelectedIndex, clearAll, noSetb); - setPKXBoxes(); - WinFormsUtil.Alert(result); - } - private void B_SaveBoxBin_Click(object sender, EventArgs e) - { - if (!SAV.HasBox) - { WinFormsUtil.Alert("Save file does not have boxes to dump!"); return; } - - DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, - "Yes: Export All Boxes" + Environment.NewLine + - $"No: Export {CB_BoxSelect.Text} (Box {CB_BoxSelect.SelectedIndex + 1})" + Environment.NewLine + - "Cancel: Abort"); - - if (dr == DialogResult.Yes) - { - SaveFileDialog sfd = new SaveFileDialog {Filter = "Box Data|*.bin", FileName = "pcdata.bin"}; - if (sfd.ShowDialog() != DialogResult.OK) - return; - File.WriteAllBytes(sfd.FileName, SAV.getPCBin()); - } - else if (dr == DialogResult.No) - { - SaveFileDialog sfd = new SaveFileDialog {Filter = "Box Data|*.bin", FileName = $"boxdata {CB_BoxSelect.Text}.bin"}; - if (sfd.ShowDialog() != DialogResult.OK) - return; - File.WriteAllBytes(sfd.FileName, SAV.getBoxBin(CB_BoxSelect.SelectedIndex)); - } - } - private bool? getPKMSetOverride() - { - var yn = Menu_ModifyPKM.Checked ? "Yes" : "No"; - DialogResult noSet = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, - "Loading overrides:", - "Yes - Modify .pk* when set to SAV" + Environment.NewLine + - "No - Don't modify .pk*" + Environment.NewLine + - $"Cancel - Use current settings ({yn})"); - return noSet == DialogResult.Yes ? true : (noSet == DialogResult.No ? (bool?)false : null); - } - - // Subfunction Save Buttons // - private void B_OpenWondercards_Click(object sender, EventArgs e) => new SAV_Wondercard(sender as MysteryGift).ShowDialog(); - private void B_OpenPokepuffs_Click(object sender, EventArgs e) => new SAV_Pokepuff().ShowDialog(); - private void B_OpenPokeBeans_Click(object sender, EventArgs e) => new SAV_Pokebean().ShowDialog(); - private void B_OpenItemPouch_Click(object sender, EventArgs e) => new SAV_Inventory().ShowDialog(); - private void B_OpenBerryField_Click(object sender, EventArgs e) => new SAV_BerryFieldXY().ShowDialog(); - private void B_OpenPokeblocks_Click(object sender, EventArgs e) => new SAV_PokeBlockORAS().ShowDialog(); - private void B_OpenEventFlags_Click(object sender, EventArgs e) => new SAV_EventFlags().ShowDialog(); - private void B_OpenSuperTraining_Click(object sender, EventArgs e) => new SAV_SuperTrain().ShowDialog(); - private void B_OpenSecretBase_Click(object sender, EventArgs e) => new SAV_SecretBase().ShowDialog(); - private void B_OpenZygardeCells_Click(object sender, EventArgs e) => new SAV_ZygardeCell().ShowDialog(); - private void B_LinkInfo_Click(object sender, EventArgs e) => new SAV_Link6().ShowDialog(); - private void B_OpenBoxLayout_Click(object sender, EventArgs e) - { - new SAV_BoxLayout(CB_BoxSelect.SelectedIndex).ShowDialog(); - setBoxNames(); // fix box names - setPKXBoxes(); // refresh box background - updateBoxViewers(all:true); // update subviewers - } - private void B_OpenTrainerInfo_Click(object sender, EventArgs e) - { - if (SAV.Generation < 6) - new SAV_SimpleTrainer().ShowDialog(); - else if (SAV.Generation == 6) - new SAV_Trainer().ShowDialog(); - else if (SAV.Generation == 7) - new SAV_Trainer7().ShowDialog(); - // Refresh conversion info - PKMConverter.updateConfig(SAV.SubRegion, SAV.Country, SAV.ConsoleRegion, SAV.OT, SAV.Gender, SAV.Language); - } - private void B_OpenOPowers_Click(object sender, EventArgs e) - { - if (SAV.Generation != 6) - return; - if (SAV.ORAS) - { - DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "No editing support for ORAS :(", "Max O-Powers with a working code?"); - if (dr != DialogResult.Yes) return; - new byte[] - { - 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, - 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x00, 0x00, 0x00, - }.CopyTo(SAV.Data, ((SAV6) SAV).OPower); - } - else if (SAV.XY) - new SAV_OPower().ShowDialog(); - } - private void B_OpenFriendSafari_Click(object sender, EventArgs e) - { - if (!SAV.XY) - return; - - DialogResult dr = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "No editing support for Friend Safari :(", "Unlock all 3 slots for each friend?"); - if (dr != DialogResult.Yes) return; - - // Unlock + reveal all safari slots if friend data is present - for (int i = 1; i < 101; i++) - if (SAV.Data[0x1E7FF + 0x15*i] != 0x00) // no friend data == 0x00 - SAV.Data[0x1E7FF + 0x15*i] = 0x3D; - } - private void B_OpenPokedex_Click(object sender, EventArgs e) - { - switch (SAV.Generation) - { - case 1: - case 2: - new SAV_SimplePokedex().ShowDialog(); break; - case 3: - if (SAV.GameCube) - return; - new SAV_SimplePokedex().ShowDialog(); break; - case 4: - if (SAV is SAV4BR) - return; - new SAV_Pokedex4().ShowDialog(); break; - case 5: - new SAV_Pokedex5().ShowDialog(); break; - case 6: - if (SAV.ORAS) - new SAV_PokedexORAS().ShowDialog(); - else if (SAV.XY) - new SAV_PokedexXY().ShowDialog(); - break; - case 7: - if (SAV.SM) - new SAV_PokedexSM().ShowDialog(); - break; - } - } - private void B_OpenMiscEditor_Click(object sender, EventArgs e) - { - switch (SAV.Generation) - { - case 3: - new SAV_Misc3().ShowDialog(); break; - case 4: - new SAV_Misc4().ShowDialog(); break; - } - } - private void B_OpenRTCEditor_Click(object sender, EventArgs e) - { - switch (SAV.Generation) - { - case 3: - new SAV_RTC3().ShowDialog(); break; - } - } - private void B_OpenHoneyTreeEditor_Click(object sender, EventArgs e) - { - switch (SAV.Version) - { - case GameVersion.DP: - case GameVersion.Pt: - new SAV_HoneyTree().ShowDialog(); break; - } - } - private void B_OUTPasserby_Click(object sender, EventArgs e) - { - if (SAV.Generation != 6) - return; - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Export Passerby Info to Clipboard?")) - return; - string result = "PSS List" + Environment.NewLine; - string[] headers = { "PSS Data - Friends", "PSS Data - Acquaintances", "PSS Data - Passerby", }; - int offset = ((SAV6) SAV).PSS; - for (int g = 0; g < 3; g++) - { - result += Environment.NewLine - + "----" + Environment.NewLine - + headers[g] + Environment.NewLine - + "----" + Environment.NewLine; - // uint count = BitConverter.ToUInt32(savefile, offset + 0x4E20); - int r_offset = offset; - - for (int i = 0; i < 100; i++) - { - ulong unkn = BitConverter.ToUInt64(SAV.Data, r_offset); - if (unkn == 0) break; // No data present here - if (i > 0) result += Environment.NewLine + Environment.NewLine; - - string otname = Util.TrimFromZero(Encoding.Unicode.GetString(SAV.Data, r_offset + 8, 0x1A)); - string message = Util.TrimFromZero(Encoding.Unicode.GetString(SAV.Data, r_offset + 0x22, 0x22)); - - // Trim terminated - - // uint unk1 = BitConverter.ToUInt32(savefile, r_offset + 0x44); - // ulong unk2 = BitConverter.ToUInt64(savefile, r_offset + 0x48); - // uint unk3 = BitConverter.ToUInt32(savefile, r_offset + 0x50); - // uint unk4 = BitConverter.ToUInt16(savefile, r_offset + 0x54); - byte region = SAV.Data[r_offset + 0x56]; - byte country = SAV.Data[r_offset + 0x57]; - byte game = SAV.Data[r_offset + 0x5A]; - // ulong outfit = BitConverter.ToUInt64(savefile, r_offset + 0x5C); - int favpkm = BitConverter.ToUInt16(SAV.Data, r_offset + 0x9C) & 0x7FF; - string gamename; - try { gamename = GameInfo.Strings.gamelist[game]; } - catch { gamename = "UNKNOWN GAME"; } - - var cr = GameInfo.getCountryRegionText(country, region, curlanguage); - result += - "OT: " + otname + Environment.NewLine + - "Message: " + message + Environment.NewLine + - "Game: " + gamename + Environment.NewLine + - "Country: " + cr.Item1 + Environment.NewLine + - "Region: " + cr.Item2 + Environment.NewLine + - "Favorite: " + GameInfo.Strings.specieslist[favpkm]; - - r_offset += 0xC8; // Advance to next entry - } - offset += 0x5000; // Advance to next block - } - Clipboard.SetText(result); - } - private void B_OUTHallofFame_Click(object sender, EventArgs e) - { - if (SAV.Generation == 6) - new SAV_HallOfFame().ShowDialog(); - else if (SAV.SM) - new SAV_HallOfFame7().ShowDialog(); - } - private void B_CGearSkin_Click(object sender, EventArgs e) - { - if (SAV.Generation != 5) - return; // can never be too safe - new SAV_CGearSkin().ShowDialog(); - } - private void B_JPEG_Click(object sender, EventArgs e) - { - byte[] jpeg = SAV.JPEGData; - if (SAV.JPEGData == null) - { WinFormsUtil.Alert("No PGL picture data found in the save file!"); return; } - string filename = SAV.JPEGTitle + "'s picture"; - SaveFileDialog sfd = new SaveFileDialog {FileName = filename, Filter = "JPEG|*.jpeg"}; - if (sfd.ShowDialog() != DialogResult.OK) return; - File.WriteAllBytes(sfd.FileName, jpeg); - } - // Save Folder Related private void clickSaveFileName(object sender, EventArgs e) { string cgse = ""; @@ -4114,248 +1195,24 @@ private void clickSaveFileName(object sender, EventArgs e) WinFormsUtil.Error(path); if (path == null || !File.Exists(path)) return; if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Open save file from the following location?", path) == DialogResult.Yes) - openQuick(path); // load save + OpenQuick(path); // load save } - - // Drag and drop related functions - public static DragDropManager DragInfo; - private Image OriginalBackground; - private Image CurrentBackground; - private void pbBoxSlot_MouseEnter(object sender, EventArgs e) + private static void promptBackup() { - var pb = (PictureBox) sender; - if (pb.Image == null) - return; - OriginalBackground = pb.BackgroundImage; - pb.BackgroundImage = CurrentBackground = Resources.slotHover; - Cursor = Cursors.Hand; - } - private void pbBoxSlot_MouseLeave(object sender, EventArgs e) - { - var pb = (PictureBox)sender; - if (pb.BackgroundImage != CurrentBackground) - return; - pb.BackgroundImage = OriginalBackground; - Cursor = Cursors.Default; - } - private void pbBoxSlot_MouseClick(object sender, MouseEventArgs e) - { - if (!DragInfo.DragDropInProgress) - clickSlot(sender, e); - } - private void pbBoxSlot_MouseUp(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - DragInfo.LeftMouseIsDown = false; - if (e.Button == MouseButtons.Right) - DragInfo.RightMouseIsDown = false; - } - private void pbBoxSlot_MouseDown(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - DragInfo.LeftMouseIsDown = true; - if (e.Button == MouseButtons.Right) - DragInfo.RightMouseIsDown = true; - } - private void pbBoxSlot_MouseMove(object sender, MouseEventArgs e) - { - if (DragInfo.DragDropInProgress) - return; + if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, + $"PKHeX can perform automatic backups if you create a folder with the name \"{BackupPath}\" in the same folder as PKHeX's executable.", + "Would you like to create the backup folder now?")) return; - if (!DragInfo.LeftMouseIsDown) - return; - - // 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. - PictureBox pb = (PictureBox)sender; - if (pb.Image == null) - return; - - int slot = getSlot(pb); - int box = slot >= 30 ? -1 : CB_BoxSelect.SelectedIndex; - if (SAV.getIsSlotLocked(box, slot)) - return; - - // Set flag to prevent re-entering. - DragInfo.DragDropInProgress = true; - - DragInfo.Source.Parent = this; - DragInfo.Source.Slot = slot; - DragInfo.Source.Box = box; - DragInfo.Source.Offset = getPKXOffset(DragInfo.Source.Slot); - - // Prepare Data - DragInfo.Source.Data = SAV.getData(DragInfo.Source.Offset, SAV.SIZE_STORED); - - // Make a new file name based off the PID - bool encrypt = ModifierKeys == Keys.Control; - byte[] dragdata = SAV.decryptPKM(DragInfo.Source.Data); - Array.Resize(ref dragdata, SAV.SIZE_STORED); - PKM pkx = SAV.getPKM(dragdata); - string fn = pkx.FileName; fn = fn.Substring(0, fn.LastIndexOf('.')); - string filename = $"{fn}{(encrypt ? ".ek" + pkx.Format : "." + pkx.Extension)}"; - - // Make File - string newfile = Path.Combine(Path.GetTempPath(), Util.CleanFileName(filename)); try { - File.WriteAllBytes(newfile, encrypt ? pkx.EncryptedBoxData : pkx.DecryptedBoxData); - var img = (Bitmap)pb.Image; - DragInfo.Cursor = Cursor.Current = new Cursor(img.GetHicon()); - pb.Image = null; - pb.BackgroundImage = Resources.slotDrag; - // Thread Blocks on DoDragDrop - DragInfo.CurrentPath = newfile; - DragDropEffects result = pb.DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move); - if (!DragInfo.Source.IsValid || result != DragDropEffects.Link) // not dropped to another box slot, restore img - pb.Image = img; - else // refresh image - getQuickFiller(pb, SAV.getStoredSlot(DragInfo.Source.Offset)); - pb.BackgroundImage = null; - - if (DragInfo.SameBox && DragInfo.Destination.IsValid) - { - if (SAV.getIsTeamSet(box, DragInfo.Destination.Slot) ^ SAV.getIsTeamSet(box, DragInfo.Source.Slot)) - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], SAV.getStoredSlot(DragInfo.Destination.Offset)); - else - SlotPictureBoxes[DragInfo.Destination.Slot].Image = img; - } - - if (result == DragDropEffects.Copy) // viewed in tabs, apply 'view' highlight - getSlotColor(DragInfo.Source.Slot, Resources.slotView); + Directory.CreateDirectory(BackupPath); WinFormsUtil.Alert("Backup folder created!", + $"If you wish to no longer automatically back up save files, delete the \"{BackupPath}\" folder."); } - catch (Exception x) - { - WinFormsUtil.Error("Drag & Drop Error", x); - } - notifyBoxViewerRefresh(); - DragInfo.Reset(); - Cursor = DefaultCursor; - - // 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) && DragInfo.CurrentPath == null) - File.Delete(newfile); - }).Start(); - if (DragInfo.Source.IsParty || DragInfo.Destination.IsParty) - setParty(); + catch (Exception ex) { WinFormsUtil.Error($"Unable to create backup folder @ {BackupPath}", ex); } } - private void pbBoxSlot_DragDrop(object sender, DragEventArgs e) - { - DragInfo.Destination.Parent = this; - DragInfo.Destination.Slot = getSlot(sender); - DragInfo.Destination.Offset = getPKXOffset(DragInfo.Destination.Slot); - DragInfo.Destination.Box = DragInfo.Destination.IsParty ? -1 : CB_BoxSelect.SelectedIndex; - // 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 (DragInfo.SameSlot) - return; - if (SAV.getIsSlotLocked(DragInfo.Destination.Box, DragInfo.Destination.Slot)) - { - DragInfo.Destination.Slot = -1; // Invalidate - WinFormsUtil.Alert("Unable to set to locked slot."); - return; - } - if (DragInfo.Source.Offset < 0) // file - { - if (files.Length <= 0) - return; - string file = files[0]; - FileInfo fi = new FileInfo(file); - if (!PKX.getIsPKM(fi.Length) && !MysteryGift.getIsMysteryGift(fi.Length)) - { openQuick(file); return; } - - byte[] data = File.ReadAllBytes(file); - MysteryGift mg = MysteryGift.getMysteryGift(data, fi.Extension); - PKM temp = mg?.convertToPKM(SAV) ?? PKMConverter.getPKMfromBytes(data, prefer: fi.Extension.Length > 0 ? (fi.Extension.Last() - 0x30)&7 : SAV.Generation); - - PKM pk = PKMConverter.convertToFormat(temp, SAV.PKMType, out string c); - if (pk == null) - { WinFormsUtil.Error(c); Console.WriteLine(c); return; } - - string[] errata = SAV.IsPKMCompatible(pk); - if (errata.Length > 0) - { - string concat = string.Join(Environment.NewLine, errata); - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, concat, "Continue?")) - { Console.WriteLine(c); Console.WriteLine(concat); return; } - } - - DragInfo.SetPKM(pk, false); - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], pk); - getSlotColor(DragInfo.Destination.Slot, Resources.slotSet); - Console.WriteLine(c); - } - else - { - PKM pkz = DragInfo.GetPKM(true); - if (!DragInfo.Source.IsValid) { } // not overwritable, do nothing - else if (ModifierKeys == Keys.Alt && DragInfo.Destination.IsValid) // overwrite delete old slot - { - // Clear from slot - if (DragInfo.SameBox) - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], SAV.BlankPKM); // picturebox - - DragInfo.SetPKM(SAV.BlankPKM, true); - } - else if (ModifierKeys != Keys.Control && DragInfo.Destination.IsValid) - { - // Load data from destination - PKM pk = ((PictureBox) sender).Image != null - ? DragInfo.GetPKM(false) - : SAV.BlankPKM; - - // Set destination pokemon image to source picture box - if (DragInfo.SameBox) - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], pk); - - // Set destination pokemon data to source slot - DragInfo.SetPKM(pk, true); - } - else if (DragInfo.SameBox) - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], pkz); - - // Copy from temp to destination slot. - DragInfo.SetPKM(pkz, false); - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], pkz); - - e.Effect = DragDropEffects.Link; - Cursor = DefaultCursor; - } - if (DragInfo.Source.IsParty || DragInfo.Destination.IsParty) - setParty(); - if (DragInfo.Source.Parent == null) // another instance or file - { - notifyBoxViewerRefresh(); - DragInfo.Reset(); - } - } - private void pbBoxSlot_DragEnter(object sender, DragEventArgs e) - { - if (e.AllowedEffect == (DragDropEffects.Copy | DragDropEffects.Link)) // external file - e.Effect = DragDropEffects.Copy; - else if (e.Data != null) // within - e.Effect = DragDropEffects.Move; - - if (DragInfo.DragDropInProgress) - Cursor = (Cursor)DragInfo.Cursor; - } - private void pbBoxSlot_QueryContinueDrag(object sender, QueryContinueDragEventArgs e) - { - if (e.Action == DragAction.Cancel || e.Action == DragAction.Drop) - { - DragInfo.LeftMouseIsDown = false; - DragInfo.RightMouseIsDown = false; - DragInfo.DragDropInProgress = false; - } - } + private void clickUndo(object sender, EventArgs e) => C_SAV.clickUndo(); + private void clickRedo(object sender, EventArgs e) => C_SAV.clickRedo(); #endregion } } diff --git a/PKHeX.WinForms/MainWindow/Main.resx b/PKHeX.WinForms/MainWindow/Main.resx index d4600093f..80a7a44a3 100644 --- a/PKHeX.WinForms/MainWindow/Main.resx +++ b/PKHeX.WinForms/MainWindow/Main.resx @@ -117,1457 +117,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM - xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK - GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM - xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK - GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== - - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAeZJREFUOE+1 - kz1LI1EUhscQ0UzunTszMSoIoiKBLRSxsBHBwkb8aiy2s9TGQjsR/AmysN2CC/4DRUFETMgkZGZEEBQ/ - UgjaZQvDrvhRaDiek3snJqti5YGXufee9zlz5syM9mUxMjJct9Ld1biU6I7gOkx7lfo8yLwVax1IM+sm - y6yiGzX7Vaom3i2KhyEUTxm26wgbPCbAjYqcSleCYFRYbWUE8Ha8ZYbgs9ExuJydA79cxPiubIGPHq1e - HVUq8oW+nua0YV7RnR9OzwBKJTiw4+Ayfp3StEYFc5SOkh3ggmCqKPbs2ArBdNf74xOgODBj5X2Oi2X0 - ECyUX84AFzRl/WdnR5en81syk/6lHXgqFstrKupw8w49CfRSkdcB4qYeFfGY8SuASTcbm/CYz0sYZ5JG - JU17Hb0hhcrAg3CGWb0IPVcX+LP2G/5iFwFM1xwTJV8XfQqVQe14jO9Vw6TjwSE4mpiswMFsfMaTCpXh - cz7+P0zmi4VFuFz9AY5ZDQd5c0rhmubp4rw2KZ+5sJ+E20IBfKupBia5ushT5xpoWgjf8X2QqB5YtrUN - Dts738DSZzzMf0s0lDtwuTnpR40NLyq2M4a14xj2Dl1p778jD727sfg0dvDmS6TvgV7ph39frW84/AKK - SiSLGvswRQAAAABJRU5ErkJggg== - - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - 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 - yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v - vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp - vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L - Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA - bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z - llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW - ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s - xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 - eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw - YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR - XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm - WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl - xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 - dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 - V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za - 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 - dQwMAL/BNIG87NYcAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC45bDN+TgAAAEpJREFUKFNjQAMB - QPwAikFsnACk4AMUg9g4wQUghikEsVEAzDqQBLpCEIY7A9k6XBjsDKIVEm01MkBXiBMgOwNsHS4Acwaa - dQwMAL/BNIG87NYcAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAFVJREFUKFNjQAeKioqhUCZuoKSktAqI/wMVd0CFMAFMEQxjVYyuCIZRFCsrK6dh - UwTDQMUuUKVgD8zEpgiIy6FKEACLYkxFMICkGLciGEBxE+mAgQEAw6cxLyPYHYMAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAFVJREFUKFNjQAeKioqhUCZuoKSktAqI/wMVd0CFMAFMEQxjVYyuCIZRFCsrK6dh - UwTDQMUuUKVgD8zEpgiIy6FKEACLYkxFMICkGLciGEBxE+mAgQEAw6cxLyPYHYMAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGFJREFUKFNjIA/oVggyGJetYjCpUIKKYAEmFS5ARe8YjMv/gzGIjwGMy8vhClBx - OVQFEBhXhGJRgISB8nCAVQEUowCjsg6sikDiKADsWywKQeIYwLhsJhCfgWMM04gCDAwAOXZIpY+syQoA - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGFJREFUKFNjIA/oVggyGJetYjCpUIKKYAEmFS5ARe8YjMv/gzGIjwGMy8vhClBx - OVQFEBhXhGJRgISB8nCAVQEUowCjsg6sikDiKADsWywKQeIYwLhsJhCfgWMM04gCDAwAOXZIpY+syQoA - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAPklEQVQoU2OA - gf///+PEcKCkpPQOF0ZRDBX8jwW/g6iAApAAmgIaKoS7EUSABNAU4FWIFaMoJAZjFcTE/xkAiduxT7wO - KegAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAPklEQVQoU2OA - gf///+PEcKCkpPQOF0ZRDBX8jwW/g6iAApAAmgIaKoS7EUSABNAU4FWIFaMoJAZjFcTE/xkAiduxT7wO - KegAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHpJREFUKFNjQAeKioodUCZuAFTkoqSk9B9EQ4UwgZycnCBQwRmowrvKysrGUCkI - AEqUgyRxYaCmmVClEHdhUwTEq6BKEAAouBtZEch6qBQqgLkPGUOlUAFUcreqqqoSyF0gPpBG9T3Ih0Cc - BuWCAUgMqDAUyiUWMDAAALO6MzuvKR9eAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHpJREFUKFNjQAeKioodUCZuAFTkoqSk9B9EQ4UwgZycnCBQwRmowrvKysrGUCkI - AEqUgyRxYaCmmVClEHdhUwTEq6BKEAAouBtZEch6qBQqgLkPGUOlUAFUcreqqqoSyF0gPpBG9T3Ih0Cc - BuWCAUgMqDAUyiUWMDAAALO6MzuvKR9eAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAI1JREFUKFOVUEENwzAMDIViKYVBiPcogFIohXIahUKwK5VAIcSz3ZvqaPvspJMv - vpPjpGTodAxadwqaRrtHI16URHvyDPuCPuURxnreoY82DzELkmzRdMwIQrfKL8Ts2spnmO57TbqRCGJp - 4g92E23pMYzF9rISdO29vKPDX5gnBe2bYH/jms4jjv+ilDfBD7LrZqlEjQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAI1JREFUKFOVUEENwzAMDIViKYVBiPcogFIohXIahUKwK5VAIcSz3ZvqaPvspJMv - vpPjpGTodAxadwqaRrtHI16URHvyDPuCPuURxnreoY82DzELkmzRdMwIQrfKL8Ts2spnmO57TbqRCGJp - 4g92E23pMYzF9rISdO29vKPDX5gnBe2bYH/jms4jjv+ilDfBD7LrZqlEjQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAG5JREFUKFNjQAeKioqhUCZuoKysbKykpPQfREOFsAOgot0ghUBTz0CFMAFQ0gWk - CIZxOgFkCprCu1ApBADpRlYEw0C3pkGVQABQ8B26Iih+B1UCVlSOJomCgbZ1gBWqqqoqgYIDFwbJgxUS - BxgYAGs4NknmoWGpAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAG5JREFUKFNjQAeKioqhUCZuoKysbKykpPQfREOFsAOgot0ghUBTz0CFMAFQ0gWk - CIZxOgFkCprCu1ApBADpRlYEw0C3pkGVQABQ8B26Iih+B1UCVlSOJomCgbZ1gBWqqqoqgYIDFwbJgxUS - BxgYAGs4NknmoWGpAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM - xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK - GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHhJREFUKFNjQAf/BQQ6oEzc4L+QUOh/QcH///n5jaFCmAAoKfhPUPAuWKGg4BkM - xSCroJLYMbJT/gkIzMSmCCQOVYIAQIkzKIqAzoBKoQIk98EUvoNKIQDII2AFAgKrgGwlMA3iY3gIKAAK - GigXDIB8F3QxIgADAwC7NFU/mWb72QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGxJREFUKFNjQAbKysrGQJwGoqFCqEBVVVVJUVHxjJKS0n8YBvHl5OQEoUogAF0R - smKoErAiF2yKYBjuDJCbsCmAYaBBoTCFxtgUwDCKx3C5EYh3Q5VAAMh3IEF0RRi+hgFoMLmAaKgQqYCB - AQDOs0aM0tfjRAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGxJREFUKFNjQAbKysrGQJwGoqFCqEBVVVVJUVHxjJKS0n8YBvHl5OQEoUogAF0R - smKoErAiF2yKYBjuDJCbsCmAYaBBoTCFxtgUwDCKx3C5EYh3Q5VAAMh3IEF0RRi+hgFoMLmAaKgQqYCB - AQDOs0aM0tfjRAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHBJREFUKFNjgAFlZWVjOTk5QRAbRCsqKrrA+GCgqqqqBATvgPg/iEbnwxUDOeVQ - QTAGmnQGmQ+0KQ2sECjRgSyBjkHyYIUgt2FTAMMgebBCEAA5HJsioHgoVAkCgASRFcHdhg2AJAkqggEU - N5EOGBgAEVY/pv9ltCoAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHBJREFUKFNjgAFlZWVjOTk5QRAbRCsqKrrA+GCgqqqqBATvgPg/iEbnwxUDOeVQ - QTAGmnQGmQ+0KQ2sECjRgSyBjkHyYIUgt2FTAMMgebBCEAA5HJsioHgoVAkCgASRFcHdhg2AJAkqggEU - N5EOGBgAEVY/pv9ltCoAAAAASUVORK5CYII= - - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - 17, 17 True + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL @@ -1583,15 +139,6 @@ LpUwwBAjTc59FOFbFyfccNfkvEcbvv3hghpaMNDBElc4F1ywgMzIbBNVqBRMyID9kheZOaOHBJ5FUcEW bpfsNigggpfCyGECGXR+gjzHyCIEzzJoQF7TWnBEHWm8VRxlrLFCHjF8XFL7bfLTBHHADmoe0AxTfJNS DzmubKACFy9hAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - EwAACxMBAJqcGAAAAK5JREFUOE+l080JwkAQxfG1C9ONB2vQCF4FrcNLwJN9WIYHO1B7UMEvkFz0P8EV - HR5Zow9+ITxmJ5dsIBNccP/SGm28YoePWCZsEJfYe4YqVthAKjnigo8lvy4wW/y1wFSPHRYJK/jDRpZN - yLIJWUZ7HFznyfKGHlpPA5RQs7KcwWcONSvLPnyGULOynMKngJqV5RkdxHRxhZqtvYn2v79fIu+EMIZ9 - UQ3U4XAYPQBTz8DAw6Q/uAAAAABJRU5ErkJggg== @@ -1612,6 +159,15 @@ wnbSvxPEFi7Cbgc9gAkckL9qBMb03DTAz/gC5VHdJmfhAxzxmgZ1D2ZcgQlTuoRn0LerIcoLnIAvrOQO dD4Gx7wJA/BUfcawB7+ko5VU/UyWfg3+TEl5D542A6uRJ7CqEygoy74BMMpgsfyc5z4AAAAASUVORK5C YII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAAK5JREFUOE+l080JwkAQxfG1C9ONB2vQCF4FrcNLwJN9WIYHO1B7UMEvkFz0P8EV + HR5Zow9+ITxmJ5dsIBNccP/SGm28YoePWCZsEJfYe4YqVthAKjnigo8lvy4wW/y1wFSPHRYJK/jDRpZN + yLIJWUZ7HFznyfKGHlpPA5RQs7KcwWcONSvLPnyGULOynMKngJqV5RkdxHRxhZqtvYn2v79fIu+EMIZ9 + UQ3U4XAYPQBTz8DAw6Q/uAAAAABJRU5ErkJggg== @@ -1621,15 +177,6 @@ 0nzwmmTIvFLKVGQDH/gVop412OYJp0Je8AazqVCaM6g3KRjXayxZwRK+cLRTNy6YwUSbIAO4gC7FJC5I JSVxwS3DA3QxlLhAb0hxh0ZwgCa9PmEIV9DFvQqtuGAOU22CtJt3KgRxgR6x37gA/catnbrJCpRRvcbS S5CKCzRMGgwVStAgqc9GUgfZSqC5Wv0Bu1d7m223me4AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - EwAACxMBAJqcGAAAAMxJREFUOE+l080KQUEYxvFZkFyC7JTE3kL5uAmxsZGdJTfATdhYcDmiFMnKQi6A - rSj832kmBzOdJk/9Or3nvM9mzjkqJkVzDU4aB3MNTg9PdPUUmDWkvNJTQCqQolWGM3nU0UQfYywRLS8w - gjyXPdmXnmrjiuhyHNlvQaeBC1yL386o4SMlnOAqWEd4330Wd7iKN2TgTQGuopWDN/JBuEpWB95MIUsP - zCDnMDf3xATe7LFFVU/vyOnusNGTI/IDDJDQ02+SGCKlp/+i1AtwGlQV1h1i3AAAAABJRU5ErkJggg== @@ -1667,11 +214,13 @@ wAkvjIPVJQP2D3I/Ky3JXtLZoNThgmCBFC1UAmnLj/+wp6IB3W9Xq5yYVfMAAAAASUVORK5CYII= - + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL - EwAACxMBAJqcGAAAADNJREFUKFNjAIL/FGKGFRTiQQBuEIl7gRgruEIk7gbiQQrWYMEWQEw0+IMFBwEx - EYCBAQD1hzUT/KfSKgAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAAMxJREFUOE+l080KQUEYxvFZkFyC7JTE3kL5uAmxsZGdJTfATdhYcDmiFMnKQi6A + rSj832kmBzOdJk/9Or3nvM9mzjkqJkVzDU4aB3MNTg9PdPUUmDWkvNJTQCqQolWGM3nU0UQfYywRLS8w + gjyXPdmXnmrjiuhyHNlvQaeBC1yL386o4SMlnOAqWEd4330Wd7iKN2TgTQGuopWDN/JBuEpWB95MIUsP + zCDnMDf3xATe7LFFVU/vyOnusNGTI/IDDJDQ02+SGCKlp/+i1AtwGlQV1h1i3AAAAABJRU5ErkJggg== @@ -1735,6 +284,13 @@ xArS6O3GlyPatk8Xsf8dmpNkEw+InaIz+9wiO+YJ+whjK3g6s7atJ/vJ0SPCIZZWKKuHJCOooIv0Yu08 umQ6v9r3SLOLU9ShLzKAnzxEFTWcoInC6J77BXRjS+UZc6Ot5/yNIfwBdF+Mwpmwi9MAAAAASUVORK5C YII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAADNJREFUKFNjAIL/FGKGFRTiQQBuEIl7gRgruEIk7gbiQQrWYMEWQEw0+IMFBwEx + EYCBAQD1hzUT/KfSKgAAAABJRU5ErkJggg== @@ -1771,311 +327,9 @@ zusAAAAASUVORK5CYII= - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAANwAAADSCAMAAAAWjl7DAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFtays - uK+vu7KyvbW1v7a2vb21wrm5w7u7xby8xb29x7+/w8O7x8e/y8O7zcW9z8e/yMDAy8PDzcXFz8fH08vD - 1s3F18/H0srK08vL1c3N18/P3NPL2tLS3NPT3dXV3NzT3t7W4NfP4NfX5NzT49ra5Nzc5t3d5t7e4ODX - 4+Pa5OTc5ubd5ube6ODX6eHZ7OTc6ODg6eHh7OTk7ubm6Ojg6enh7Ozk8Ojg9Ozk8Ojo8+vr9Ozs9u7u - 8PDo+PDo+PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs5hT+gAAAAlwSFlzAAAO - wgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAONklEQVR4Xu2Z - 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 - - - - True - 132, 17 - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - True @@ -2085,104 +339,6 @@ True - - True - - - True - - - True - - - True - - - True - - - - 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 - RU5ErkJggg== - - - - True - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAABSxJREFUWEfFl31M1VUYx+W+cn8X4k0mamDyotx7IUBeAoSLKBrpqNQQly8501K4 - WlCODAJKDDFGt9HmLKLbElIooAxZlA5la+pwUW1WMJtrzTl7+aNNzayevs+59/66vN0L2Ohsn8HvnOc8 - 3y/n/H7nPMwgov+V0R3jtPsTfHSgBHSAfnADkAN+/hRUgEjA8W6R9VzFRccYDRMKwBBwCrqDjb0IRom6 - Iuu5iouOEQ3BLC6Sl+brqM+qpu+aVfR7n4KoHwzG0uCZzXThkz1UVzJPNrIiwceG6V74fZQ4I+u5iosO - l4ZAXk6x1O3Pa+iPEwr68zMF/XVGQX+f/dcAXSkh+qmR6JKZ+hu1lJd8lzCxPM5nE9IowCgjsp6ruOhw - aQhsBFS7SUe3OhTCwMW3VVSzzZssD0lkeRisDaLKHSaxAmzg9mk1HX3GaF+FeJ9epNGAUSZkPVdx0eHS - EPgtJxpqUAkDnZUaeYnH4nBFuDBwtclMBRmBoi9toZSKVGowOQMISuQEO5f70o1mJd1sV9B6s14kXWyQ - WsNDNIVMRIhmZ+pCnY37H0j0pWvHNfTzO1n0ypYFIjbLpC9FOj1QAtmErOcqLjocDUEWTvDqBj9h4JtD - KpFw2b36IQyvADkgE9wHkpfE6E/y+CmrVhjo3Jsk4pfG6jsxHgS0YFIG6jlByw5/YaBnn335zSbpVPRc - bXFylO4AlrcqPVoqT4rUPYp+K4/bntMJA2cPZor4nDj9ANLNARJQoG/CBt7gBO0Wu4HOMvf776Rht93A - xYal4hlfwg9INx/4ASX6PBtAQDdPZk4UB9DX9Wqq3qijJ3MlKsqT6Nl8iay7vOm1p8Ce2VSK/basM1Dh - 6mAqXivRudok+sqaLZvCKpxD2kCgxrN7AxjM5UmP5QRS29NzaKAqkH61KeXP0NM5wF/Blbcyqb/OTF37 - E2j7ymBhItMobYcB+T1w6g0TZzBYzRNayhfQ9aYo+u31ILEFkzHAW/DLu6voZncufVhjEgbwMvLJyF+D - OBOcemMZqOEJRyvcGxg8pqAP9inpi/fnuzVwvDZGGMiO1bdA2B+IM8GpNyUDXzYpaWOGSqanaZlHA1kx - +lYIhwAdwNLdgYFDu4YbqNoa6tEA3oEOCM8DvkDp1JuSga6Xhxt4syLOo4EMo/QRhKMAb4PKqTclA7d7 - FXSkzG6irtCfbl3e7dmAQfoYwgYgPken3pQM8EvYWmU3UG8JmNBLiPujC8JGwMfynRm4Dp7IsS//ZrOK - rg1sm14D3QeGvwPvHUyZXgP9h5V00qqkCzghv++Joh/Pb5leA5M5CadioIwn2Eoj/xMDbS8ZhIG0aKlt - ogayeMKadD+qLggW9UAfagEuSCZi4NIxDZ2uXkTNxfFU+3gEPZLhLwzEhGkrIRwN3H+G3FBSt/Ck8Sh6 - EMWoS1Fqyb+H8lIDxoxlcAh9jrRZIAK4P4gcTYkqx4DDo8hslI7gHD+P2+zyWMlHgkvnKuYMpUTpek2h - Wtssf1UJ8q0EieBu4P4odjS+Mr0BLxdXM4vAEsCJVocFq0vB3tCZ6nLwAqNVe23F2AawHqwDa8AqkA1Y - PBzw/nNe7J17A15ABbiOYxPsPBKYQDzghCkgDaSDxY6f/Mz9SYDjOJ7P/1DA4pyP845/HTsaG+BV4GB2 - 7AN472aCWWA2mAs4Md9wTsIAm+UilK9ejg8AvOych/O5L0hGNKcRrul5Mv+Xw2UV3+n813CFw+ac8DP3 - 8zgLcjzP4/lCmMG74tCjGf8AU6o8jRL1xCQAAAAASUVORK5CYII= - - - - True - 231, 17 @@ -2231,124 +387,9 @@ True - - - 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 - RU5ErkJggg== - - - - True - - - True - - - True - - - True - - - True - - - True - True - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - True @@ -2388,18 +429,12 @@ True - - True - True True - - True - True @@ -2409,7 +444,16 @@ True - + + True + + + True + + + True + + True @@ -2439,39 +483,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - True @@ -2532,69 +543,15 @@ True - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - + True True + + True + True @@ -2621,6 +578,12 @@ True + + True + + + True + True diff --git a/PKHeX.WinForms/MainWindow/MainPK4.cs b/PKHeX.WinForms/MainWindow/MainPK4.cs deleted file mode 100644 index 3209e236b..000000000 --- a/PKHeX.WinForms/MainWindow/MainPK4.cs +++ /dev/null @@ -1,477 +0,0 @@ -using System; -using PKHeX.Core; - -namespace PKHeX.WinForms -{ - public partial class Main - { - // Main Series - private void populateFieldsPK4() - { - PK4 pk4 = pkm as PK4; - if (pk4 == null) - return; - - // Do first - pk4.Stat_Level = PKX.getLevel(pk4.Species, pk4.EXP); - if (pk4.Stat_Level == 100 && !HaX) - pk4.EXP = PKX.getEXP(pk4.Stat_Level, pk4.Species); - - CB_Species.SelectedValue = pk4.Species; - TB_Level.Text = pk4.Stat_Level.ToString(); - TB_EXP.Text = pk4.EXP.ToString(); - - // Load rest - CHK_Fateful.Checked = pk4.FatefulEncounter; - CHK_IsEgg.Checked = pk4.IsEgg; - CHK_Nicknamed.Checked = pk4.IsNicknamed; - Label_OTGender.Text = gendersymbols[pk4.OT_Gender]; - Label_OTGender.ForeColor = getGenderColor(pk4.OT_Gender); - TB_PID.Text = pk4.PID.ToString("X8"); - CB_HeldItem.SelectedValue = pk4.HeldItem; - CB_Nature.SelectedValue = pk4.Nature; - TB_TID.Text = pk4.TID.ToString("00000"); - TB_SID.Text = pk4.SID.ToString("00000"); - TB_Nickname.Text = pk4.Nickname; - TB_OT.Text = pk4.OT_Name; - TB_Friendship.Text = pk4.CurrentFriendship.ToString(); - GB_OT.BackgroundImage = null; - CB_Language.SelectedValue = pk4.Language; - CB_GameOrigin.SelectedValue = pk4.Version; - CB_EncounterType.SelectedValue = pk4.Gen4 ? pk4.EncounterType : 0; - CB_Ball.SelectedValue = pk4.Ball; - - CAL_MetDate.Value = pk4.MetDate ?? new DateTime(2000, 1, 1); - - if (pk4.Egg_Location != 0) - { - // Was obtained initially as an egg. - CHK_AsEgg.Checked = true; - GB_EggConditions.Enabled = true; - - CB_EggLocation.SelectedValue = pk4.Egg_Location; - CAL_EggDate.Value = pk4.EggMetDate ?? 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; } - - CB_MetLocation.SelectedValue = pk4.Met_Location; - - TB_MetLevel.Text = pk4.Met_Level.ToString(); - - // Reset Label and ComboBox visibility, as well as non-data checked status. - Label_PKRS.Visible = CB_PKRSStrain.Visible = CHK_Infected.Checked = pk4.PKRS_Strain != 0; - Label_PKRSdays.Visible = CB_PKRSDays.Visible = pk4.PKRS_Days != 0; - - // Set SelectedIndexes for PKRS - CB_PKRSStrain.SelectedIndex = pk4.PKRS_Strain; - CHK_Cured.Checked = pk4.PKRS_Strain > 0 && pk4.PKRS_Days == 0; - CB_PKRSDays.SelectedIndex = Math.Min(CB_PKRSDays.Items.Count - 1, pk4.PKRS_Days); // to strip out bad hacked 'rus - - TB_Cool.Text = pk4.CNT_Cool.ToString(); - TB_Beauty.Text = pk4.CNT_Beauty.ToString(); - TB_Cute.Text = pk4.CNT_Cute.ToString(); - TB_Smart.Text = pk4.CNT_Smart.ToString(); - TB_Tough.Text = pk4.CNT_Tough.ToString(); - TB_Sheen.Text = pk4.CNT_Sheen.ToString(); - - TB_HPIV.Text = pk4.IV_HP.ToString(); - TB_ATKIV.Text = pk4.IV_ATK.ToString(); - TB_DEFIV.Text = pk4.IV_DEF.ToString(); - TB_SPEIV.Text = pk4.IV_SPE.ToString(); - TB_SPAIV.Text = pk4.IV_SPA.ToString(); - TB_SPDIV.Text = pk4.IV_SPD.ToString(); - CB_HPType.SelectedValue = pk4.HPType; - - TB_HPEV.Text = pk4.EV_HP.ToString(); - TB_ATKEV.Text = pk4.EV_ATK.ToString(); - TB_DEFEV.Text = pk4.EV_DEF.ToString(); - TB_SPEEV.Text = pk4.EV_SPE.ToString(); - TB_SPAEV.Text = pk4.EV_SPA.ToString(); - TB_SPDEV.Text = pk4.EV_SPD.ToString(); - - CB_Move1.SelectedValue = pk4.Move1; - CB_Move2.SelectedValue = pk4.Move2; - CB_Move3.SelectedValue = pk4.Move3; - CB_Move4.SelectedValue = pk4.Move4; - CB_PPu1.SelectedIndex = pk4.Move1_PPUps; - CB_PPu2.SelectedIndex = pk4.Move2_PPUps; - CB_PPu3.SelectedIndex = pk4.Move3_PPUps; - CB_PPu4.SelectedIndex = pk4.Move4_PPUps; - TB_PP1.Text = pk4.Move1_PP.ToString(); - TB_PP2.Text = pk4.Move2_PP.ToString(); - TB_PP3.Text = pk4.Move3_PP.ToString(); - TB_PP4.Text = pk4.Move4_PP.ToString(); - - // Set Form if count is enough, else cap. - CB_Form.SelectedIndex = CB_Form.Items.Count > pk4.AltForm ? pk4.AltForm : CB_Form.Items.Count - 1; - - // Load Extrabyte Value - TB_ExtraByte.Text = pk4.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString(); - - updateStats(); - - TB_EXP.Text = pk4.EXP.ToString(); - Label_Gender.Text = gendersymbols[pk4.Gender]; - Label_Gender.ForeColor = getGenderColor(pk4.Gender); - - if (HaX) - DEV_Ability.SelectedValue = pk4.Ability; - else - { - int[] abils = SAV.Personal.getAbilities(pk4.Species, pk4.AltForm); - int abil = Array.IndexOf(abils, pk4.Ability); - - if (abil < 0) - CB_Ability.SelectedIndex = 0; - else if (abils[0] == abils[1] || abils[1] == 0) - CB_Ability.SelectedIndex = pk4.PIDAbility; - else - CB_Ability.SelectedIndex = abil >= CB_Ability.Items.Count ? 0 : abil; - } - } - private PKM preparePK4() - { - PK4 pk4 = pkm as PK4; - if (pk4 == null) - return null; - - pk4.Species = WinFormsUtil.getIndex(CB_Species); - pk4.HeldItem = WinFormsUtil.getIndex(CB_HeldItem); - pk4.TID = Util.ToInt32(TB_TID.Text); - pk4.SID = Util.ToInt32(TB_SID.Text); - pk4.EXP = Util.ToUInt32(TB_EXP.Text); - pk4.PID = Util.getHEXval(TB_PID.Text); - - if (CB_Ability.Text.Length >= 4) - { - pk4.Ability = (byte)Array.IndexOf(GameInfo.Strings.abilitylist, CB_Ability.Text.Remove(CB_Ability.Text.Length - 4)); - } - - pk4.FatefulEncounter = CHK_Fateful.Checked; - pk4.Gender = PKX.getGender(Label_Gender.Text); - pk4.AltForm = (MT_Form.Enabled ? Convert.ToInt32(MT_Form.Text) : CB_Form.Enabled ? CB_Form.SelectedIndex : 0) & 0x1F; - pk4.EV_HP = Util.ToInt32(TB_HPEV.Text); - pk4.EV_ATK = Util.ToInt32(TB_ATKEV.Text); - pk4.EV_DEF = Util.ToInt32(TB_DEFEV.Text); - pk4.EV_SPE = Util.ToInt32(TB_SPEEV.Text); - pk4.EV_SPA = Util.ToInt32(TB_SPAEV.Text); - pk4.EV_SPD = Util.ToInt32(TB_SPDEV.Text); - - pk4.CNT_Cool = Util.ToInt32(TB_Cool.Text); - pk4.CNT_Beauty = Util.ToInt32(TB_Beauty.Text); - pk4.CNT_Cute = Util.ToInt32(TB_Cute.Text); - pk4.CNT_Smart = Util.ToInt32(TB_Smart.Text); - pk4.CNT_Tough = Util.ToInt32(TB_Tough.Text); - pk4.CNT_Sheen = Util.ToInt32(TB_Sheen.Text); - - pk4.PKRS_Days = CB_PKRSDays.SelectedIndex; - pk4.PKRS_Strain = CB_PKRSStrain.SelectedIndex; - pk4.Nickname = TB_Nickname.Text; - pk4.Move1 = WinFormsUtil.getIndex(CB_Move1); - pk4.Move2 = WinFormsUtil.getIndex(CB_Move2); - pk4.Move3 = WinFormsUtil.getIndex(CB_Move3); - pk4.Move4 = WinFormsUtil.getIndex(CB_Move4); - pk4.Move1_PP = WinFormsUtil.getIndex(CB_Move1) > 0 ? Util.ToInt32(TB_PP1.Text) : 0; - pk4.Move2_PP = WinFormsUtil.getIndex(CB_Move2) > 0 ? Util.ToInt32(TB_PP2.Text) : 0; - pk4.Move3_PP = WinFormsUtil.getIndex(CB_Move3) > 0 ? Util.ToInt32(TB_PP3.Text) : 0; - pk4.Move4_PP = WinFormsUtil.getIndex(CB_Move4) > 0 ? Util.ToInt32(TB_PP4.Text) : 0; - pk4.Move1_PPUps = WinFormsUtil.getIndex(CB_Move1) > 0 ? CB_PPu1.SelectedIndex : 0; - pk4.Move2_PPUps = WinFormsUtil.getIndex(CB_Move2) > 0 ? CB_PPu2.SelectedIndex : 0; - pk4.Move3_PPUps = WinFormsUtil.getIndex(CB_Move3) > 0 ? CB_PPu3.SelectedIndex : 0; - pk4.Move4_PPUps = WinFormsUtil.getIndex(CB_Move4) > 0 ? CB_PPu4.SelectedIndex : 0; - - pk4.IV_HP = Util.ToInt32(TB_HPIV.Text); - pk4.IV_ATK = Util.ToInt32(TB_ATKIV.Text); - pk4.IV_DEF = Util.ToInt32(TB_DEFIV.Text); - pk4.IV_SPE = Util.ToInt32(TB_SPEIV.Text); - pk4.IV_SPA = Util.ToInt32(TB_SPAIV.Text); - pk4.IV_SPD = Util.ToInt32(TB_SPDIV.Text); - pk4.IsEgg = CHK_IsEgg.Checked; - pk4.IsNicknamed = CHK_Nicknamed.Checked; - - pk4.OT_Name = TB_OT.Text; - pk4.CurrentFriendship = Util.ToInt32(TB_Friendship.Text); - - pk4.Ball = WinFormsUtil.getIndex(CB_Ball); - pk4.Met_Level = Util.ToInt32(TB_MetLevel.Text); - pk4.OT_Gender = PKX.getGender(Label_OTGender.Text); - pk4.EncounterType = WinFormsUtil.getIndex(CB_EncounterType); - pk4.Version = WinFormsUtil.getIndex(CB_GameOrigin); - pk4.Language = WinFormsUtil.getIndex(CB_Language); - - // Default Dates - 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_date = CAL_EggDate.Value; - egg_location = WinFormsUtil.getIndex(CB_EggLocation); - } - // Egg Met Data - pk4.EggMetDate = egg_date; - pk4.Egg_Location = egg_location; - // Met Data - pk4.MetDate = CAL_MetDate.Value; - pk4.Met_Location = WinFormsUtil.getIndex(CB_MetLocation); - - if (pk4.IsEgg && pk4.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it! - pk4.MetDate = null; - - // Toss in Party Stats - Array.Resize(ref pk4.Data, pk4.SIZE_PARTY); - pk4.Stat_Level = Util.ToInt32(TB_Level.Text); - pk4.Stat_HPCurrent = Util.ToInt32(Stat_HP.Text); - pk4.Stat_HPMax = Util.ToInt32(Stat_HP.Text); - pk4.Stat_ATK = Util.ToInt32(Stat_ATK.Text); - pk4.Stat_DEF = Util.ToInt32(Stat_DEF.Text); - pk4.Stat_SPE = Util.ToInt32(Stat_SPE.Text); - pk4.Stat_SPA = Util.ToInt32(Stat_SPA.Text); - pk4.Stat_SPD = Util.ToInt32(Stat_SPD.Text); - - if (HaX) - { - pk4.Ability = (byte)WinFormsUtil.getIndex(DEV_Ability); - pk4.Stat_Level = (byte)Math.Min(Convert.ToInt32(MT_Level.Text), byte.MaxValue); - } - - // Fix Moves if a slot is empty - pk4.FixMoves(); - - pk4.RefreshChecksum(); - return pk4; - } - - // Battle Revolution - private void populateFieldsBK4() - { - BK4 pk4 = pkm as BK4; - if (pk4 == null) - return; - - // Do first - pk4.Stat_Level = PKX.getLevel(pk4.Species, pk4.EXP); - if (pk4.Stat_Level == 100) - pk4.EXP = PKX.getEXP(pk4.Stat_Level, pk4.Species); - - CB_Species.SelectedValue = pk4.Species; - TB_Level.Text = pk4.Stat_Level.ToString(); - TB_EXP.Text = pk4.EXP.ToString(); - - // Load rest - CHK_Fateful.Checked = pk4.FatefulEncounter; - CHK_IsEgg.Checked = pk4.IsEgg; - CHK_Nicknamed.Checked = pk4.IsNicknamed; - Label_OTGender.Text = gendersymbols[pk4.OT_Gender]; - Label_OTGender.ForeColor = getGenderColor(pk4.OT_Gender); - TB_PID.Text = pk4.PID.ToString("X8"); - CB_HeldItem.SelectedValue = pk4.HeldItem; - setAbilityList(); - CB_Nature.SelectedValue = pk4.Nature; - TB_TID.Text = pk4.TID.ToString("00000"); - TB_SID.Text = pk4.SID.ToString("00000"); - TB_Nickname.Text = pk4.Nickname; - TB_OT.Text = pk4.OT_Name; - TB_Friendship.Text = pk4.CurrentFriendship.ToString(); - GB_OT.BackgroundImage = null; - CB_Language.SelectedValue = pk4.Language; - CB_GameOrigin.SelectedValue = pk4.Version; - CB_EncounterType.SelectedValue = pk4.Gen4 ? pk4.EncounterType : 0; - CB_Ball.SelectedValue = pk4.Ball; - - CAL_MetDate.Value = pk4.MetDate ?? new DateTime(2000, 1, 1); - - if (pk4.Egg_Location != 0) - { - // Was obtained initially as an egg. - CHK_AsEgg.Checked = true; - GB_EggConditions.Enabled = true; - - CB_EggLocation.SelectedValue = pk4.Egg_Location; - CAL_EggDate.Value = pk4.EggMetDate ?? 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; } - - CB_MetLocation.SelectedValue = pk4.Met_Location; - - TB_MetLevel.Text = pk4.Met_Level.ToString(); - - // Reset Label and ComboBox visibility, as well as non-data checked status. - Label_PKRS.Visible = CB_PKRSStrain.Visible = CHK_Infected.Checked = pk4.PKRS_Strain != 0; - Label_PKRSdays.Visible = CB_PKRSDays.Visible = pk4.PKRS_Days != 0; - - // Set SelectedIndexes for PKRS - CB_PKRSStrain.SelectedIndex = pk4.PKRS_Strain; - CHK_Cured.Checked = pk4.PKRS_Strain > 0 && pk4.PKRS_Days == 0; - CB_PKRSDays.SelectedIndex = Math.Min(CB_PKRSDays.Items.Count - 1, pk4.PKRS_Days); // to strip out bad hacked 'rus - - TB_Cool.Text = pk4.CNT_Cool.ToString(); - TB_Beauty.Text = pk4.CNT_Beauty.ToString(); - TB_Cute.Text = pk4.CNT_Cute.ToString(); - TB_Smart.Text = pk4.CNT_Smart.ToString(); - TB_Tough.Text = pk4.CNT_Tough.ToString(); - TB_Sheen.Text = pk4.CNT_Sheen.ToString(); - - TB_HPIV.Text = pk4.IV_HP.ToString(); - TB_ATKIV.Text = pk4.IV_ATK.ToString(); - TB_DEFIV.Text = pk4.IV_DEF.ToString(); - TB_SPEIV.Text = pk4.IV_SPE.ToString(); - TB_SPAIV.Text = pk4.IV_SPA.ToString(); - TB_SPDIV.Text = pk4.IV_SPD.ToString(); - CB_HPType.SelectedValue = pk4.HPType; - - TB_HPEV.Text = pk4.EV_HP.ToString(); - TB_ATKEV.Text = pk4.EV_ATK.ToString(); - TB_DEFEV.Text = pk4.EV_DEF.ToString(); - TB_SPEEV.Text = pk4.EV_SPE.ToString(); - TB_SPAEV.Text = pk4.EV_SPA.ToString(); - TB_SPDEV.Text = pk4.EV_SPD.ToString(); - - CB_Move1.SelectedValue = pk4.Move1; - CB_Move2.SelectedValue = pk4.Move2; - CB_Move3.SelectedValue = pk4.Move3; - CB_Move4.SelectedValue = pk4.Move4; - CB_PPu1.SelectedIndex = pk4.Move1_PPUps; - CB_PPu2.SelectedIndex = pk4.Move2_PPUps; - CB_PPu3.SelectedIndex = pk4.Move3_PPUps; - CB_PPu4.SelectedIndex = pk4.Move4_PPUps; - TB_PP1.Text = pk4.Move1_PP.ToString(); - TB_PP2.Text = pk4.Move2_PP.ToString(); - TB_PP3.Text = pk4.Move3_PP.ToString(); - TB_PP4.Text = pk4.Move4_PP.ToString(); - - // Set Form if count is enough, else cap. - CB_Form.SelectedIndex = CB_Form.Items.Count > pk4.AltForm ? pk4.AltForm : CB_Form.Items.Count - 1; - - // Load Extrabyte Value - TB_ExtraByte.Text = pk4.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString(); - - updateStats(); - - TB_EXP.Text = pk4.EXP.ToString(); - Label_Gender.Text = gendersymbols[pk4.Gender]; - Label_Gender.ForeColor = getGenderColor(pk4.Gender); - - if (HaX) - DEV_Ability.SelectedValue = pk4.Ability; - else - { - int[] abils = SAV.Personal.getAbilities(pk4.Species, pk4.AltForm); - int abil = Array.IndexOf(abils, pk4.Ability); - - if (abil < 0) - CB_Ability.SelectedIndex = 0; - else if (abils[0] == abils[1] || abils[1] == 0) - CB_Ability.SelectedIndex = pk4.PIDAbility; - else - CB_Ability.SelectedIndex = abil >= CB_Ability.Items.Count ? 0 : abil; - } - } - private PKM prepareBK4() - { - BK4 pk4 = pkm as BK4; - if (pk4 == null) - return null; - - pk4.Species = WinFormsUtil.getIndex(CB_Species); - pk4.HeldItem = WinFormsUtil.getIndex(CB_HeldItem); - pk4.TID = Util.ToInt32(TB_TID.Text); - pk4.SID = Util.ToInt32(TB_SID.Text); - pk4.EXP = Util.ToUInt32(TB_EXP.Text); - pk4.PID = Util.getHEXval(TB_PID.Text); - pk4.Ability = (byte)Array.IndexOf(GameInfo.Strings.abilitylist, CB_Ability.Text.Remove(CB_Ability.Text.Length - 4)); - - pk4.FatefulEncounter = CHK_Fateful.Checked; - pk4.Gender = PKX.getGender(Label_Gender.Text); - pk4.AltForm = (MT_Form.Enabled ? Convert.ToInt32(MT_Form.Text) : CB_Form.Enabled ? CB_Form.SelectedIndex : 0) & 0x1F; - pk4.EV_HP = Util.ToInt32(TB_HPEV.Text); - pk4.EV_ATK = Util.ToInt32(TB_ATKEV.Text); - pk4.EV_DEF = Util.ToInt32(TB_DEFEV.Text); - pk4.EV_SPE = Util.ToInt32(TB_SPEEV.Text); - pk4.EV_SPA = Util.ToInt32(TB_SPAEV.Text); - pk4.EV_SPD = Util.ToInt32(TB_SPDEV.Text); - - pk4.CNT_Cool = Util.ToInt32(TB_Cool.Text); - pk4.CNT_Beauty = Util.ToInt32(TB_Beauty.Text); - pk4.CNT_Cute = Util.ToInt32(TB_Cute.Text); - pk4.CNT_Smart = Util.ToInt32(TB_Smart.Text); - pk4.CNT_Tough = Util.ToInt32(TB_Tough.Text); - pk4.CNT_Sheen = Util.ToInt32(TB_Sheen.Text); - - pk4.PKRS_Days = CB_PKRSDays.SelectedIndex; - pk4.PKRS_Strain = CB_PKRSStrain.SelectedIndex; - pk4.Nickname = TB_Nickname.Text; - pk4.Move1 = WinFormsUtil.getIndex(CB_Move1); - pk4.Move2 = WinFormsUtil.getIndex(CB_Move2); - pk4.Move3 = WinFormsUtil.getIndex(CB_Move3); - pk4.Move4 = WinFormsUtil.getIndex(CB_Move4); - pk4.Move1_PP = WinFormsUtil.getIndex(CB_Move1) > 0 ? Util.ToInt32(TB_PP1.Text) : 0; - pk4.Move2_PP = WinFormsUtil.getIndex(CB_Move2) > 0 ? Util.ToInt32(TB_PP2.Text) : 0; - pk4.Move3_PP = WinFormsUtil.getIndex(CB_Move3) > 0 ? Util.ToInt32(TB_PP3.Text) : 0; - pk4.Move4_PP = WinFormsUtil.getIndex(CB_Move4) > 0 ? Util.ToInt32(TB_PP4.Text) : 0; - pk4.Move1_PPUps = WinFormsUtil.getIndex(CB_Move1) > 0 ? CB_PPu1.SelectedIndex : 0; - pk4.Move2_PPUps = WinFormsUtil.getIndex(CB_Move2) > 0 ? CB_PPu2.SelectedIndex : 0; - pk4.Move3_PPUps = WinFormsUtil.getIndex(CB_Move3) > 0 ? CB_PPu3.SelectedIndex : 0; - pk4.Move4_PPUps = WinFormsUtil.getIndex(CB_Move4) > 0 ? CB_PPu4.SelectedIndex : 0; - - pk4.IV_HP = Util.ToInt32(TB_HPIV.Text); - pk4.IV_ATK = Util.ToInt32(TB_ATKIV.Text); - pk4.IV_DEF = Util.ToInt32(TB_DEFIV.Text); - pk4.IV_SPE = Util.ToInt32(TB_SPEIV.Text); - pk4.IV_SPA = Util.ToInt32(TB_SPAIV.Text); - pk4.IV_SPD = Util.ToInt32(TB_SPDIV.Text); - pk4.IsEgg = CHK_IsEgg.Checked; - pk4.IsNicknamed = CHK_Nicknamed.Checked; - - pk4.OT_Name = TB_OT.Text; - pk4.CurrentFriendship = Util.ToInt32(TB_Friendship.Text); - - pk4.Ball = WinFormsUtil.getIndex(CB_Ball); - pk4.Met_Level = Util.ToInt32(TB_MetLevel.Text); - pk4.OT_Gender = PKX.getGender(Label_OTGender.Text); - pk4.EncounterType = WinFormsUtil.getIndex(CB_EncounterType); - pk4.Version = WinFormsUtil.getIndex(CB_GameOrigin); - pk4.Language = WinFormsUtil.getIndex(CB_Language); - - // Default Dates - 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_date = CAL_EggDate.Value; - egg_location = WinFormsUtil.getIndex(CB_EggLocation); - } - // Egg Met Data - pk4.EggMetDate = egg_date; - pk4.Egg_Location = egg_location; - // Met Data - pk4.MetDate = CAL_MetDate.Value; - pk4.Met_Location = WinFormsUtil.getIndex(CB_MetLocation); - - if (pk4.IsEgg && pk4.Met_Location == 0) // If still an egg, it has no hatch location/date. Zero it! - pk4.MetDate = null; - - // Toss in Party Stats - Array.Resize(ref pk4.Data, pk4.SIZE_PARTY); - pk4.Stat_Level = Util.ToInt32(TB_Level.Text); - pk4.Stat_HPCurrent = Util.ToInt32(Stat_HP.Text); - pk4.Stat_HPMax = Util.ToInt32(Stat_HP.Text); - pk4.Stat_ATK = Util.ToInt32(Stat_ATK.Text); - pk4.Stat_DEF = Util.ToInt32(Stat_DEF.Text); - pk4.Stat_SPE = Util.ToInt32(Stat_SPE.Text); - pk4.Stat_SPA = Util.ToInt32(Stat_SPA.Text); - pk4.Stat_SPD = Util.ToInt32(Stat_SPD.Text); - - if (HaX) - { - pk4.Ability = (byte)WinFormsUtil.getIndex(DEV_Ability); - pk4.Stat_Level = (byte)Math.Min(Convert.ToInt32(MT_Level.Text), byte.MaxValue); - } - - // Fix Moves if a slot is empty - pk4.FixMoves(); - - pk4.RefreshChecksum(); - return pk4; - } - } -} diff --git a/PKHeX.WinForms/MainWindow/SlotChange.cs b/PKHeX.WinForms/MainWindow/SlotChange.cs deleted file mode 100644 index fdbd5b5ed..000000000 --- a/PKHeX.WinForms/MainWindow/SlotChange.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace PKHeX.WinForms -{ - public class SlotChange - { - public int Box; - public int Slot; - public int Offset; - public object OriginalData; - } -} diff --git a/PKHeX.WinForms/PKHeX.WinForms.csproj b/PKHeX.WinForms/PKHeX.WinForms.csproj index 14b6d97b0..61ae111a9 100644 --- a/PKHeX.WinForms/PKHeX.WinForms.csproj +++ b/PKHeX.WinForms/PKHeX.WinForms.csproj @@ -165,41 +165,72 @@ - + + UserControl + + + BoxEditor.cs + + + UserControl + + + ContextMenuPKM.cs + + + UserControl + + + ContextMenuSAV.cs + + + + UserControl + + + SAVEditor.cs + + Form Main.cs - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl - - Form + + UserControl + + + + UserControl + + + PKMEditor.cs - Form @@ -492,10 +523,25 @@ + + BoxEditor.cs + + + ContextMenuPKM.cs + + + ContextMenuSAV.cs + + + SAVEditor.cs + Main.cs Designer + + PKMEditor.cs + About.cs Designer diff --git a/PKHeX.WinForms/Subforms/KChart.cs b/PKHeX.WinForms/Subforms/KChart.cs index f42b48300..83b0d7d6e 100644 --- a/PKHeX.WinForms/Subforms/KChart.cs +++ b/PKHeX.WinForms/Subforms/KChart.cs @@ -10,20 +10,23 @@ namespace PKHeX.WinForms { public partial class KChart : Form { + private readonly SaveFile SAV; private readonly string[] species = GameInfo.Strings.specieslist; private readonly string[] abilities = GameInfo.Strings.abilitylist; - private readonly bool alolanOnly = Main.SAV.Generation == 7 && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Alolan Dex only?"); + private readonly bool alolanOnly; private static int[] baseForm; private static int[] formVal; - public KChart() + public KChart(SaveFile sav) { + SAV = sav; + alolanOnly = SAV.Generation == 7 && DialogResult.Yes == WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Alolan Dex only?"); InitializeComponent(); - Array.Resize(ref species, Main.SAV.Personal.TableLength); + Array.Resize(ref species, SAV.Personal.TableLength); - var AltForms = Main.SAV.Personal.getFormList(species, Main.SAV.MaxSpeciesID); - species = Main.SAV.Personal.getPersonalEntryList(AltForms, species, Main.SAV.MaxSpeciesID, out baseForm, out formVal); + var AltForms = SAV.Personal.getFormList(species, SAV.MaxSpeciesID); + species = SAV.Personal.getPersonalEntryList(AltForms, species, SAV.MaxSpeciesID, out baseForm, out formVal); DGV.Rows.Clear(); for (int i = 1; i < species.Length; i++) @@ -34,10 +37,10 @@ public KChart() private void popEntry(int index) { - var p = Main.SAV.Personal[index]; + var p = SAV.Personal[index]; - int s = index > Main.SAV.MaxSpeciesID ? baseForm[index] : index; - var f = index <= Main.SAV.MaxSpeciesID ? 0 : formVal[index]; + int s = index > SAV.MaxSpeciesID ? baseForm[index] : index; + var f = index <= SAV.MaxSpeciesID ? 0 : formVal[index]; bool alolan = s > 721 || Legal.PastGenAlolanNatives.Contains(s); if (alolanOnly && !alolan) @@ -48,7 +51,7 @@ private void popEntry(int index) int r = 0; row.Cells[r++].Value = s.ToString("000") + (f > 0 ? "-"+f.ToString("00") :""); - row.Cells[r++].Value = PKMUtil.getSprite(s, f, 0, 0, false, false, Main.SAV.Generation); + row.Cells[r++].Value = PKMUtil.getSprite(s, f, 0, 0, false, false, SAV.Generation); row.Cells[r++].Value = species[index]; row.Cells[r++].Value = s > 721 || Legal.PastGenAlolanNatives.Contains(s); row.Cells[r].Style.BackColor = mapColor((int)((p.BST - 175) / 3f)); diff --git a/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs index 32f9d519f..a806ac63a 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs @@ -12,10 +12,12 @@ namespace PKHeX.WinForms { public partial class BatchEditor : Form { - public BatchEditor(PKM pk) + private readonly SaveFile SAV; + public BatchEditor(PKM pk, SaveFile sav) { - InitializeComponent(); pkmref = pk; + SAV = sav; + InitializeComponent(); DragDrop += tabMain_DragDrop; DragEnter += tabMain_DragEnter; @@ -189,19 +191,19 @@ private void runBackgroundWorker() len = err = ctr = 0; if (RB_SAV.Checked) { - if (Main.SAV.HasParty) + if (SAV.HasParty) { - var data = Main.SAV.PartyData; + var data = SAV.PartyData; setupProgressBar(data.Length); processSAV(data, Filters, Instructions); - Main.SAV.PartyData = data; + SAV.PartyData = data; } - if (Main.SAV.HasBox) + if (SAV.HasBox) { - var data = Main.SAV.BoxData; + var data = SAV.BoxData; setupProgressBar(data.Length); processSAV(data, Filters, Instructions); - Main.SAV.BoxData = data; + SAV.BoxData = data; } } else @@ -264,7 +266,7 @@ private void processFolder(string[] files, StringInstruction[] Filters, StringIn continue; } - int format = fi.Extension.Length > 0 ? (fi.Extension.Last() - 0x30) & 7 : Main.SAV.Generation; + int format = fi.Extension.Length > 0 ? (fi.Extension.Last() - 0x30) & 7 : SAV.Generation; byte[] data = File.ReadAllBytes(file); var pkm = PKMConverter.getPKMfromBytes(data, prefer: format); if (processPKM(pkm, Filters, Instructions)) @@ -438,7 +440,7 @@ private static ModifyResult tryModifyPKM(PKM PKM, IEnumerable continue; return ModifyResult.Filtered; } - if (!pkm.HasProperty(cmd.PropertyName)) + if (!pkm.HasPropertyAll(typeof(PKM), cmd.PropertyName)) return ModifyResult.Filtered; if (ReflectUtil.GetValueEquals(PKM, cmd.PropertyName, cmd.PropertyValue) != cmd.Evaluator) return ModifyResult.Filtered; diff --git a/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs b/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs index a7dcc0031..9af4faea4 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs @@ -9,8 +9,9 @@ public partial class MemoryAmie : Form { private readonly string[] args = new string[5]; private readonly string[] vartypes = new string[5]; - public MemoryAmie() // Keeping the form reference as a lot of control elements are required to operate. + public MemoryAmie(PKM pk) { + pkm = pk; InitializeComponent(); cba = new[] { CB_Country0, CB_Country1, CB_Country2, CB_Country3, CB_Country4 }; mta = new[] { CB_Region0, CB_Region1, CB_Region2, CB_Region3, CB_Region4, }; @@ -44,7 +45,7 @@ public partial class MemoryAmie : Form private bool init; private readonly ComboBox[] cba; private readonly ComboBox[] mta; - private readonly PKM pkm = Main.pkm; + private readonly PKM pkm; // Load/Save Actions private void loadFields() @@ -167,8 +168,6 @@ private void saveFields() pkm.OT_TextVar = CB_OTVar.Enabled ? WinFormsUtil.getIndex(CB_OTVar) : 0; pkm.OT_Intensity = CB_OTFeel.Enabled ? CB_OTQual.SelectedIndex + 1 : 0; pkm.OT_Feeling = CB_OTFeel.Enabled ? CB_OTFeel.SelectedIndex : 0; - - Main.pkm = pkm; } // Event Actions @@ -237,7 +236,7 @@ private void getMemoryArguments(string ARG, ComboBox sender) vs = ""; break; case "PKM": - argvals = Util.getCBList(GameInfo.Strings.specieslist.Take(Main.SAV.MaxSpeciesID+1).ToArray(), null); + argvals = Util.getCBList(GameInfo.Strings.specieslist.Take(pkm.MaxSpeciesID+1).ToArray(), null); vs = vartypes[0]; break; case "GENLOC": diff --git a/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs index b8bcf632e..3ecba0d1e 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs @@ -9,8 +9,9 @@ namespace PKHeX.WinForms { public partial class RibbonEditor : Form { - public RibbonEditor() + public RibbonEditor(PKM pk) { + pkm = pk; InitializeComponent(); int vertScrollWidth = SystemInformation.VerticalScrollBarWidth; TLP_Ribbons.Padding = FLP_Ribbons.Padding = new Padding(0, 0, vertScrollWidth, 0); @@ -25,7 +26,7 @@ public RibbonEditor() } private readonly List riblist = new List(); - private readonly PKM pkm = Main.pkm.Clone(); + private readonly PKM pkm; private const string PrefixNUD = "NUD_"; private const string PrefixLabel = "L_"; private const string PrefixCHK = "CHK_"; @@ -159,7 +160,6 @@ private void save() { foreach (var rib in riblist) ReflectUtil.SetValue(pkm, rib.Name, rib.RibbonCount < 0 ? rib.HasRibbon : (object) rib.RibbonCount); - Main.pkm = pkm; } private class RibbonInfo diff --git a/PKHeX.WinForms/Subforms/PKM Editors/SuperTrainingEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/SuperTrainingEditor.cs index 838713c15..5664c5f54 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/SuperTrainingEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/SuperTrainingEditor.cs @@ -8,8 +8,9 @@ namespace PKHeX.WinForms { public partial class SuperTrainingEditor : Form { - public SuperTrainingEditor() + public SuperTrainingEditor(PKM pk) { + pkm = pk; InitializeComponent(); int vertScrollWidth = SystemInformation.VerticalScrollBarWidth; TLP_SuperTrain.Padding = TLP_DistSuperTrain.Padding = new Padding(0, 0, vertScrollWidth, 0); @@ -51,7 +52,7 @@ public SuperTrainingEditor() private readonly List reglist = new List(); private readonly List distlist = new List(); - private readonly PKM pkm = Main.pkm.Clone(); + private readonly PKM pkm; private const string PrefixLabel = "L_"; private const string PrefixCHK = "CHK_"; @@ -126,8 +127,6 @@ private void save() pkm.SecretSuperTrainingUnlocked &= CHK_SecretUnlocked.Checked; pkm.SecretSuperTrainingComplete &= CHK_SecretComplete.Checked; } - - Main.pkm = pkm; } private class RegimenInfo diff --git a/PKHeX.WinForms/Subforms/PKM Editors/Text.cs b/PKHeX.WinForms/Subforms/PKM Editors/Text.cs index 66c47ec3d..50cf329fb 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/Text.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/Text.cs @@ -9,9 +9,12 @@ namespace PKHeX.WinForms { public partial class f2_Text : Form { - public f2_Text(TextBoxBase TB_NN, byte[] raw) + private readonly SaveFile SAV; + public f2_Text(TextBoxBase TB_NN, byte[] raw, SaveFile sav) { + SAV = sav; InitializeComponent(); + bigendian = new[] { GameVersion.COLO, GameVersion.XD, GameVersion.BATREV, }.Contains(SAV.Version); WinFormsUtil.TranslateInterface(this, Main.curlanguage); FinalString = TB_NN.Text; @@ -47,7 +50,7 @@ public f2_Text(TextBoxBase TB_NN, byte[] raw) public byte[] FinalBytes { get; private set; } private readonly byte[] Raw; private bool editing; - private readonly bool bigendian = new[] { GameVersion.COLO, GameVersion.XD, GameVersion.BATREV, }.Contains(Main.SAV.Version); + private readonly bool bigendian; private void B_Cancel_Click(object sender, EventArgs e) => Close(); private void B_Save_Click(object sender, EventArgs e) { @@ -59,7 +62,7 @@ private void B_Save_Click(object sender, EventArgs e) private void addCharEditing() { - ushort[] chars = getChars(Main.SAV.Generation); + ushort[] chars = getChars(SAV.Generation); if (chars.Length == 0) return; @@ -78,7 +81,7 @@ private void addTrashEditing(int count) { FLP_Hex.Visible = true; GB_Trash.Visible = true; - NUD_Generation.Value = Main.SAV.Generation; + NUD_Generation.Value = SAV.Generation; Font courier = new Font("Courier New", 8); for (int i = 0; i < count; i++) { @@ -110,7 +113,7 @@ private void addTrashEditing(int count) CB_Language.DisplayMember = "Text"; CB_Language.ValueMember = "Value"; var languages = Util.getUnsortedCBList("languages"); - if (Main.SAV.Generation < 7) + if (SAV.Generation < 7) languages = languages.Where(l => l.Value <= 8).ToList(); // Korean CB_Language.DataSource = languages; } @@ -125,7 +128,7 @@ private void updateNUD(object sender, EventArgs e) int index = Bytes.IndexOf(nud); Raw[index] = (byte)nud.Value; - string str = PKX.getString(Raw, Main.SAV.Generation, Main.SAV.Japanese, bigendian, Raw.Length); + string str = PKX.getString(Raw, SAV.Generation, SAV.Japanese, bigendian, Raw.Length); TB_Text.Text = str; editing = false; } @@ -135,7 +138,7 @@ private void updateString(object sender, EventArgs e) return; editing = true; // build bytes - byte[] data = PKX.setString(TB_Text.Text, Main.SAV.Generation, Main.SAV.Japanese, bigendian, Raw.Length, Main.SAV.Language); + byte[] data = PKX.setString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language); Array.Copy(data, Raw, Math.Min(data.Length, Raw.Length)); for (int i = 0; i < Raw.Length; i++) Bytes[i].Value = Raw[i]; @@ -149,8 +152,8 @@ private void B_ApplyTrash_Click(object sender, EventArgs e) if (species == "") // no result species = CB_Species.Text; - byte[] current = PKX.setString(TB_Text.Text, Main.SAV.Generation, Main.SAV.Japanese, bigendian, Raw.Length, Main.SAV.Language); - byte[] data = PKX.setString(species, Main.SAV.Generation, Main.SAV.Japanese, bigendian, Raw.Length, Main.SAV.Language); + byte[] current = PKX.setString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language); + byte[] data = PKX.setString(species, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language); if (data.Length <= current.Length) { WinFormsUtil.Alert("Trash byte layer is hidden by current text.", @@ -167,7 +170,7 @@ private void B_ApplyTrash_Click(object sender, EventArgs e) } private void B_ClearTrash_Click(object sender, EventArgs e) { - byte[] current = PKX.setString(TB_Text.Text, Main.SAV.Generation, Main.SAV.Japanese, bigendian, Raw.Length, Main.SAV.Language); + byte[] current = PKX.setString(TB_Text.Text, SAV.Generation, SAV.Japanese, bigendian, Raw.Length, SAV.Language); for (int i = current.Length; i < Bytes.Count; i++) Bytes[i].Value = 0; } diff --git a/PKHeX.WinForms/Subforms/SAV_Database.cs b/PKHeX.WinForms/Subforms/SAV_Database.cs index dd2575ef8..2dff7e292 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.cs @@ -8,14 +8,20 @@ using System.Threading.Tasks; using System.Windows.Forms; using PKHeX.Core; +using PKHeX.WinForms.Controls; namespace PKHeX.WinForms { public partial class SAV_Database : Form { - public SAV_Database(Main f1) + private readonly SaveFile SAV; + private readonly SAVEditor BoxView; + private readonly PKMEditor PKME_Tabs; + public SAV_Database(PKMEditor f1, SAVEditor saveditor) { - m_parent = f1; + SAV = saveditor.SAV; + BoxView = saveditor; + PKME_Tabs = f1; InitializeComponent(); // Preset Filters to only show PKM available for loaded save @@ -96,7 +102,7 @@ public SAV_Database(Main f1) // Prepare Database RawDB = new List(dbTemp.OrderBy(pk => pk.Identifier) - .Concat(Main.SAV.BoxData.Where(pk => pk.Species != 0)) // Fetch from save file + .Concat(SAV.BoxData.Where(pk => pk.Species != 0)) // Fetch from save file .Where(pk => pk.ChecksumValid && pk.Species != 0 && pk.Sanity == 0) .Distinct()); setResults(RawDB); @@ -108,7 +114,7 @@ public SAV_Database(Main f1) }; CenterToParent(); } - private readonly Main m_parent; + private readonly PictureBox[] PKXBOXES; private readonly string DatabasePath = Main.DatabasePath; private List Results; @@ -147,7 +153,7 @@ private void clickView(object sender, EventArgs e) return; } - m_parent.populateFields(Results[index], false); + PKME_Tabs.populateFields(Results[index], false); slotSelected = index; slotColor = Properties.Resources.slotView; FillPKXBoxes(SCR_Box.Value); @@ -182,13 +188,13 @@ private void clickDelete(object sender, EventArgs e) // Data from Box: Delete from save file int box = pk.Box-1; int slot = pk.Slot-1; - int offset = Main.SAV.getBoxOffset(box) + slot*Main.SAV.SIZE_STORED; - PKM pkSAV = Main.SAV.getStoredSlot(offset); + int offset = SAV.getBoxOffset(box) + slot*SAV.SIZE_STORED; + PKM pkSAV = SAV.getStoredSlot(offset); if (pkSAV.Data.SequenceEqual(pk.Data)) { - Main.SAV.setStoredSlot(Main.SAV.BlankPKM, offset); - m_parent.setPKXBoxes(); + SAV.setStoredSlot(SAV.BlankPKM, offset); + BoxView.setPKXBoxes(); } else { @@ -208,10 +214,10 @@ private void clickDelete(object sender, EventArgs e) private void clickSet(object sender, EventArgs e) { // Don't care what slot was clicked, just add it to the database - if (!m_parent.verifiedPKM()) + if (!PKME_Tabs.verifiedPKM()) return; - PKM pk = m_parent.preparePKM(); + PKM pk = PKME_Tabs.preparePKM(); if (!Directory.Exists(DatabasePath)) Directory.CreateDirectory(DatabasePath); @@ -506,7 +512,7 @@ private void B_Search_Click(object sender, EventArgs e) { if (cmd.PropertyName == nameof(PKM.Identifier) + "Contains") return pkm.Identifier.Contains(cmd.PropertyValue); - if (!pkm.GetType().HasPropertyAll(cmd.PropertyName)) + if (!pkm.GetType().HasPropertyAll(typeof(PKM), cmd.PropertyName)) return false; try { if (ReflectUtil.GetValueEquals(pkm, cmd.PropertyName, cmd.PropertyValue) == cmd.Evaluator) continue; } catch { Console.WriteLine($"Unable to compare {cmd.PropertyName} to {cmd.PropertyValue}."); } @@ -620,7 +626,7 @@ private void changeFormatFilter(object sender, EventArgs e) else { CB_Format.Visible = true; - int index = MAXFORMAT - Main.SAV.Generation + 1; + int index = MAXFORMAT - SAV.Generation + 1; CB_Format.SelectedIndex = index < CB_Format.Items.Count ? index : 0; // SAV generation (offset by 1 for "Any") } } diff --git a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs index 342a4261f..bda91d91e 100644 --- a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs +++ b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs @@ -6,14 +6,18 @@ using System.Linq; using System.Windows.Forms; using PKHeX.Core; +using PKHeX.WinForms.Controls; namespace PKHeX.WinForms { public partial class SAV_MysteryGiftDB : Form { - public SAV_MysteryGiftDB(Main f1) + private readonly PKMEditor PKME_Tabs; + private readonly SaveFile SAV; + public SAV_MysteryGiftDB(PKMEditor tabs, SAVEditor sav) { - m_parent = f1; + SAV = sav.SAV; + PKME_Tabs = tabs; InitializeComponent(); // Preset Filters to only show PKM available for loaded save @@ -98,7 +102,6 @@ public SAV_MysteryGiftDB(Main f1) populateComboBoxes(); CenterToParent(); } - private readonly Main m_parent; private readonly PictureBox[] PKXBOXES; private readonly string DatabasePath = Main.MGDatabasePath; private List Results; @@ -115,7 +118,7 @@ public SAV_MysteryGiftDB(Main f1) private void clickView(object sender, EventArgs e) { int index = getSenderIndex(sender); - m_parent.populateFields(Results[index].convertToPKM(Main.SAV), false); + PKME_Tabs.populateFields(Results[index].convertToPKM(SAV), false); slotSelected = index; slotColor = Properties.Resources.slotView; FillPKXBoxes(SCR_Box.Value); @@ -125,7 +128,7 @@ private void clickSavePK(object sender, EventArgs e) { int index = getSenderIndex(sender); var gift = Results[index]; - var pk = gift.convertToPKM(Main.SAV); + var pk = gift.convertToPKM(SAV); WinFormsUtil.SavePKMDialog(pk); } private void clickSaveMG(object sender, EventArgs e) @@ -285,7 +288,7 @@ private void B_Search_Click(object sender, EventArgs e) { foreach (var cmd in filters) { - if (!gift.GetType().HasPropertyAll(cmd.PropertyName)) + if (!gift.GetType().HasPropertyAll(typeof(PKM), cmd.PropertyName)) return false; try { if (ReflectUtil.GetValueEquals(gift, cmd.PropertyName, cmd.PropertyValue) == cmd.Evaluator) continue; } catch { Console.WriteLine($"Unable to compare {cmd.PropertyName} to {cmd.PropertyValue}."); } @@ -331,7 +334,7 @@ private void FillPKXBoxes(int start) int begin = start * RES_MIN; int end = Math.Min(RES_MAX, Results.Count - start * RES_MIN); for (int i = 0; i < end; i++) - PKXBOXES[i].Image = Results[i + begin].Sprite(); + PKXBOXES[i].Image = Results[i + begin].Sprite(SAV); for (int i = end; i < RES_MAX; i++) PKXBOXES[i].Image = null; @@ -372,7 +375,7 @@ private void changeFormatFilter(object sender, EventArgs e) else { CB_Format.Visible = true; - int index = MAXFORMAT - Main.SAV.Generation + 1; + int index = MAXFORMAT - SAV.Generation + 1; CB_Format.SelectedIndex = index < CB_Format.Items.Count ? index : 0; // SAV generation (offset by 1 for "Any") } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_Misc3.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_Misc3.cs index 29124574a..da59a96f1 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_Misc3.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_Misc3.cs @@ -8,9 +8,11 @@ namespace PKHeX.WinForms { public partial class SAV_Misc3 : Form { - private readonly SAV3 SAV = (SAV3)Main.SAV.Clone(); - public SAV_Misc3() + private readonly SaveFile Origin; + private readonly SAV3 SAV; + public SAV_Misc3(SaveFile sav) { + SAV = (SAV3)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -52,8 +54,7 @@ private void B_Save_Click(object sender, EventArgs e) SAV.BP = (ushort)NUD_BP.Value; SAV.Coin = (ushort)NUD_Coins.Value; - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_RTC3.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_RTC3.cs index 3f680a5d2..7aec2542c 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_RTC3.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen3/SAV_RTC3.cs @@ -6,9 +6,11 @@ namespace PKHeX.WinForms { public partial class SAV_RTC3 : Form { - private readonly SAV3 SAV = (SAV3)Main.SAV.Clone(); - public SAV_RTC3() + private readonly SaveFile Origin; + private readonly SAV3 SAV; + public SAV_RTC3(SaveFile sav) { + SAV = (SAV3)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -52,8 +54,7 @@ private void B_Save_Click(object sender, EventArgs e) SAV.ClockInitial = ClockInitial; SAV.ClockElapsed = ClockElapsed; - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_HoneyTree.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_HoneyTree.cs index 3411d4278..f5b5fd223 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_HoneyTree.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_HoneyTree.cs @@ -7,9 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_HoneyTree : Form { - private readonly SAV4 SAV = (SAV4)Main.SAV.Clone(); - public SAV_HoneyTree() + private readonly SaveFile Origin; + private readonly SAV4 SAV; + public SAV_HoneyTree(SaveFile sav) { + SAV = (SAV4)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -84,8 +86,7 @@ private void saveTree() private void B_Save_Click(object sender, EventArgs e) { saveTree(); - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) => Close(); diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Misc4.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Misc4.cs index c55e252f6..52c9f8567 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Misc4.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Misc4.cs @@ -10,9 +10,11 @@ namespace PKHeX.WinForms { public partial class SAV_Misc4 : Form { - private readonly SAV4 SAV = (SAV4)Main.SAV.Clone(); - public SAV_Misc4() + private readonly SaveFile Origin; + private readonly SAV4 SAV; + public SAV_Misc4(SaveFile sav) { + SAV = (SAV4)(Origin = sav).Clone(); InitializeComponent(); switch (SAV.Version) @@ -38,8 +40,7 @@ private void B_Save_Click(object sender, EventArgs e) if (TC_Misc.Controls.Contains(TAB_BF)) saveBF(); - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Pokedex4.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Pokedex4.cs index 1b5ce6a16..4d47dbec0 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Pokedex4.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen4/SAV_Pokedex4.cs @@ -8,8 +8,11 @@ namespace PKHeX.WinForms { public partial class SAV_Pokedex4 : Form { - public SAV_Pokedex4() + private readonly SaveFile Origin; + private readonly SAV4 SAV; + public SAV_Pokedex4(SaveFile sav) { + SAV = (SAV4)(Origin = sav).Clone(); InitializeComponent(); CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L5, CHK_L4, CHK_L6, }; // JPN,ENG,FRA,GER,ITA,SPA WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -38,7 +41,6 @@ public SAV_Pokedex4() CB_DexUpgraded.SelectedIndex = SAV.DexUpgraded; } - private readonly SAV4 SAV = new SAV4(Main.SAV.Data); private readonly CheckBox[] CL; private bool editing; private int species = -1; @@ -235,9 +237,7 @@ private void B_Save_Click(object sender, EventArgs e) int s = CB_DexUpgraded.SelectedIndex; if (s >= 0) SAV.DexUpgraded = s; - // Return back to the parent savefile - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_CGearSkin.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_CGearSkin.cs index bf5c5075b..6b0c3b456 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_CGearSkin.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_CGearSkin.cs @@ -10,11 +10,14 @@ namespace PKHeX.WinForms { public partial class SAV_CGearSkin : Form { - public SAV_CGearSkin() + private readonly SaveFile Origin; + private readonly SAV5 SAV; + public SAV_CGearSkin(SaveFile sav) { + SAV = (SAV5)(Origin = sav).Clone(); InitializeComponent(); - SAV = (SAV5)Main.SAV.Clone(); + SAV = (Origin = sav).Clone() as SAV5; bool cgearPresent = SAV.Data[SAV.CGearInfoOffset + 0x26] == 1; bg = new CGearBackground(cgearPresent ? @@ -25,7 +28,6 @@ public SAV_CGearSkin() WinFormsUtil.Alert("Editor is incomplete.", "No guarantee of functionality."); } - private readonly SAV5 SAV; private CGearBackground bg; private void B_ImportPNG_Click(object sender, EventArgs e) @@ -115,24 +117,24 @@ private void B_Save_Click(object sender, EventArgs e) bgdata = CGearBackground.CGBtoPSK(bgdata, SAV.B2W2); - Array.Copy(bgdata, 0, Main.SAV.Data, SAV.CGearDataOffset, bgdata.Length); + Array.Copy(bgdata, 0, SAV.Data, SAV.CGearDataOffset, bgdata.Length); ushort chk = SaveUtil.ccitt16(bgdata); - BitConverter.GetBytes(chk).CopyTo(Main.SAV.Data, SAV.CGearDataOffset + bgdata.Length + 2); - BitConverter.GetBytes(chk).CopyTo(Main.SAV.Data, SAV.CGearDataOffset + bgdata.Length + 0x100); + BitConverter.GetBytes(chk).CopyTo(SAV.Data, SAV.CGearDataOffset + bgdata.Length + 2); + BitConverter.GetBytes(chk).CopyTo(SAV.Data, SAV.CGearDataOffset + bgdata.Length + 0x100); - byte[] skinchkdata = Main.SAV.Data.Skip(SAV.CGearDataOffset + bgdata.Length + 0x100).Take(4).ToArray(); + byte[] skinchkdata = SAV.Data.Skip(SAV.CGearDataOffset + bgdata.Length + 0x100).Take(4).ToArray(); ushort skinchkval = SaveUtil.ccitt16(skinchkdata); - BitConverter.GetBytes(skinchkval).CopyTo(Main.SAV.Data, SAV.CGearDataOffset + bgdata.Length + 0x112); + BitConverter.GetBytes(skinchkval).CopyTo(SAV.Data, SAV.CGearDataOffset + bgdata.Length + 0x112); // Indicate in the save file that data is present - BitConverter.GetBytes((ushort)0xC21E).CopyTo(Main.SAV.Data, 0x19438); + BitConverter.GetBytes((ushort)0xC21E).CopyTo(SAV.Data, 0x19438); - Main.SAV.Data[SAV.CGearInfoOffset + 0x26] = 1; // data present - BitConverter.GetBytes(chk).CopyTo(Main.SAV.Data, SAV.CGearInfoOffset + 0x24); + SAV.Data[SAV.CGearInfoOffset + 0x26] = 1; // data present + BitConverter.GetBytes(chk).CopyTo(SAV.Data, SAV.CGearInfoOffset + 0x24); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs index 7bb3f3114..8564b659c 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_Pokedex5 : Form { - public SAV_Pokedex5() + private readonly SaveFile Origin; + private readonly SAV5 SAV; + public SAV_Pokedex5(SaveFile sav) { + SAV = (SAV5)(Origin = sav).Clone(); InitializeComponent(); FormLen = SAV.B2W2 ? 0xB : 0x9; CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, }; @@ -35,7 +38,6 @@ public SAV_Pokedex5() LB_Species.SelectedIndex = 0; } - private readonly SAV5 SAV = new SAV5(Main.SAV.Data); private readonly CheckBox[] CP; private readonly CheckBox[] CL; private readonly bool[,] specbools = new bool[9, brSize * 8]; @@ -256,9 +258,7 @@ private void B_Save_Click(object sender, EventArgs e) setEntry(); setData(); - // Return back to the parent savefile - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BerryFieldXY.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BerryFieldXY.cs index 333a28680..eecd0f75d 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BerryFieldXY.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BerryFieldXY.cs @@ -6,13 +6,15 @@ namespace PKHeX.WinForms { public partial class SAV_BerryFieldXY : Form { - public SAV_BerryFieldXY() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_BerryFieldXY(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); listBox1.SelectedIndex = 0; } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private void changefield(object sender, EventArgs e) { diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs index c49347339..16ddccba7 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs @@ -7,8 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_BoxLayout : Form { - public SAV_BoxLayout(int box) + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_BoxLayout(SaveFile sav, int box) { + SAV = (Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); editing = true; @@ -84,7 +87,6 @@ public SAV_BoxLayout(int box) } private readonly NumericUpDown[] flagArr = new NumericUpDown[0]; - private readonly SaveFile SAV = Main.SAV.Clone(); private bool editing; private bool renameBox; private void changeBox(object sender, EventArgs e) @@ -119,8 +121,7 @@ private void B_Save_Click(object sender, EventArgs e) if (CB_Unlocked.Visible) SAV.BoxesUnlocked = CB_Unlocked.SelectedIndex; - Main.SAV = SAV; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs index 8546025d3..e581c7280 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_HallOfFame : Form { - public SAV_HallOfFame() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_HallOfFame(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -50,7 +53,6 @@ public SAV_HallOfFame() editing = true; } private bool editing; - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private readonly string[] gendersymbols = Main.gendersymbols; private readonly byte[] data = new byte[0x1B40]; @@ -90,8 +92,7 @@ private void B_Cancel_Click(object sender, EventArgs e) } private void B_Close_Click(object sender, EventArgs e) { - Array.Copy(data, 0, Main.SAV.Data, SAV.HoF, data.Length); - Main.SAV.Edited = true; + Origin.setData(data, SAV.HoF); Close(); } private void displayEntry(object sender, EventArgs e) @@ -415,7 +416,7 @@ private void changeNickname(object sender, MouseEventArgs e) int offset = LB_DataEntry.SelectedIndex * 0x1B4; var nicktrash = data.Skip(offset + 0x18).Take(24).ToArray(); SAV.setString(TB_Nickname.Text, 12).CopyTo(nicktrash, 0); - var d = new f2_Text(tb, nicktrash); + var d = new f2_Text(tb, nicktrash, SAV); d.ShowDialog(); tb.Text = d.FinalString; d.FinalBytes.CopyTo(data, offset + 0x18); diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Link6.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Link6.cs index f32f5c561..17e35802d 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Link6.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Link6.cs @@ -8,8 +8,11 @@ namespace PKHeX.WinForms { public partial class SAV_Link6 : Form { - public SAV_Link6() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_Link6(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); foreach (var cb in TAB_Items.Controls.OfType()) { @@ -29,7 +32,6 @@ public SAV_Link6() loadLinkData(data); } - private readonly SAV6 SAV = Main.SAV.Clone() as SAV6; private PL6 LinkInfo; private void B_Save_Click(object sender, EventArgs e) @@ -42,7 +44,7 @@ private void B_Save_Click(object sender, EventArgs e) BitConverter.GetBytes(ccitt).CopyTo(data, data.Length - 4); SAV.LinkBlock = data; - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs index 1132436fa..a384f3122 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_OPower.cs @@ -7,14 +7,16 @@ namespace PKHeX.WinForms { public partial class SAV_OPower : Form { - public SAV_OPower() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_OPower(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); LoadData(); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private void B_Cancel_Click(object sender, EventArgs e) { Close(); @@ -100,8 +102,7 @@ private void SaveData() SAV.Data[o + 0x19] = Convert.ToByte(CHK_6.Checked); SAV.Data[o + 0x26] = Convert.ToByte(CHK_7.Checked); SAV.Data[o + 0x2B] = Convert.ToByte(CHK_8.Checked); - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); } private int getIndex(int o, int l) { @@ -112,7 +113,7 @@ private int getIndex(int o, int l) byte[] _4 = { 01, 01, 01, 01, }; byte[] data = new byte[4]; - Array.Copy(Main.SAV.Data, o, data, 0, l); + Array.Copy(SAV.Data, o, data, 0, l); if (data.SequenceEqual(_4)) return 4; if (data.SequenceEqual(_3)) return 3; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokeBlockORAS.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokeBlockORAS.cs index 87c8276d5..6753e84ab 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokeBlockORAS.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokeBlockORAS.cs @@ -6,8 +6,11 @@ namespace PKHeX.WinForms { public partial class SAV_PokeBlockORAS : Form { - public SAV_PokeBlockORAS() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_PokeBlockORAS(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); nup_spec = new[] { NUP_Red, NUP_Blue, NUP_Pink, NUP_Green, NUP_Yellow, NUP_Rainbow, NUP_RedPlus, NUP_BluePlus, NUP_PinkPlus, NUP_GreenPlus, NUP_YellowPlus, NUP_RainbowPlus }; @@ -20,7 +23,6 @@ public SAV_PokeBlockORAS() } } private readonly NumericUpDown[] nup_spec; - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private void B_Cancel_Click(object sender, EventArgs e) { @@ -30,7 +32,7 @@ private void B_Save_Click(object sender, EventArgs e) { for (int i = 0; i < nup_spec.Length; i++) BitConverter.GetBytes((uint)nup_spec[i].Value).CopyTo(SAV.Data, SAV.Contest + i * 4); - Main.SAV.Data = (byte[])SAV.Data.Clone(); + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs index ffcde84ec..e7f587107 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_PokedexORAS : Form { - public SAV_PokedexORAS() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_PokedexORAS(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, }; CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, CHK_L7, }; @@ -35,7 +38,6 @@ public SAV_PokedexORAS() TB_Spinda.Text = BitConverter.ToUInt32(SAV.Data, SAV.Spinda).ToString("X8"); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private readonly CheckBox[] CP; private readonly CheckBox[] CL; private readonly bool[,] specbools = new bool[9, 0x60 * 8]; @@ -261,9 +263,7 @@ private void B_Save_Click(object sender, EventArgs e) setEntry(); setData(); - // Return back to the parent savefile - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs index 4f163dbeb..63fa23898 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_PokedexXY : Form { - public SAV_PokedexXY() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_PokedexXY(SaveFile sav) { + SAV = (Origin = sav).Clone() as SAV6; InitializeComponent(); CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, }; CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, CHK_L7, }; @@ -35,7 +38,6 @@ public SAV_PokedexXY() TB_Spinda.Text = BitConverter.ToUInt32(SAV.Data, SAV.Spinda).ToString("X8"); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private readonly CheckBox[] CP; private readonly CheckBox[] CL; private readonly bool[,] specbools = new bool[9, 0x60 * 8]; @@ -280,8 +282,7 @@ private void B_Save_Click(object sender, EventArgs e) setData(); // Return back to the parent savefile - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Pokepuff.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Pokepuff.cs index 4708f23aa..27e2bdbe4 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Pokepuff.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Pokepuff.cs @@ -6,8 +6,11 @@ namespace PKHeX.WinForms { public partial class SAV_Pokepuff : Form { - public SAV_Pokepuff() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_Pokepuff(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -19,7 +22,6 @@ public SAV_Pokepuff() new ToolTip().SetToolTip(B_All, "Hold CTRL to best instead of varied."); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private readonly string[] pfa; private void Setup() { @@ -150,8 +152,7 @@ private void B_Save_Click(object sender, EventArgs e) } SAV.Puffs = puffarray; SAV.PuffCount = Util.ToInt32(MT_CNT.Text); - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs index b72547645..817ac07b5 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_SecretBase : Form { - public SAV_SecretBase() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_SecretBase(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); abilitylist = GameInfo.Strings.abilitylist; @@ -25,7 +28,6 @@ public SAV_SecretBase() B_SAV2FAV(null, null); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private bool editing; private bool loading = true; @@ -194,8 +196,7 @@ private void B_Save_Click(object sender, EventArgs e) uint flags = Util.ToUInt32(MT_Flags.Text); Array.Copy(BitConverter.GetBytes(flags), 0, SAV.Data, SAV.PSSStats + 0x140, 4); // write pss Array.Copy(BitConverter.GetBytes(flags), 0, SAV.Data, SAV.SecretBase + 0x62C, 4); // write counter - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_GiveDecor_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SuperTrain.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SuperTrain.cs index dd224ab7d..a70deab23 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SuperTrain.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SuperTrain.cs @@ -7,8 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_SuperTrain : Form { - public SAV_SuperTrain() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_SuperTrain(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); trba = GameInfo.Strings.trainingbags; trba[0] = "---"; offsetTime = SAV.SuperTrain + 0x08; @@ -24,7 +27,6 @@ public SAV_SuperTrain() setup(); } - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); private readonly string[] trba; private readonly int offsetVal; private readonly int offsetTime; @@ -120,8 +122,7 @@ private void B_Save_Click(object sender, EventArgs e) try { BitConverter.GetBytes(float.Parse(TB_Time2.Text)).CopyTo(SAV.Data, offsetTime + 4 * 31); } catch { } BitConverter.GetBytes((ushort)WinFormsUtil.getIndex(CB_S2)).CopyTo(SAV.Data, offsetSpec + 4 * 30); bagarray.CopyTo(SAV.Data, SAV.SuperTrain + 0x308); - Array.Copy(SAV.Data, Main.SAV.Data, Main.SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs index 03621acb0..9529c808a 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_Trainer.cs @@ -8,15 +8,17 @@ namespace PKHeX.WinForms { public partial class SAV_Trainer : Form { - private readonly SAV6 SAV = new SAV6(Main.SAV.Data); - public SAV_Trainer() + private readonly SaveFile Origin; + private readonly SAV6 SAV; + public SAV_Trainer(SaveFile sav) { + SAV = (SAV6)(Origin = sav).Clone(); InitializeComponent(); if (Main.unicode) try { TB_OTName.Font = FontUtil.getPKXFont(11); - if (Main.SAV.XY) + if (SAV.XY) TB_TRNick.Font = TB_OTName.Font; } catch (Exception e) { WinFormsUtil.Alert("Font loading failed...", e.ToString()); } @@ -38,9 +40,9 @@ public SAV_Trainer() cba = new[] { CHK_Badge1, CHK_Badge2, CHK_Badge3, CHK_Badge4, CHK_Badge5, CHK_Badge6, CHK_Badge7, CHK_Badge8, }; pba = new [] { PB_Badge1, PB_Badge2, PB_Badge3, PB_Badge4, PB_Badge5, PB_Badge6, PB_Badge7, PB_Badge8, }; - L_MultiplayerSprite.Enabled = CB_MultiplayerSprite.Enabled = Main.SAV.ORAS; - L_MultiplayerSprite.Visible = CB_MultiplayerSprite.Visible = Main.SAV.ORAS; - PB_Sprite.Visible = Main.SAV.ORAS; + L_MultiplayerSprite.Enabled = CB_MultiplayerSprite.Enabled = SAV.ORAS; + L_MultiplayerSprite.Visible = CB_MultiplayerSprite.Visible = SAV.ORAS; + PB_Sprite.Visible = SAV.ORAS; L_Style.Visible = TB_Style.Visible = SAV.XY; if (!SAV.XY) @@ -346,7 +348,7 @@ private void getComboBoxes() private void getBadges() { // Fetch Badges - Bitmap[] bma = Main.SAV.ORAS ? + Bitmap[] bma = SAV.ORAS ? new[] { Properties.Resources.badge_01, // ORAS Badges Properties.Resources.badge_02, @@ -578,7 +580,7 @@ private void clickOT(object sender, MouseEventArgs e) if (ModifierKeys != Keys.Control) return; - var d = new f2_Text(tb, null); + var d = new f2_Text(tb, null, SAV); d.ShowDialog(); tb.Text = d.FinalString; } @@ -598,8 +600,7 @@ private void B_Cancel_Click(object sender, EventArgs e) private void B_Save_Click(object sender, EventArgs e) { save(); - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void changeBadge(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_HallOfFame7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_HallOfFame7.cs index 44cbbc0e0..7b975702b 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_HallOfFame7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_HallOfFame7.cs @@ -7,8 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_HallOfFame7 : Form { - public SAV_HallOfFame7() + private readonly SaveFile Origin; + private readonly SAV7 SAV; + public SAV_HallOfFame7(SaveFile sav) { + SAV = (SAV7)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); entries = new[] @@ -18,7 +21,6 @@ public SAV_HallOfFame7() }; Setup(); } - private readonly SAV7 SAV = new SAV7(Main.SAV.Data); private readonly ComboBox[] entries; private void Setup() @@ -61,8 +63,7 @@ private void B_Close_Click(object sender, EventArgs e) var val = WinFormsUtil.getIndex(cb); BitConverter.GetBytes((ushort)val).CopyTo(SAV.Data, o); } - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Pokebean.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Pokebean.cs index abe9553bf..9ab3d482d 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Pokebean.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Pokebean.cs @@ -7,8 +7,9 @@ namespace PKHeX.WinForms { public partial class SAV_Pokebean : Form { - public SAV_Pokebean() + public SAV_Pokebean(SaveFile sav) { + SAV = (SAV7)(Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -30,7 +31,8 @@ public SAV_Pokebean() private int MaxBeanID = 14; - private readonly SAV7 SAV = new SAV7(Main.SAV.Data); + private readonly SaveFile Origin; + private readonly SAV7 SAV; private readonly string[] beanlist; private void Setup() { @@ -98,8 +100,7 @@ private void B_Save_Click(object sender, EventArgs e) { for (int i = 0; i <= MaxBeanID; i++) SAV.SetPokebeanCount(i, (int)dgv.Rows[i].Cells[1].Value); - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs index 56cd49f24..4cafde189 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexSM.cs @@ -9,8 +9,11 @@ namespace PKHeX.WinForms { public partial class SAV_PokedexSM : Form { - public SAV_PokedexSM() + private readonly SaveFile Origin; + private readonly SAV7 SAV; + public SAV_PokedexSM(SaveFile sav) { + SAV = (SAV7)(Origin = sav).Clone(); InitializeComponent(); CP = new[] { CHK_P1, CHK_P2, CHK_P3, CHK_P4, CHK_P5, CHK_P6, CHK_P7, CHK_P8, CHK_P9, }; CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, CHK_L7, CHK_L8, CHK_L9, }; @@ -52,7 +55,6 @@ public SAV_PokedexSM() LB_Species.SelectedIndex = 0; } - private readonly SAV7 SAV = new SAV7(Main.SAV.Data); private readonly PokeDex7 Dex; private bool editing; private bool allModifying; @@ -328,9 +330,7 @@ private void B_Save_Click(object sender, EventArgs e) setEntry(); Dex.WriteToSAV(SAV); - // Return back to the parent savefile - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index 41ff6e0fa..3e36046a6 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -8,9 +8,11 @@ namespace PKHeX.WinForms { public partial class SAV_Trainer7 : Form { - private readonly SAV7 SAV = new SAV7(Main.SAV.Data); - public SAV_Trainer7() + private readonly SaveFile Origin; + private readonly SAV7 SAV; + public SAV_Trainer7(SaveFile sav) { + SAV = (SAV7)(Origin = sav).Clone(); Loading = true; InitializeComponent(); if (Main.unicode) @@ -347,7 +349,7 @@ private void clickOT(object sender, MouseEventArgs e) if (ModifierKeys != Keys.Control) return; - var d = new f2_Text(tb, null); + var d = new f2_Text(tb, null, SAV); d.ShowDialog(); tb.Text = d.FinalString; } @@ -370,8 +372,7 @@ private void B_Cancel_Click(object sender, EventArgs e) private void B_Save_Click(object sender, EventArgs e) { save(); - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } private void change255(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs index 44121f7ee..129279fd9 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_ZygardeCell.cs @@ -7,9 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_ZygardeCell : Form { - private readonly SAV7 SAV = new SAV7(Main.SAV.Data); - public SAV_ZygardeCell() + private readonly SaveFile Origin; + private readonly SAV7 SAV; + public SAV_ZygardeCell(SaveFile sav) { + SAV = (SAV7)(Origin = sav).Clone(); InitializeComponent(); // Constants @ 0x1C00 @@ -64,8 +66,7 @@ private void B_Save_Click(object sender, EventArgs e) constants[cellscollected] = (ushort)NUD_Collected.Value; SAV.EventConsts = constants; - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.Designer.cs index c533f7b4a..dd07b88eb 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.Designer.cs @@ -29,481 +29,14 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SAV_BoxViewer)); - this.PAN_Box = new System.Windows.Forms.Panel(); - this.bpkx30 = new System.Windows.Forms.PictureBox(); - this.bpkx29 = new System.Windows.Forms.PictureBox(); - this.bpkx28 = new System.Windows.Forms.PictureBox(); - this.bpkx27 = new System.Windows.Forms.PictureBox(); - this.bpkx26 = new System.Windows.Forms.PictureBox(); - this.bpkx25 = new System.Windows.Forms.PictureBox(); - this.bpkx24 = new System.Windows.Forms.PictureBox(); - this.bpkx23 = new System.Windows.Forms.PictureBox(); - this.bpkx22 = new System.Windows.Forms.PictureBox(); - this.bpkx21 = new System.Windows.Forms.PictureBox(); - this.bpkx20 = new System.Windows.Forms.PictureBox(); - this.bpkx19 = new System.Windows.Forms.PictureBox(); - this.bpkx18 = new System.Windows.Forms.PictureBox(); - this.bpkx17 = new System.Windows.Forms.PictureBox(); - this.bpkx16 = new System.Windows.Forms.PictureBox(); - this.bpkx15 = new System.Windows.Forms.PictureBox(); - this.bpkx14 = new System.Windows.Forms.PictureBox(); - this.bpkx13 = new System.Windows.Forms.PictureBox(); - this.bpkx12 = new System.Windows.Forms.PictureBox(); - this.bpkx11 = new System.Windows.Forms.PictureBox(); - this.bpkx10 = new System.Windows.Forms.PictureBox(); - this.bpkx9 = new System.Windows.Forms.PictureBox(); - this.bpkx8 = new System.Windows.Forms.PictureBox(); - this.bpkx7 = new System.Windows.Forms.PictureBox(); - this.bpkx6 = new System.Windows.Forms.PictureBox(); - this.bpkx5 = new System.Windows.Forms.PictureBox(); - this.bpkx4 = new System.Windows.Forms.PictureBox(); - this.bpkx3 = new System.Windows.Forms.PictureBox(); - this.bpkx2 = new System.Windows.Forms.PictureBox(); - this.bpkx1 = new System.Windows.Forms.PictureBox(); - this.B_BoxRight = new System.Windows.Forms.Button(); - this.B_BoxLeft = new System.Windows.Forms.Button(); - this.CB_BoxSelect = new System.Windows.Forms.ComboBox(); this.PB_BoxSwap = new System.Windows.Forms.PictureBox(); - this.PAN_Box.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).BeginInit(); + this.Box = new PKHeX.WinForms.Controls.BoxEditor(); ((System.ComponentModel.ISupportInitialize)(this.PB_BoxSwap)).BeginInit(); this.SuspendLayout(); // - // PAN_Box - // - this.PAN_Box.BackgroundImage = Properties.Resources.box_wp16xy; - this.PAN_Box.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.PAN_Box.Controls.Add(this.bpkx30); - this.PAN_Box.Controls.Add(this.bpkx29); - this.PAN_Box.Controls.Add(this.bpkx28); - this.PAN_Box.Controls.Add(this.bpkx27); - this.PAN_Box.Controls.Add(this.bpkx26); - this.PAN_Box.Controls.Add(this.bpkx25); - this.PAN_Box.Controls.Add(this.bpkx24); - this.PAN_Box.Controls.Add(this.bpkx23); - this.PAN_Box.Controls.Add(this.bpkx22); - this.PAN_Box.Controls.Add(this.bpkx21); - this.PAN_Box.Controls.Add(this.bpkx20); - this.PAN_Box.Controls.Add(this.bpkx19); - this.PAN_Box.Controls.Add(this.bpkx18); - this.PAN_Box.Controls.Add(this.bpkx17); - this.PAN_Box.Controls.Add(this.bpkx16); - this.PAN_Box.Controls.Add(this.bpkx15); - this.PAN_Box.Controls.Add(this.bpkx14); - this.PAN_Box.Controls.Add(this.bpkx13); - this.PAN_Box.Controls.Add(this.bpkx12); - this.PAN_Box.Controls.Add(this.bpkx11); - this.PAN_Box.Controls.Add(this.bpkx10); - this.PAN_Box.Controls.Add(this.bpkx9); - this.PAN_Box.Controls.Add(this.bpkx8); - this.PAN_Box.Controls.Add(this.bpkx7); - this.PAN_Box.Controls.Add(this.bpkx6); - this.PAN_Box.Controls.Add(this.bpkx5); - this.PAN_Box.Controls.Add(this.bpkx4); - this.PAN_Box.Controls.Add(this.bpkx3); - this.PAN_Box.Controls.Add(this.bpkx2); - this.PAN_Box.Controls.Add(this.bpkx1); - this.PAN_Box.Location = new System.Drawing.Point(17, 37); - this.PAN_Box.Name = "PAN_Box"; - this.PAN_Box.Size = new System.Drawing.Size(251, 160); - this.PAN_Box.TabIndex = 66; - // - // bpkx30 - // - this.bpkx30.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx30.Location = new System.Drawing.Point(207, 126); - this.bpkx30.Name = "bpkx30"; - this.bpkx30.Size = new System.Drawing.Size(42, 32); - this.bpkx30.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx30.TabIndex = 59; - this.bpkx30.TabStop = false; - // - // bpkx29 - // - this.bpkx29.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx29.Location = new System.Drawing.Point(166, 126); - this.bpkx29.Name = "bpkx29"; - this.bpkx29.Size = new System.Drawing.Size(42, 32); - this.bpkx29.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx29.TabIndex = 58; - this.bpkx29.TabStop = false; - // - // bpkx28 - // - this.bpkx28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx28.Location = new System.Drawing.Point(125, 126); - this.bpkx28.Name = "bpkx28"; - this.bpkx28.Size = new System.Drawing.Size(42, 32); - this.bpkx28.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx28.TabIndex = 57; - this.bpkx28.TabStop = false; - // - // bpkx27 - // - this.bpkx27.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx27.Location = new System.Drawing.Point(84, 126); - this.bpkx27.Name = "bpkx27"; - this.bpkx27.Size = new System.Drawing.Size(42, 32); - this.bpkx27.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx27.TabIndex = 56; - this.bpkx27.TabStop = false; - // - // bpkx26 - // - this.bpkx26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx26.Location = new System.Drawing.Point(43, 126); - this.bpkx26.Name = "bpkx26"; - this.bpkx26.Size = new System.Drawing.Size(42, 32); - this.bpkx26.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx26.TabIndex = 55; - this.bpkx26.TabStop = false; - // - // bpkx25 - // - this.bpkx25.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx25.Location = new System.Drawing.Point(2, 126); - this.bpkx25.Name = "bpkx25"; - this.bpkx25.Size = new System.Drawing.Size(42, 32); - this.bpkx25.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx25.TabIndex = 54; - this.bpkx25.TabStop = false; - // - // bpkx24 - // - this.bpkx24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx24.Location = new System.Drawing.Point(207, 95); - this.bpkx24.Name = "bpkx24"; - this.bpkx24.Size = new System.Drawing.Size(42, 32); - this.bpkx24.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx24.TabIndex = 53; - this.bpkx24.TabStop = false; - // - // bpkx23 - // - this.bpkx23.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx23.Location = new System.Drawing.Point(166, 95); - this.bpkx23.Name = "bpkx23"; - this.bpkx23.Size = new System.Drawing.Size(42, 32); - this.bpkx23.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx23.TabIndex = 52; - this.bpkx23.TabStop = false; - // - // bpkx22 - // - this.bpkx22.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx22.Location = new System.Drawing.Point(125, 95); - this.bpkx22.Name = "bpkx22"; - this.bpkx22.Size = new System.Drawing.Size(42, 32); - this.bpkx22.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx22.TabIndex = 51; - this.bpkx22.TabStop = false; - // - // bpkx21 - // - this.bpkx21.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx21.Location = new System.Drawing.Point(84, 95); - this.bpkx21.Name = "bpkx21"; - this.bpkx21.Size = new System.Drawing.Size(42, 32); - this.bpkx21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx21.TabIndex = 50; - this.bpkx21.TabStop = false; - // - // bpkx20 - // - this.bpkx20.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx20.Location = new System.Drawing.Point(43, 95); - this.bpkx20.Name = "bpkx20"; - this.bpkx20.Size = new System.Drawing.Size(42, 32); - this.bpkx20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx20.TabIndex = 49; - this.bpkx20.TabStop = false; - // - // bpkx19 - // - this.bpkx19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx19.Location = new System.Drawing.Point(2, 95); - this.bpkx19.Name = "bpkx19"; - this.bpkx19.Size = new System.Drawing.Size(42, 32); - this.bpkx19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx19.TabIndex = 48; - this.bpkx19.TabStop = false; - // - // bpkx18 - // - this.bpkx18.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx18.Location = new System.Drawing.Point(207, 64); - this.bpkx18.Name = "bpkx18"; - this.bpkx18.Size = new System.Drawing.Size(42, 32); - this.bpkx18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx18.TabIndex = 47; - this.bpkx18.TabStop = false; - // - // bpkx17 - // - this.bpkx17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx17.Location = new System.Drawing.Point(166, 64); - this.bpkx17.Name = "bpkx17"; - this.bpkx17.Size = new System.Drawing.Size(42, 32); - this.bpkx17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx17.TabIndex = 46; - this.bpkx17.TabStop = false; - // - // bpkx16 - // - this.bpkx16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx16.Location = new System.Drawing.Point(125, 64); - this.bpkx16.Name = "bpkx16"; - this.bpkx16.Size = new System.Drawing.Size(42, 32); - this.bpkx16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx16.TabIndex = 45; - this.bpkx16.TabStop = false; - // - // bpkx15 - // - this.bpkx15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx15.Location = new System.Drawing.Point(84, 64); - this.bpkx15.Name = "bpkx15"; - this.bpkx15.Size = new System.Drawing.Size(42, 32); - this.bpkx15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx15.TabIndex = 44; - this.bpkx15.TabStop = false; - // - // bpkx14 - // - this.bpkx14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx14.Location = new System.Drawing.Point(43, 64); - this.bpkx14.Name = "bpkx14"; - this.bpkx14.Size = new System.Drawing.Size(42, 32); - this.bpkx14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx14.TabIndex = 43; - this.bpkx14.TabStop = false; - // - // bpkx13 - // - this.bpkx13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx13.Location = new System.Drawing.Point(2, 64); - this.bpkx13.Name = "bpkx13"; - this.bpkx13.Size = new System.Drawing.Size(42, 32); - this.bpkx13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx13.TabIndex = 42; - this.bpkx13.TabStop = false; - // - // bpkx12 - // - this.bpkx12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx12.Location = new System.Drawing.Point(207, 33); - this.bpkx12.Name = "bpkx12"; - this.bpkx12.Size = new System.Drawing.Size(42, 32); - this.bpkx12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx12.TabIndex = 41; - this.bpkx12.TabStop = false; - // - // bpkx11 - // - this.bpkx11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx11.Location = new System.Drawing.Point(166, 33); - this.bpkx11.Name = "bpkx11"; - this.bpkx11.Size = new System.Drawing.Size(42, 32); - this.bpkx11.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx11.TabIndex = 40; - this.bpkx11.TabStop = false; - // - // bpkx10 - // - this.bpkx10.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx10.Location = new System.Drawing.Point(125, 33); - this.bpkx10.Name = "bpkx10"; - this.bpkx10.Size = new System.Drawing.Size(42, 32); - this.bpkx10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx10.TabIndex = 39; - this.bpkx10.TabStop = false; - // - // bpkx9 - // - this.bpkx9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx9.Location = new System.Drawing.Point(84, 33); - this.bpkx9.Name = "bpkx9"; - this.bpkx9.Size = new System.Drawing.Size(42, 32); - this.bpkx9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx9.TabIndex = 38; - this.bpkx9.TabStop = false; - // - // bpkx8 - // - this.bpkx8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx8.Location = new System.Drawing.Point(43, 33); - this.bpkx8.Name = "bpkx8"; - this.bpkx8.Size = new System.Drawing.Size(42, 32); - this.bpkx8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx8.TabIndex = 37; - this.bpkx8.TabStop = false; - // - // bpkx7 - // - this.bpkx7.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx7.Location = new System.Drawing.Point(2, 33); - this.bpkx7.Name = "bpkx7"; - this.bpkx7.Size = new System.Drawing.Size(42, 32); - this.bpkx7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx7.TabIndex = 36; - this.bpkx7.TabStop = false; - // - // bpkx6 - // - this.bpkx6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx6.Location = new System.Drawing.Point(207, 2); - this.bpkx6.Name = "bpkx6"; - this.bpkx6.Size = new System.Drawing.Size(42, 32); - this.bpkx6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx6.TabIndex = 35; - this.bpkx6.TabStop = false; - // - // bpkx5 - // - this.bpkx5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx5.Location = new System.Drawing.Point(166, 2); - this.bpkx5.Name = "bpkx5"; - this.bpkx5.Size = new System.Drawing.Size(42, 32); - this.bpkx5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx5.TabIndex = 34; - this.bpkx5.TabStop = false; - // - // bpkx4 - // - this.bpkx4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx4.Location = new System.Drawing.Point(125, 2); - this.bpkx4.Name = "bpkx4"; - this.bpkx4.Size = new System.Drawing.Size(42, 32); - this.bpkx4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx4.TabIndex = 33; - this.bpkx4.TabStop = false; - // - // bpkx3 - // - this.bpkx3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx3.Location = new System.Drawing.Point(84, 2); - this.bpkx3.Name = "bpkx3"; - this.bpkx3.Size = new System.Drawing.Size(42, 32); - this.bpkx3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx3.TabIndex = 32; - this.bpkx3.TabStop = false; - // - // bpkx2 - // - this.bpkx2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx2.Location = new System.Drawing.Point(43, 2); - this.bpkx2.Name = "bpkx2"; - this.bpkx2.Size = new System.Drawing.Size(42, 32); - this.bpkx2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx2.TabIndex = 31; - this.bpkx2.TabStop = false; - // - // bpkx1 - // - this.bpkx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.bpkx1.Location = new System.Drawing.Point(2, 2); - this.bpkx1.Name = "bpkx1"; - this.bpkx1.Size = new System.Drawing.Size(42, 32); - this.bpkx1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.bpkx1.TabIndex = 30; - this.bpkx1.TabStop = false; - // - // B_BoxRight - // - this.B_BoxRight.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.B_BoxRight.Location = new System.Drawing.Point(210, 11); - this.B_BoxRight.Name = "B_BoxRight"; - this.B_BoxRight.Size = new System.Drawing.Size(27, 23); - this.B_BoxRight.TabIndex = 65; - this.B_BoxRight.Text = ">>"; - this.B_BoxRight.UseVisualStyleBackColor = true; - this.B_BoxRight.Click += new System.EventHandler(this.clickBoxRight); - // - // B_BoxLeft - // - this.B_BoxLeft.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.B_BoxLeft.Location = new System.Drawing.Point(48, 11); - this.B_BoxLeft.Name = "B_BoxLeft"; - this.B_BoxLeft.Size = new System.Drawing.Size(27, 23); - this.B_BoxLeft.TabIndex = 64; - this.B_BoxLeft.Text = "<<"; - this.B_BoxLeft.UseVisualStyleBackColor = true; - this.B_BoxLeft.Click += new System.EventHandler(this.clickBoxLeft); - // - // CB_BoxSelect - // - this.CB_BoxSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.CB_BoxSelect.FormattingEnabled = true; - this.CB_BoxSelect.Items.AddRange(new object[] { - "Box 1", - "Box 2", - "Box 3", - "Box 4", - "Box 5", - "Box 6", - "Box 7", - "Box 8", - "Box 9", - "Box 10", - "Box 11", - "Box 12", - "Box 13", - "Box 14", - "Box 15", - "Box 16", - "Box 17", - "Box 18", - "Box 19", - "Box 20", - "Box 21", - "Box 22", - "Box 23", - "Box 24", - "Box 25", - "Box 26", - "Box 27", - "Box 28", - "Box 29", - "Box 30", - "Box 31"}); - this.CB_BoxSelect.Location = new System.Drawing.Point(79, 12); - this.CB_BoxSelect.Name = "CB_BoxSelect"; - this.CB_BoxSelect.Size = new System.Drawing.Size(127, 21); - this.CB_BoxSelect.TabIndex = 63; - this.CB_BoxSelect.SelectedIndexChanged += new System.EventHandler(this.CB_BoxSelect_SelectedIndexChanged); - // // PB_BoxSwap // - this.PB_BoxSwap.Image = Properties.Resources.swapBox; + this.PB_BoxSwap.Image = global::PKHeX.WinForms.Properties.Resources.swapBox; this.PB_BoxSwap.Location = new System.Drawing.Point(0, 0); this.PB_BoxSwap.Name = "PB_BoxSwap"; this.PB_BoxSwap.Size = new System.Drawing.Size(24, 24); @@ -511,93 +44,37 @@ private void InitializeComponent() this.PB_BoxSwap.TabStop = false; this.PB_BoxSwap.Click += new System.EventHandler(this.PB_BoxSwap_Click); // + // Box + // + this.Box.AllowDrop = true; + this.Box.CurrentBox = -1; + this.Box.Dock = System.Windows.Forms.DockStyle.Fill; + this.Box.Location = new System.Drawing.Point(0, 0); + this.Box.Name = "Box"; + this.Box.Size = new System.Drawing.Size(250, 185); + this.Box.TabIndex = 68; + // // SAV_BoxViewer // + this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(284, 211); + this.ClientSize = new System.Drawing.Size(250, 185); this.Controls.Add(this.PB_BoxSwap); - this.Controls.Add(this.B_BoxRight); - this.Controls.Add(this.B_BoxLeft); - this.Controls.Add(this.CB_BoxSelect); - this.Controls.Add(this.PAN_Box); + this.Controls.Add(this.Box); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "SAV_BoxViewer"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Box Viewer"; - this.PAN_Box.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.bpkx30)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx29)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx28)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx27)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx26)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx25)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx24)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx23)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx22)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx21)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx20)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx19)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx18)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx17)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx16)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx15)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx14)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx13)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx12)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx11)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx10)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx9)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx8)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx7)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx6)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx5)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx4)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bpkx1)).EndInit(); + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SAV_BoxViewer_FormClosing); ((System.ComponentModel.ISupportInitialize)(this.PB_BoxSwap)).EndInit(); this.ResumeLayout(false); } #endregion - - private System.Windows.Forms.Panel PAN_Box; - private System.Windows.Forms.PictureBox bpkx30; - private System.Windows.Forms.PictureBox bpkx29; - private System.Windows.Forms.PictureBox bpkx28; - private System.Windows.Forms.PictureBox bpkx27; - private System.Windows.Forms.PictureBox bpkx26; - private System.Windows.Forms.PictureBox bpkx25; - private System.Windows.Forms.PictureBox bpkx24; - private System.Windows.Forms.PictureBox bpkx23; - private System.Windows.Forms.PictureBox bpkx22; - private System.Windows.Forms.PictureBox bpkx21; - private System.Windows.Forms.PictureBox bpkx20; - private System.Windows.Forms.PictureBox bpkx19; - private System.Windows.Forms.PictureBox bpkx18; - private System.Windows.Forms.PictureBox bpkx17; - private System.Windows.Forms.PictureBox bpkx16; - private System.Windows.Forms.PictureBox bpkx15; - private System.Windows.Forms.PictureBox bpkx14; - private System.Windows.Forms.PictureBox bpkx13; - private System.Windows.Forms.PictureBox bpkx12; - private System.Windows.Forms.PictureBox bpkx11; - private System.Windows.Forms.PictureBox bpkx10; - private System.Windows.Forms.PictureBox bpkx9; - private System.Windows.Forms.PictureBox bpkx8; - private System.Windows.Forms.PictureBox bpkx7; - private System.Windows.Forms.PictureBox bpkx6; - private System.Windows.Forms.PictureBox bpkx5; - private System.Windows.Forms.PictureBox bpkx4; - private System.Windows.Forms.PictureBox bpkx3; - private System.Windows.Forms.PictureBox bpkx2; - private System.Windows.Forms.PictureBox bpkx1; - private System.Windows.Forms.Button B_BoxRight; - private System.Windows.Forms.Button B_BoxLeft; - private System.Windows.Forms.ComboBox CB_BoxSelect; private System.Windows.Forms.PictureBox PB_BoxSwap; + public Controls.BoxEditor Box; } } \ No newline at end of file diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.cs index 1ba527297..06e762e55 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_BoxViewer.cs @@ -1,24 +1,21 @@ using System; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Threading; using System.Windows.Forms; -using PKHeX.Core; -using PKHeX.WinForms.Properties; -using static PKHeX.WinForms.Main; +using PKHeX.WinForms.Controls; namespace PKHeX.WinForms { public partial class SAV_BoxViewer : Form { - public SAV_BoxViewer(Main p) + private readonly SAVEditor parent; + public SAV_BoxViewer(SAVEditor p, SlotChangeManager m) { - InitializeComponent(); parent = p; + InitializeComponent(); + Box.Setup(m); CenterToParent(); AllowDrop = true; + GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; DragEnter += tabMain_DragEnter; DragDrop += (sender, e) => { @@ -26,338 +23,12 @@ public SAV_BoxViewer(Main p) System.Media.SystemSounds.Asterisk.Play(); }; - SlotPictureBoxes = new[] { - bpkx1, bpkx2, bpkx3, bpkx4, bpkx5, bpkx6, - bpkx7, bpkx8, bpkx9, bpkx10,bpkx11,bpkx12, - bpkx13,bpkx14,bpkx15,bpkx16,bpkx17,bpkx18, - bpkx19,bpkx20,bpkx21,bpkx22,bpkx23,bpkx24, - bpkx25,bpkx26,bpkx27,bpkx28,bpkx29,bpkx30, - }; - foreach (PictureBox pb in SlotPictureBoxes) - { - pb.AllowDrop = true; - pb.GiveFeedback += (sender, e) => { e.UseDefaultCursors = false; }; - pb.MouseUp += pbBoxSlot_MouseUp; - pb.MouseDown += pbBoxSlot_MouseDown; - pb.MouseMove += pbBoxSlot_MouseMove; - pb.DragDrop += pbBoxSlot_DragDrop; - pb.DragEnter += pbBoxSlot_DragEnter; - pb.QueryContinueDrag += pbBoxSlot_QueryContinueDrag; - pb.MouseEnter += pbBoxSlot_MouseEnter; - pb.MouseLeave += pbBoxSlot_MouseLeave; - } - for (int i = SAV.BoxSlotCount; i < SlotPictureBoxes.Length; i++) - SlotPictureBoxes[i].Visible = false; - - try - { - CB_BoxSelect.Items.Clear(); - for (int i = 0; i < SAV.BoxCount; i++) - CB_BoxSelect.Items.Add(SAV.getBoxName(i)); - } - catch - { - CB_BoxSelect.Items.Clear(); - for (int i = 1; i <= SAV.BoxCount; i++) - CB_BoxSelect.Items.Add($"BOX {i}"); - } - CB_BoxSelect.SelectedIndex = 0; - } - private readonly Main parent; - private readonly PictureBox[] SlotPictureBoxes; - public int CurrentBox => CB_BoxSelect.SelectedIndex; - - private void CB_BoxSelect_SelectedIndexChanged(object sender, EventArgs e) - { - setPKXBoxes(); - } - private void clickBoxRight(object sender, EventArgs e) - { - CB_BoxSelect.SelectedIndex = (CB_BoxSelect.SelectedIndex + 1) % SAV.BoxCount; - } - private void clickBoxLeft(object sender, EventArgs e) - { - CB_BoxSelect.SelectedIndex = (CB_BoxSelect.SelectedIndex + SAV.BoxCount - 1) % SAV.BoxCount; - } - private void PB_BoxSwap_Click(object sender, EventArgs e) - { - CB_BoxSelect.SelectedIndex = parent.swapBoxesViewer(CB_BoxSelect.SelectedIndex); - } - - // Copied Methods from Main.cs (slightly modified) - private int getPKXOffset(int slot) - { - return SAV.getBoxOffset(CB_BoxSelect.SelectedIndex) + slot * SAV.SIZE_STORED; - } - public void setPKXBoxes() - { - int boxoffset = SAV.getBoxOffset(CB_BoxSelect.SelectedIndex); - int boxbgval = SAV.getBoxWallpaper(CB_BoxSelect.SelectedIndex); - PAN_Box.BackgroundImage = SAV.WallpaperImage(boxbgval); - - for (int i = 0; i < SAV.BoxSlotCount; i++) - getSlotFiller(boxoffset + SAV.SIZE_STORED*i, SlotPictureBoxes[i]); - } - private void getSlotFiller(int offset, PictureBox pb) - { - if (SAV.getData(offset, SAV.SIZE_STORED).SequenceEqual(new byte[SAV.SIZE_STORED])) - { - // 00s present in slot. - pb.Image = null; - pb.BackColor = Color.Transparent; - return; - } - PKM p = SAV.getStoredSlot(offset); - if (!p.Valid) // Invalid - { - // Bad Egg present in slot. - pb.Image = null; - pb.BackColor = Color.Red; - return; - } - - int slot = getSlot(pb); - pb.Image = p.Sprite(SAV, CB_BoxSelect.SelectedIndex, slot, parent.Menu_FlagIllegal.Checked); - pb.BackColor = Color.Transparent; - pb.Visible = true; - } - private void getQuickFiller(PictureBox pb, PKM pk) - { - int slot = getSlot(pb); - pb.Image = pk.Sprite(SAV, CB_BoxSelect.SelectedIndex, slot, parent.Menu_FlagIllegal.Checked); - if (pb.BackColor == Color.Red) - pb.BackColor = Color.Transparent; - } - private int getSlot(object sender) - { - sender = ((sender as ToolStripItem)?.Owner as ContextMenuStrip)?.SourceControl ?? sender as PictureBox; - return Array.IndexOf(SlotPictureBoxes, sender); - } - - // Drag and drop related functions - private static Image OriginalBackground; - private static Image CurrentBackground; - private void pbBoxSlot_MouseEnter(object sender, EventArgs e) - { - var pb = (PictureBox)sender; - if (pb.Image == null) - return; - OriginalBackground = pb.BackgroundImage; - pb.BackgroundImage = CurrentBackground = Resources.slotHover; - Cursor = Cursors.Hand; - } - private void pbBoxSlot_MouseLeave(object sender, EventArgs e) - { - var pb = (PictureBox)sender; - if (pb.BackgroundImage != CurrentBackground) - return; - pb.BackgroundImage = OriginalBackground; - Cursor = Cursors.Default; - } - private void pbBoxSlot_MouseUp(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - DragInfo.LeftMouseIsDown = false; - if (e.Button == MouseButtons.Right) - DragInfo.RightMouseIsDown = false; - } - private void pbBoxSlot_MouseDown(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - DragInfo.LeftMouseIsDown = true; - if (e.Button == MouseButtons.Right) - DragInfo.RightMouseIsDown = true; - } - private void pbBoxSlot_MouseMove(object sender, MouseEventArgs e) - { - if (DragInfo.DragDropInProgress) - return; - - if (!DragInfo.LeftMouseIsDown) - return; - - // 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. - PictureBox pb = (PictureBox)sender; - if (pb.Image == null) - return; - - int slot = getSlot(pb); - int box = slot >= 30 ? -1 : CB_BoxSelect.SelectedIndex; - if (SAV.getIsSlotLocked(box, slot)) - return; - - // Set flag to prevent re-entering. - DragInfo.DragDropInProgress = true; - - DragInfo.Source.Parent = this; - DragInfo.Source.Slot = slot; - DragInfo.Source.Box = box; - DragInfo.Source.Offset = getPKXOffset(DragInfo.Source.Slot); - - // Prepare Data - DragInfo.Source.Data = SAV.getData(DragInfo.Source.Offset, SAV.SIZE_STORED); - - // Make a new file name based off the PID - byte[] dragdata = SAV.decryptPKM(DragInfo.Source.Data); - 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); - var img = (Bitmap)pb.Image; - DragInfo.Cursor = Cursor.Current = new Cursor(img.GetHicon()); - pb.Image = null; - pb.BackgroundImage = Resources.slotDrag; - // Thread Blocks on DoDragDrop - DragInfo.CurrentPath = newfile; - DragDropEffects result = pb.DoDragDrop(new DataObject(DataFormats.FileDrop, new[] { newfile }), DragDropEffects.Move); - if (!DragInfo.Source.IsValid || result != DragDropEffects.Link) // not dropped to another box slot, restore img - pb.Image = img; - else // refresh image - getQuickFiller(pb, SAV.getStoredSlot(DragInfo.Source.Offset)); - pb.BackgroundImage = null; - - if (DragInfo.SameBox && DragInfo.Destination.IsValid) - { - if (SAV.getIsTeamSet(box, DragInfo.Destination.Slot) ^ SAV.getIsTeamSet(box, DragInfo.Source.Slot)) - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], SAV.getStoredSlot(DragInfo.Destination.Offset)); - else - SlotPictureBoxes[DragInfo.Destination.Slot].Image = img; - } - } - catch (Exception x) - { - WinFormsUtil.Error("Drag & Drop Error", x); - } - parent.notifyBoxViewerRefresh(); - DragInfo.Reset(); - Cursor = DefaultCursor; - - // 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) && DragInfo.CurrentPath == null) - File.Delete(newfile); - }).Start(); - } - private void pbBoxSlot_DragDrop(object sender, DragEventArgs e) - { - DragInfo.Destination.Parent = this; - DragInfo.Destination.Slot = getSlot(sender); - DragInfo.Destination.Offset = getPKXOffset(DragInfo.Destination.Slot); - DragInfo.Destination.Box = CB_BoxSelect.SelectedIndex; - - // Check for In-Dropped files (PKX,SAV,ETC) - string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - if (Directory.Exists(files[0])) { return; } - if (SAV.getIsSlotLocked(DragInfo.Destination.Box, DragInfo.Destination.Slot)) - { - DragInfo.Destination.Slot = -1; // Invalidate - WinFormsUtil.Alert("Unable to set to locked slot."); - return; - } - if (DragInfo.Source.Offset < 0) // file - { - if (files.Length <= 0) - return; - string file = files[0]; - FileInfo fi = new FileInfo(file); - if (!PKX.getIsPKM(fi.Length) && !MysteryGift.getIsMysteryGift(fi.Length)) - { return; } - - byte[] data = File.ReadAllBytes(file); - MysteryGift mg = MysteryGift.getMysteryGift(data, fi.Extension); - PKM temp = mg != null ? mg.convertToPKM(SAV) : PKMConverter.getPKMfromBytes(data, prefer: SAV.Generation); - string c; - - PKM pk = PKMConverter.convertToFormat(temp, SAV.PKMType, out c); - if (pk == null) - { WinFormsUtil.Error(c); Console.WriteLine(c); return; } - - string[] errata = SAV.IsPKMCompatible(pk); - if (errata.Length > 0) - { - string concat = string.Join(Environment.NewLine, errata); - if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, concat, "Continue?")) - { Console.WriteLine(c); Console.WriteLine(concat); return; } - } - - DragInfo.SetPKM(pk, false); - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], pk); - Console.WriteLine(c); - } - else - { - PKM pkz = DragInfo.GetPKM(true); - if (!DragInfo.Source.IsValid) { } // not overwritable, do nothing - else if (ModifierKeys == Keys.Alt && DragInfo.Destination.IsValid) // overwrite - { - // Clear from slot - if (DragInfo.SameBox) - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], SAV.BlankPKM); // picturebox - - DragInfo.SetPKM(SAV.BlankPKM, true); - } - else if (ModifierKeys != Keys.Control && DragInfo.Destination.IsValid) // move - { - // Load data from destination - PKM pk = ((PictureBox)sender).Image != null - ? DragInfo.GetPKM(false) - : SAV.BlankPKM; - - // Set destination pokemon image to source picture box - if (DragInfo.SameBox) - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], pk); - - // Set destination pokemon data to source slot - DragInfo.SetPKM(pk, true); - } - else if (DragInfo.SameBox) // clone - getQuickFiller(SlotPictureBoxes[DragInfo.Source.Slot], pkz); - - // Copy from temp to destination slot. - DragInfo.SetPKM(pkz, false); - getQuickFiller(SlotPictureBoxes[DragInfo.Destination.Slot], pkz); - - e.Effect = DragDropEffects.Link; - Cursor = DefaultCursor; - } - if (DragInfo.Source.IsParty || DragInfo.Destination.IsParty) - parent.setParty(); - if (DragInfo.Source.Parent == null) // another instance or file - { - parent.notifyBoxViewerRefresh(); - DragInfo.Reset(); - } - } - private void pbBoxSlot_DragEnter(object sender, DragEventArgs e) - { - if (e.AllowedEffect == (DragDropEffects.Copy | DragDropEffects.Link)) // external file - e.Effect = DragDropEffects.Copy; - else if (e.Data != null) // within - e.Effect = DragDropEffects.Move; - - if (DragInfo.DragDropInProgress) - Cursor = (Cursor)DragInfo.Cursor; - } - private void pbBoxSlot_QueryContinueDrag(object sender, QueryContinueDragEventArgs e) - { - if (e.Action == DragAction.Cancel || e.Action == DragAction.Drop) - { - DragInfo.LeftMouseIsDown = false; - DragInfo.RightMouseIsDown = false; - DragInfo.DragDropInProgress = false; - } + foreach (PictureBox pb in Box.SlotPictureBoxes) + pb.ContextMenuStrip = parent.SlotPictureBoxes[0].ContextMenuStrip; } + public int CurrentBox => Box.CurrentBox; + private void PB_BoxSwap_Click(object sender, EventArgs e) => Box.CurrentBox = parent.swapBoxesViewer(Box.CurrentBox); + public void setPKXBoxes() => Box.ResetSlots(); private void tabMain_DragEnter(object sender, DragEventArgs e) { @@ -366,5 +37,11 @@ private void tabMain_DragEnter(object sender, DragEventArgs e) else if (e.Data != null) // within e.Effect = DragDropEffects.Move; } + + private void SAV_BoxViewer_FormClosing(object sender, FormClosingEventArgs e) + { + // Remove viewer from manager list + Box.M.Boxes.Remove(Box); + } } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs index 68ae85926..b498393eb 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventFlags.cs @@ -10,8 +10,11 @@ namespace PKHeX.WinForms { public partial class SAV_EventFlags : Form { - public SAV_EventFlags() + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_EventFlags(SaveFile sav) { + SAV = (Origin = sav).Clone(); InitializeComponent(); DragEnter += tabMain_DragEnter; @@ -46,7 +49,6 @@ public SAV_EventFlags() NUD_Flag.Text = "0"; } - private readonly SaveFile SAV = Main.SAV.Clone(); private readonly bool[] flags; private readonly ushort[] Constants; private const string flagTag = "bool_"; @@ -76,7 +78,8 @@ private void B_Save_Click(object sender, EventArgs e) // Copy back Constants changeConstantIndex(null, null); // Trigger Saving SAV.EventConsts = Constants; - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); + SAV.Data.CopyTo(Origin.Data, 0); + Origin.Edited = true; Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs index a84ed9cb6..1ae9cacf4 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_Inventory.cs @@ -8,8 +8,11 @@ namespace PKHeX.WinForms { public partial class SAV_Inventory : Form { - public SAV_Inventory() + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_Inventory(SaveFile sav) { + SAV = (Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); if (SAV.Generation <= 3) @@ -28,7 +31,6 @@ public SAV_Inventory() switchBag(null, null); // bag 0 } - private readonly SaveFile SAV = Main.SAV.Clone(); private readonly InventoryPouch[] Pouches; private const string TabPrefix = "TAB_"; private const string DGVPrefix = "DGV_"; @@ -43,8 +45,7 @@ private void B_Save_Click(object sender, EventArgs e) { setBags(); SAV.Inventory = Pouches; - Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs index 0efd22411..cbc315b7d 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs @@ -6,8 +6,11 @@ namespace PKHeX.WinForms { public partial class SAV_SimplePokedex : Form { - public SAV_SimplePokedex() + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_SimplePokedex(SaveFile sav) { + SAV = (Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); seen = new bool[SAV.MaxSpeciesID]; @@ -26,7 +29,6 @@ public SAV_SimplePokedex() } initialized = true; } - private readonly SaveFile SAV = Main.SAV.Clone(); private readonly bool[] seen; private readonly bool[] caught; @@ -40,8 +42,7 @@ private void B_Save_Click(object sender, EventArgs e) SAV.setSeen(species, seen[i]); SAV.setCaught(species, caught[i]); } - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs index 256e659d7..0dd5bfb4f 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs @@ -7,8 +7,11 @@ namespace PKHeX.WinForms { public partial class SAV_SimpleTrainer : Form { - public SAV_SimpleTrainer() + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_SimpleTrainer(SaveFile sav) { + SAV = (Origin = sav).Clone(); Loading = true; InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); @@ -150,7 +153,6 @@ public SAV_SimpleTrainer() Loading = false; } private readonly CheckBox[] cba; - private readonly SaveFile SAV = Main.SAV.Clone(); private readonly bool Loading; private bool MapUpdated; @@ -245,9 +247,8 @@ private void B_Save_Click(object sender, EventArgs e) SAV.SecondsToStart = getSeconds(CAL_AdventureStartDate, CAL_AdventureStartTime); SAV.SecondsToFame = getSeconds(CAL_HoFDate, CAL_HoFTime); - - SAV.Data.CopyTo(Main.SAV.Data, 0); - Main.SAV.Edited = true; + + Origin.setData(SAV.Data, 0); Close(); } private void B_Cancel_Click(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs index 69ef83790..3ed723283 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs @@ -10,11 +10,14 @@ namespace PKHeX.WinForms { public partial class SAV_Wondercard : Form { - public SAV_Wondercard(MysteryGift g = null) + private readonly SaveFile Origin; + private readonly SaveFile SAV; + public SAV_Wondercard(SaveFile sav, MysteryGift g = null) { + SAV = (Origin = sav).Clone(); InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.curlanguage); - mga = Main.SAV.GiftAlbum; + mga = SAV.GiftAlbum; switch (SAV.Generation) { @@ -53,8 +56,7 @@ public SAV_Wondercard(MysteryGift g = null) else viewGiftData(g); } - - private readonly SaveFile SAV = Main.SAV.Clone(); + private MysteryGiftAlbum mga; private MysteryGift mg; private readonly PictureBox[] pba; @@ -70,7 +72,7 @@ private void setGiftBoxes() for (int i = 0; i < mga.Gifts.Length; i++) { MysteryGift m = mga.Gifts[i]; - pba[i].Image = m.Sprite(); + pba[i].Image = m.Sprite(SAV); } } private void viewGiftData(MysteryGift g) @@ -84,8 +86,8 @@ private void viewGiftData(MysteryGift g) "Do you want to remove the USED flag so that it is UNUSED?")) g.GiftUsed = false; - RTB.Text = getDescription(g); - PB_Preview.Image = g.Sprite(); + RTB.Text = getDescription(g, SAV); + PB_Preview.Image = g.Sprite(SAV); mg = g; } catch (Exception e) @@ -223,8 +225,7 @@ private void B_Save_Click(object sender, EventArgs e) mga.Flags = flags; SAV.GiftAlbum = mga; - Main.SAV.Data = SAV.Data; - Main.SAV.Edited = true; + Origin.setData(SAV.Data, 0); Close(); } @@ -281,7 +282,7 @@ private bool checkSpecialWonderCard(MysteryGift g) { if (g.CardID == 2048 && g.Item == 726) // Eon Ticket (OR/AS) { - if (!Main.SAV.ORAS || ((SAV6)SAV).EonTicket < 0) + if (!SAV.ORAS || ((SAV6)SAV).EonTicket < 0) goto reject; BitConverter.GetBytes(WC6.EonTicketConst).CopyTo(SAV.Data, ((SAV6)SAV).EonTicket); } @@ -324,7 +325,7 @@ private void L_QR_Click(object sender, EventArgs e) Image qr = QR.getQRImage(mg.Data, server); if (qr == null) return; - string desc = $"({mg.Type}) {getDescription(mg)}"; + string desc = $"({mg.Type}) {getDescription(mg, SAV)}"; new QR(qr, PB_Preview.Image, desc + "PKHeX Wonder Card @ ProjectPokemon.org", "", "", "").ShowDialog(); } @@ -448,7 +449,7 @@ private void pbBoxSlot_DragEnter(object sender, DragEventArgs e) e.Effect = DragDropEffects.Move; } private int wc_slot = -1; - private static string getDescription(MysteryGift gift) + private static string getDescription(MysteryGift gift, SaveFile SAV) { if (gift.Empty) return "Empty Slot. No data!"; @@ -470,7 +471,7 @@ private static string getDescription(MysteryGift gift) } else if (gift.IsPokémon) { - PKM pk = gift.convertToPKM(Main.SAV); + PKM pk = gift.convertToPKM(SAV); try { diff --git a/PKHeX.WinForms/Util/PKMUtil.cs b/PKHeX.WinForms/Util/PKMUtil.cs index a7344b274..ee532dfa3 100644 --- a/PKHeX.WinForms/Util/PKMUtil.cs +++ b/PKHeX.WinForms/Util/PKMUtil.cs @@ -60,14 +60,14 @@ public static Image getTypeSprite(int type) return Resources.ResourceManager.GetObject("type_icon_" + type.ToString("00")) as Image; } - private static Image getSprite(MysteryGift gift) + private static Image getSprite(MysteryGift gift, SaveFile SAV) { if (gift.Empty) return null; Image img; if (gift.IsPokémon) - img = getSprite(gift.convertToPKM(Main.SAV)); + img = getSprite(gift.convertToPKM(SAV)); else if (gift.IsItem) img = (Image)(Resources.ResourceManager.GetObject("item_" + gift.Item) ?? Resources.unknown); else @@ -125,7 +125,7 @@ private static Image getSprite(PKM pkm, SaveFile SAV, int box, int slot, bool fl // Extension Methods public static Image WallpaperImage(this SaveFile SAV, int box) => getWallpaper(SAV, box); - public static Image Sprite(this MysteryGift gift) => getSprite(gift); + public static Image Sprite(this MysteryGift gift, SaveFile SAV) => getSprite(gift, SAV); public static Image Sprite(this SaveFile SAV) => getSprite(SAV); public static Image Sprite(this PKM pkm, bool isBoxBGRed = false) => getSprite(pkm, isBoxBGRed); public static Image Sprite(this PKM pkm, SaveFile SAV, int box, int slot, bool flagIllegal = false) diff --git a/PKHeX.WinForms/Util/WinFormsUtil.cs b/PKHeX.WinForms/Util/WinFormsUtil.cs index 457440e40..3fe397983 100644 --- a/PKHeX.WinForms/Util/WinFormsUtil.cs +++ b/PKHeX.WinForms/Util/WinFormsUtil.cs @@ -119,6 +119,9 @@ internal static void CenterToForm(this Control child, Control parent) } #endregion + public static Form FirstFormOfType(this Form f) => f.OwnedForms.FirstOrDefault(form => form is T); + public static Control GetUnderlyingControl(object sender) => ((sender as ToolStripItem)?.Owner as ContextMenuStrip)?.SourceControl ?? sender as PictureBox; + #region Message Displays /// /// Displays a dialog showing the details of an error. diff --git a/Tests/PKHeX.Tests/PKM/DateTestPKM.cs b/Tests/PKHeX.Tests/PKM/DateTestPKM.cs index 722176982..772728867 100644 --- a/Tests/PKHeX.Tests/PKM/DateTestPKM.cs +++ b/Tests/PKHeX.Tests/PKM/DateTestPKM.cs @@ -16,6 +16,18 @@ internal class DateTestPKM : Core.PKM public int EggMetDay { get; set; } public override PersonalInfo PersonalInfo => null; + // Maximums + public override int MaxMoveID => -1; + public override int MaxSpeciesID => -1; + public override int MaxAbilityID => -1; + public override int MaxItemID => -1; + public override int MaxBallID => -1; + public override int MaxGameID => -1; + public override int MaxIV => -1; + public override int MaxEV => -1; + public override int OTLength => -1; + public override int NickLength => -1; + public override string getString(int Offset, int Count) { throw new NotImplementedException(); } public override byte[] setString(string value, int maxLength) { throw new NotImplementedException(); }