From 68eb8a58d58c48854dfea4e74c95a2f04b8b7b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A1n=20Ind=C3=ADbil=20de=20la=20Cruz=20Calvo?= Date: Thu, 8 Aug 2024 01:56:39 +0200 Subject: [PATCH] Added more Battle Subway fields (#4334) * Added current set fields BW(2) subway * Added battle subway data * Fixed checking wrong chkbox * Added NPC met flag --- PKHeX.Core/Saves/Access/ISaveBlock5BW.cs | 1 + .../Saves/Access/SaveBlockAccessor5B2W2.cs | 1 + .../Saves/Access/SaveBlockAccessor5BW.cs | 1 + PKHeX.Core/Saves/SAV5.cs | 1 + PKHeX.Core/Saves/SAV5B2W2.cs | 1 + PKHeX.Core/Saves/SAV5BW.cs | 1 + .../Saves/Substructures/Gen5/BattleSubway5.cs | 10 + .../Substructures/Gen5/BattleSubwayPlay5.cs | 10 + .../Save Editors/Gen5/SAV_Misc5.Designer.cs | 418 ++++++++++++++---- .../Subforms/Save Editors/Gen5/SAV_Misc5.cs | 84 ++++ .../Subforms/Save Editors/Gen5/SAV_Misc5.resx | 3 +- 11 files changed, 450 insertions(+), 81 deletions(-) create mode 100644 PKHeX.Core/Saves/Substructures/Gen5/BattleSubwayPlay5.cs diff --git a/PKHeX.Core/Saves/Access/ISaveBlock5BW.cs b/PKHeX.Core/Saves/Access/ISaveBlock5BW.cs index 5d2781d89..25b1e0b74 100644 --- a/PKHeX.Core/Saves/Access/ISaveBlock5BW.cs +++ b/PKHeX.Core/Saves/Access/ISaveBlock5BW.cs @@ -13,6 +13,7 @@ public interface ISaveBlock5BW Daycare5 Daycare { get; } BoxLayout5 BoxLayout { get; } PlayerData5 PlayerData { get; } + BattleSubwayPlay5 BattleSubwayPlay { get; } BattleSubway5 BattleSubway { get; } Entralink5 Entralink { get; } Musical5 Musical { get; } diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor5B2W2.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor5B2W2.cs index 088f6e823..144ab675f 100644 --- a/PKHeX.Core/Saves/Access/SaveBlockAccessor5B2W2.cs +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor5B2W2.cs @@ -108,6 +108,7 @@ public sealed class SaveBlockAccessor5B2W2(SAV5B2W2 sav) public Entralink5B2W2 Entralink { get; } = new(sav, Block(sav, 53)); public Zukan5 Zukan { get; } = new(sav, Block(sav, 54), 0x328); // form flags size is + 8 from B/W with new forms (Therians) public Encount5B2W2 Encount { get; } = new(sav, Block(sav, 55)); + public BattleSubwayPlay5 BattleSubwayPlay { get; } = new(sav, Block(sav, 56)); public BattleSubway5 BattleSubway { get; } = new(sav, Block(sav, 57)); public EntreeForest EntreeForest { get; } = new(sav, Block(sav, 60)); public PWTBlock5 PWT { get; } = new(sav, Block(sav, 63)); diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor5BW.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor5BW.cs index f80ad0442..f06ff3413 100644 --- a/PKHeX.Core/Saves/Access/SaveBlockAccessor5BW.cs +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor5BW.cs @@ -103,6 +103,7 @@ public sealed class SaveBlockAccessor5BW(SAV5BW sav) : ISaveBlockAccessor EventWork; diff --git a/PKHeX.Core/Saves/SAV5.cs b/PKHeX.Core/Saves/SAV5.cs index 051636d2a..f2ad1be55 100644 --- a/PKHeX.Core/Saves/SAV5.cs +++ b/PKHeX.Core/Saves/SAV5.cs @@ -180,6 +180,7 @@ public byte[] CGearSkinData public abstract BoxLayout5 BoxLayout { get; } public abstract PlayerData5 PlayerData { get; } public abstract PlayerPosition5 PlayerPosition { get; } + public abstract BattleSubwayPlay5 BattleSubwayPlay { get; } public abstract BattleSubway5 BattleSubway { get; } public abstract Entralink5 Entralink { get; } public abstract Musical5 Musical { get; } diff --git a/PKHeX.Core/Saves/SAV5B2W2.cs b/PKHeX.Core/Saves/SAV5B2W2.cs index a72e687b4..bf16c376b 100644 --- a/PKHeX.Core/Saves/SAV5B2W2.cs +++ b/PKHeX.Core/Saves/SAV5B2W2.cs @@ -27,6 +27,7 @@ public sealed class SAV5B2W2 : SAV5, ISaveBlock5B2W2 public override BoxLayout5 BoxLayout => Blocks.BoxLayout; public override PlayerData5 PlayerData => Blocks.PlayerData; public override PlayerPosition5 PlayerPosition => Blocks.PlayerPosition; + public override BattleSubwayPlay5 BattleSubwayPlay => Blocks.BattleSubwayPlay; public override BattleSubway5 BattleSubway => Blocks.BattleSubway; public override Entralink5 Entralink => Blocks.Entralink; public override Musical5 Musical => Blocks.Musical; diff --git a/PKHeX.Core/Saves/SAV5BW.cs b/PKHeX.Core/Saves/SAV5BW.cs index 008eeed59..2bfea214c 100644 --- a/PKHeX.Core/Saves/SAV5BW.cs +++ b/PKHeX.Core/Saves/SAV5BW.cs @@ -27,6 +27,7 @@ public sealed class SAV5BW : SAV5 public override BoxLayout5 BoxLayout => Blocks.BoxLayout; public override PlayerData5 PlayerData => Blocks.PlayerData; public override PlayerPosition5 PlayerPosition => Blocks.PlayerPosition; + public override BattleSubwayPlay5 BattleSubwayPlay => Blocks.BattleSubwayPlay; public override BattleSubway5 BattleSubway => Blocks.BattleSubway; public override Entralink5BW Entralink => Blocks.Entralink; public override Musical5 Musical => Blocks.Musical; diff --git a/PKHeX.Core/Saves/Substructures/Gen5/BattleSubway5.cs b/PKHeX.Core/Saves/Substructures/Gen5/BattleSubway5.cs index 72d3e0ae3..3a4aa04c2 100644 --- a/PKHeX.Core/Saves/Substructures/Gen5/BattleSubway5.cs +++ b/PKHeX.Core/Saves/Substructures/Gen5/BattleSubway5.cs @@ -15,6 +15,8 @@ public sealed class BattleSubway5(SAV5 sav, Memory raw) : SaveBlock( public bool SuperDouble { get => ((Flags >> 5) & 1) != 0; set => Flags = (Flags & ~(1 << 5)) | ((value ? 1 : 0) << 5); } public bool SuperMulti { get => ((Flags >> 6) & 1) != 0; set => Flags = (Flags & ~(1 << 6)) | ((value ? 1 : 0) << 6); } public bool Flag7 { get => ((Flags >> 7) & 1) != 0; set => Flags = (Flags & ~(1 << 7)) | ((value ? 1 : 0) << 7); } + public int Flags2 { get => Data[0x05]; set => Data[0x05] = (byte)value; } + public bool NPCMet { get => ((Flags2 >> 2) & 1) != 0; set => Flags2 = (Flags2 & ~(1 << 2)) | ((value ? 1 : 0) << 2); } public int SinglePast { get => ReadUInt16LittleEndian(Data[0x08..]); set => WriteUInt16LittleEndian(Data[0x08..], (ushort)value); } public int DoublePast { get => ReadUInt16LittleEndian(Data[0x0A..]); set => WriteUInt16LittleEndian(Data[0x0A..], (ushort)value); } @@ -32,4 +34,12 @@ public sealed class BattleSubway5(SAV5 sav, Memory raw) : SaveBlock( public int SuperDoubleRecord { get => ReadUInt16LittleEndian(Data[0x26..]); set => WriteUInt16LittleEndian(Data[0x26..], (ushort)value); } public int SuperMultiNPCRecord { get => ReadUInt16LittleEndian(Data[0x28..]); set => WriteUInt16LittleEndian(Data[0x28..], (ushort)value); } public int SuperMultiFriendsRecord { get => ReadUInt16LittleEndian(Data[0x2A..]); set => WriteUInt16LittleEndian(Data[0x2A..], (ushort)value); } + public int SingleSet { get => ReadUInt16LittleEndian(Data[0x2C..]); set => WriteUInt16LittleEndian(Data[0x2C..], (ushort)value); } + public int DoubleSet { get => ReadUInt16LittleEndian(Data[0x2E..]); set => WriteUInt16LittleEndian(Data[0x2E..], (ushort)value); } + public int MultiNPCSet { get => ReadUInt16LittleEndian(Data[0x30..]); set => WriteUInt16LittleEndian(Data[0x30..], (ushort)value); } + public int MultiFriendsSet { get => ReadUInt16LittleEndian(Data[0x32..]); set => WriteUInt16LittleEndian(Data[0x32..], (ushort)value); } + public int SuperSingleSet { get => ReadUInt16LittleEndian(Data[0x36..]); set => WriteUInt16LittleEndian(Data[0x36..], (ushort)value); } + public int SuperDoubleSet { get => ReadUInt16LittleEndian(Data[0x38..]); set => WriteUInt16LittleEndian(Data[0x38..], (ushort)value); } + public int SuperMultiNPCSet { get => ReadUInt16LittleEndian(Data[0x3A..]); set => WriteUInt16LittleEndian(Data[0x3A..], (ushort)value); } + public int SuperMultiFriendsSet { get => ReadUInt16LittleEndian(Data[0x3C..]); set => WriteUInt16LittleEndian(Data[0x3C..], (ushort)value); } } diff --git a/PKHeX.Core/Saves/Substructures/Gen5/BattleSubwayPlay5.cs b/PKHeX.Core/Saves/Substructures/Gen5/BattleSubwayPlay5.cs new file mode 100644 index 000000000..1a5a3b25f --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen5/BattleSubwayPlay5.cs @@ -0,0 +1,10 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +public sealed class BattleSubwayPlay5(SAV5 sav, Memory raw) : SaveBlock(sav, raw) +{ + public int CurrentType { get => Data[0x00]; set => Data[0x00] = (byte)value; } + public int CurrentBattle { get => Data[0x02]; set => Data[0x02] = (byte)value; } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.Designer.cs index e9666e8ae..af003c21f 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.Designer.cs @@ -110,14 +110,31 @@ private void InitializeComponent() LB_Slots = new System.Windows.Forms.ListBox(); TAB_Subway = new System.Windows.Forms.TabPage(); GB_SubwayChecks = new System.Windows.Forms.GroupBox(); - CHK_Subway7 = new System.Windows.Forms.CheckBox(); - CHK_Subway3 = new System.Windows.Forms.CheckBox(); - CHK_Subway2 = new System.Windows.Forms.CheckBox(); - CHK_Subway1 = new System.Windows.Forms.CheckBox(); CHK_Subway0 = new System.Windows.Forms.CheckBox(); + CHK_Subway1 = new System.Windows.Forms.CheckBox(); + CHK_Subway2 = new System.Windows.Forms.CheckBox(); + CHK_Subway3 = new System.Windows.Forms.CheckBox(); + CHK_SuperSingle = new System.Windows.Forms.CheckBox(); CHK_SuperMulti = new System.Windows.Forms.CheckBox(); CHK_SuperDouble = new System.Windows.Forms.CheckBox(); - CHK_SuperSingle = new System.Windows.Forms.CheckBox(); + CHK_Subway7 = new System.Windows.Forms.CheckBox(); + CHK_SWNPCMet = new System.Windows.Forms.CheckBox(); + GB_CurrentData = new System.Windows.Forms.GroupBox(); + L_CurrentType = new System.Windows.Forms.Label(); + L_CurrentBattle = new System.Windows.Forms.Label(); + NUD_CurrentType = new System.Windows.Forms.NumericUpDown(); + NUD_CurrentBattle = new System.Windows.Forms.NumericUpDown(); + GB_SubwaySets = new System.Windows.Forms.GroupBox(); + L_NormalSets = new System.Windows.Forms.Label(); + L_SuperSets = new System.Windows.Forms.Label(); + CHK_SingleSet = new System.Windows.Forms.CheckBox(); + CHK_DoubleSet = new System.Windows.Forms.CheckBox(); + CHK_MultiNPCSet = new System.Windows.Forms.CheckBox(); + CHK_MultiFriendsSet = new System.Windows.Forms.CheckBox(); + CHK_SuperSingleSet = new System.Windows.Forms.CheckBox(); + CHK_SuperDoubleSet = new System.Windows.Forms.CheckBox(); + CHK_SuperMultiNPCSet = new System.Windows.Forms.CheckBox(); + CHK_SuperMultiFriendsSet = new System.Windows.Forms.CheckBox(); GB_SuperMulti = new System.Windows.Forms.GroupBox(); L_SMultiNPC = new System.Windows.Forms.Label(); L_SMultiFriends = new System.Windows.Forms.Label(); @@ -165,6 +182,7 @@ private void InitializeComponent() B_ImportFC = new System.Windows.Forms.Button(); B_DumpFC = new System.Windows.Forms.Button(); TAB_Medals = new System.Windows.Forms.TabPage(); + TB_MedalType = new System.Windows.Forms.TextBox(); B_ObtainAllMedals = new System.Windows.Forms.Button(); CAL_MedalDate = new System.Windows.Forms.DateTimePicker(); CHK_MedalUnread = new System.Windows.Forms.CheckBox(); @@ -176,7 +194,6 @@ private void InitializeComponent() CB_Prop = new System.Windows.Forms.ComboBox(); TipExpB = new System.Windows.Forms.ToolTip(components); TipExpW = new System.Windows.Forms.ToolTip(components); - TB_MedalType = new System.Windows.Forms.TextBox(); TC_Misc.SuspendLayout(); TAB_Main.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)NUD_Record32V).BeginInit(); @@ -208,6 +225,10 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)NUD_Animation).BeginInit(); TAB_Subway.SuspendLayout(); GB_SubwayChecks.SuspendLayout(); + GB_CurrentData.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)NUD_CurrentType).BeginInit(); + ((System.ComponentModel.ISupportInitialize)NUD_CurrentBattle).BeginInit(); + GB_SubwaySets.SuspendLayout(); GB_SuperMulti.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)NUD_SMultiFriendsRecord).BeginInit(); ((System.ComponentModel.ISupportInitialize)NUD_SMultiFriendsPast).BeginInit(); @@ -1177,6 +1198,8 @@ private void InitializeComponent() // TAB_Subway // TAB_Subway.Controls.Add(GB_SubwayChecks); + TAB_Subway.Controls.Add(GB_CurrentData); + TAB_Subway.Controls.Add(GB_SubwaySets); TAB_Subway.Controls.Add(GB_SuperMulti); TAB_Subway.Controls.Add(GB_SuperDoubles); TAB_Subway.Controls.Add(GB_SuperSingles); @@ -1194,67 +1217,24 @@ private void InitializeComponent() // // GB_SubwayChecks // - GB_SubwayChecks.Controls.Add(CHK_Subway7); - GB_SubwayChecks.Controls.Add(CHK_Subway3); - GB_SubwayChecks.Controls.Add(CHK_Subway2); - GB_SubwayChecks.Controls.Add(CHK_Subway1); GB_SubwayChecks.Controls.Add(CHK_Subway0); + GB_SubwayChecks.Controls.Add(CHK_Subway1); + GB_SubwayChecks.Controls.Add(CHK_Subway2); + GB_SubwayChecks.Controls.Add(CHK_Subway3); + GB_SubwayChecks.Controls.Add(CHK_SuperSingle); GB_SubwayChecks.Controls.Add(CHK_SuperMulti); GB_SubwayChecks.Controls.Add(CHK_SuperDouble); - GB_SubwayChecks.Controls.Add(CHK_SuperSingle); + GB_SubwayChecks.Controls.Add(CHK_Subway7); + GB_SubwayChecks.Controls.Add(CHK_SWNPCMet); GB_SubwayChecks.Location = new System.Drawing.Point(247, 7); GB_SubwayChecks.Margin = new System.Windows.Forms.Padding(2); GB_SubwayChecks.Name = "GB_SubwayChecks"; GB_SubwayChecks.Padding = new System.Windows.Forms.Padding(2); - GB_SubwayChecks.Size = new System.Drawing.Size(138, 174); + GB_SubwayChecks.Size = new System.Drawing.Size(138, 130); GB_SubwayChecks.TabIndex = 3; GB_SubwayChecks.TabStop = false; GB_SubwayChecks.Text = "Subway Flags"; // - // CHK_Subway7 - // - CHK_Subway7.AutoSize = true; - CHK_Subway7.Location = new System.Drawing.Point(10, 147); - CHK_Subway7.Margin = new System.Windows.Forms.Padding(2); - CHK_Subway7.Name = "CHK_Subway7"; - CHK_Subway7.Size = new System.Drawing.Size(54, 19); - CHK_Subway7.TabIndex = 8; - CHK_Subway7.Text = "Flag7"; - CHK_Subway7.UseVisualStyleBackColor = true; - // - // CHK_Subway3 - // - CHK_Subway3.AutoSize = true; - CHK_Subway3.Location = new System.Drawing.Point(10, 72); - CHK_Subway3.Margin = new System.Windows.Forms.Padding(2); - CHK_Subway3.Name = "CHK_Subway3"; - CHK_Subway3.Size = new System.Drawing.Size(54, 19); - CHK_Subway3.TabIndex = 4; - CHK_Subway3.Text = "Flag3"; - CHK_Subway3.UseVisualStyleBackColor = true; - // - // CHK_Subway2 - // - CHK_Subway2.AutoSize = true; - CHK_Subway2.Location = new System.Drawing.Point(10, 54); - CHK_Subway2.Margin = new System.Windows.Forms.Padding(2); - CHK_Subway2.Name = "CHK_Subway2"; - CHK_Subway2.Size = new System.Drawing.Size(54, 19); - CHK_Subway2.TabIndex = 3; - CHK_Subway2.Text = "Flag2"; - CHK_Subway2.UseVisualStyleBackColor = true; - // - // CHK_Subway1 - // - CHK_Subway1.AutoSize = true; - CHK_Subway1.Location = new System.Drawing.Point(10, 37); - CHK_Subway1.Margin = new System.Windows.Forms.Padding(2); - CHK_Subway1.Name = "CHK_Subway1"; - CHK_Subway1.Size = new System.Drawing.Size(54, 19); - CHK_Subway1.TabIndex = 2; - CHK_Subway1.Text = "Flag1"; - CHK_Subway1.UseVisualStyleBackColor = true; - // // CHK_Subway0 // CHK_Subway0.AutoSize = true; @@ -1266,10 +1246,54 @@ private void InitializeComponent() CHK_Subway0.Text = "Flag0"; CHK_Subway0.UseVisualStyleBackColor = true; // + // CHK_Subway1 + // + CHK_Subway1.AutoSize = true; + CHK_Subway1.Location = new System.Drawing.Point(77, 20); + CHK_Subway1.Margin = new System.Windows.Forms.Padding(2); + CHK_Subway1.Name = "CHK_Subway1"; + CHK_Subway1.Size = new System.Drawing.Size(54, 19); + CHK_Subway1.TabIndex = 2; + CHK_Subway1.Text = "Flag1"; + CHK_Subway1.UseVisualStyleBackColor = true; + // + // CHK_Subway2 + // + CHK_Subway2.AutoSize = true; + CHK_Subway2.Location = new System.Drawing.Point(10, 38); + CHK_Subway2.Margin = new System.Windows.Forms.Padding(2); + CHK_Subway2.Name = "CHK_Subway2"; + CHK_Subway2.Size = new System.Drawing.Size(54, 19); + CHK_Subway2.TabIndex = 3; + CHK_Subway2.Text = "Flag2"; + CHK_Subway2.UseVisualStyleBackColor = true; + // + // CHK_Subway3 + // + CHK_Subway3.AutoSize = true; + CHK_Subway3.Location = new System.Drawing.Point(77, 38); + CHK_Subway3.Margin = new System.Windows.Forms.Padding(2); + CHK_Subway3.Name = "CHK_Subway3"; + CHK_Subway3.Size = new System.Drawing.Size(54, 19); + CHK_Subway3.TabIndex = 4; + CHK_Subway3.Text = "Flag3"; + CHK_Subway3.UseVisualStyleBackColor = true; + // + // CHK_SuperSingle + // + CHK_SuperSingle.AutoSize = true; + CHK_SuperSingle.Location = new System.Drawing.Point(10, 56); + CHK_SuperSingle.Margin = new System.Windows.Forms.Padding(2); + CHK_SuperSingle.Name = "CHK_SuperSingle"; + CHK_SuperSingle.Size = new System.Drawing.Size(101, 19); + CHK_SuperSingle.TabIndex = 5; + CHK_SuperSingle.Text = "Super Singles?"; + CHK_SuperSingle.UseVisualStyleBackColor = true; + // // CHK_SuperMulti // CHK_SuperMulti.AutoSize = true; - CHK_SuperMulti.Location = new System.Drawing.Point(10, 129); + CHK_SuperMulti.Location = new System.Drawing.Point(10, 74); CHK_SuperMulti.Margin = new System.Windows.Forms.Padding(2); CHK_SuperMulti.Name = "CHK_SuperMulti"; CHK_SuperMulti.Size = new System.Drawing.Size(92, 19); @@ -1280,7 +1304,7 @@ private void InitializeComponent() // CHK_SuperDouble // CHK_SuperDouble.AutoSize = true; - CHK_SuperDouble.Location = new System.Drawing.Point(10, 112); + CHK_SuperDouble.Location = new System.Drawing.Point(10, 92); CHK_SuperDouble.Margin = new System.Windows.Forms.Padding(2); CHK_SuperDouble.Name = "CHK_SuperDouble"; CHK_SuperDouble.Size = new System.Drawing.Size(107, 19); @@ -1288,16 +1312,227 @@ private void InitializeComponent() CHK_SuperDouble.Text = "Super Doubles?"; CHK_SuperDouble.UseVisualStyleBackColor = true; // - // CHK_SuperSingle + // CHK_Subway7 // - CHK_SuperSingle.AutoSize = true; - CHK_SuperSingle.Location = new System.Drawing.Point(10, 95); - CHK_SuperSingle.Margin = new System.Windows.Forms.Padding(2); - CHK_SuperSingle.Name = "CHK_SuperSingle"; - CHK_SuperSingle.Size = new System.Drawing.Size(101, 19); - CHK_SuperSingle.TabIndex = 5; - CHK_SuperSingle.Text = "Super Singles?"; - CHK_SuperSingle.UseVisualStyleBackColor = true; + CHK_Subway7.AutoSize = true; + CHK_Subway7.Location = new System.Drawing.Point(10, 110); + CHK_Subway7.Margin = new System.Windows.Forms.Padding(2); + CHK_Subway7.Name = "CHK_Subway7"; + CHK_Subway7.Size = new System.Drawing.Size(54, 19); + CHK_Subway7.TabIndex = 8; + CHK_Subway7.Text = "Flag7"; + CHK_Subway7.UseVisualStyleBackColor = true; + // + // CHK_SWNPCMet + // + CHK_SWNPCMet.AutoSize = true; + CHK_SWNPCMet.Location = new System.Drawing.Point(64, 110); + CHK_SWNPCMet.Margin = new System.Windows.Forms.Padding(2); + CHK_SWNPCMet.Name = "CHK_SWNPCMet"; + CHK_SWNPCMet.Size = new System.Drawing.Size(74, 19); + CHK_SWNPCMet.TabIndex = 8; + CHK_SWNPCMet.Text = "NPC met"; + CHK_SWNPCMet.UseVisualStyleBackColor = true; + // + // GB_CurrentData + // + GB_CurrentData.Controls.Add(L_CurrentType); + GB_CurrentData.Controls.Add(L_CurrentBattle); + GB_CurrentData.Controls.Add(NUD_CurrentType); + GB_CurrentData.Controls.Add(NUD_CurrentBattle); + GB_CurrentData.Location = new System.Drawing.Point(248, 140); + GB_CurrentData.Margin = new System.Windows.Forms.Padding(2); + GB_CurrentData.Name = "GB_CurrentData"; + GB_CurrentData.Padding = new System.Windows.Forms.Padding(2); + GB_CurrentData.Size = new System.Drawing.Size(138, 73); + GB_CurrentData.TabIndex = 3; + GB_CurrentData.TabStop = false; + GB_CurrentData.Text = "Current run data"; + // + // L_CurrentType + // + L_CurrentType.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + L_CurrentType.AutoSize = true; + L_CurrentType.Location = new System.Drawing.Point(45, 23); + L_CurrentType.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + L_CurrentType.Name = "L_CurrentType"; + L_CurrentType.Size = new System.Drawing.Size(31, 15); + L_CurrentType.TabIndex = 0; + L_CurrentType.Text = "Type"; + L_CurrentType.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // L_CurrentBattle + // + L_CurrentBattle.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + L_CurrentBattle.AutoSize = true; + L_CurrentBattle.Location = new System.Drawing.Point(17, 47); + L_CurrentBattle.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + L_CurrentBattle.Name = "L_CurrentBattle"; + L_CurrentBattle.Size = new System.Drawing.Size(59, 15); + L_CurrentBattle.TabIndex = 0; + L_CurrentBattle.Text = "Battle No."; + L_CurrentBattle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // NUD_CurrentType + // + NUD_CurrentType.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + NUD_CurrentType.Location = new System.Drawing.Point(82, 21); + NUD_CurrentType.Margin = new System.Windows.Forms.Padding(2); + NUD_CurrentType.Maximum = new decimal(new int[] { 255, 0, 0, 0 }); + NUD_CurrentType.Name = "NUD_CurrentType"; + NUD_CurrentType.Size = new System.Drawing.Size(48, 23); + NUD_CurrentType.TabIndex = 1; + // + // NUD_CurrentBattle + // + NUD_CurrentBattle.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + NUD_CurrentBattle.Location = new System.Drawing.Point(82, 45); + NUD_CurrentBattle.Margin = new System.Windows.Forms.Padding(2); + NUD_CurrentBattle.Maximum = new decimal(new int[] { 255, 0, 0, 0 }); + NUD_CurrentBattle.Name = "NUD_CurrentBattle"; + NUD_CurrentBattle.Size = new System.Drawing.Size(48, 23); + NUD_CurrentBattle.TabIndex = 1; + // + // GB_SubwaySets + // + GB_SubwaySets.Controls.Add(L_NormalSets); + GB_SubwaySets.Controls.Add(L_SuperSets); + GB_SubwaySets.Controls.Add(CHK_SingleSet); + GB_SubwaySets.Controls.Add(CHK_DoubleSet); + GB_SubwaySets.Controls.Add(CHK_MultiNPCSet); + GB_SubwaySets.Controls.Add(CHK_MultiFriendsSet); + GB_SubwaySets.Controls.Add(CHK_SuperSingleSet); + GB_SubwaySets.Controls.Add(CHK_SuperDoubleSet); + GB_SubwaySets.Controls.Add(CHK_SuperMultiNPCSet); + GB_SubwaySets.Controls.Add(CHK_SuperMultiFriendsSet); + GB_SubwaySets.Location = new System.Drawing.Point(247, 216); + GB_SubwaySets.Margin = new System.Windows.Forms.Padding(2); + GB_SubwaySets.Name = "GB_SubwaySets"; + GB_SubwaySets.Padding = new System.Windows.Forms.Padding(2); + GB_SubwaySets.Size = new System.Drawing.Size(138, 107); + GB_SubwaySets.TabIndex = 3; + GB_SubwaySets.TabStop = false; + GB_SubwaySets.Text = "Is run active?"; + // + // L_NormalSets + // + L_NormalSets.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + L_NormalSets.AutoSize = true; + L_NormalSets.Location = new System.Drawing.Point(42, 19); + L_NormalSets.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + L_NormalSets.Name = "L_NormalSets"; + L_NormalSets.Size = new System.Drawing.Size(47, 15); + L_NormalSets.TabIndex = 0; + L_NormalSets.Text = "Normal"; + L_NormalSets.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // L_SuperSets + // + L_SuperSets.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + L_SuperSets.AutoSize = true; + L_SuperSets.Location = new System.Drawing.Point(90, 19); + L_SuperSets.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + L_SuperSets.Name = "L_SuperSets"; + L_SuperSets.Size = new System.Drawing.Size(37, 15); + L_SuperSets.TabIndex = 1; + L_SuperSets.Text = "Super"; + L_SuperSets.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // CHK_SingleSet + // + CHK_SingleSet.AutoSize = true; + CHK_SingleSet.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SingleSet.Location = new System.Drawing.Point(16, 36); + CHK_SingleSet.Margin = new System.Windows.Forms.Padding(2); + CHK_SingleSet.Name = "CHK_SingleSet"; + CHK_SingleSet.Size = new System.Drawing.Size(58, 19); + CHK_SingleSet.TabIndex = 2; + CHK_SingleSet.Text = "Single"; + CHK_SingleSet.UseVisualStyleBackColor = true; + CHK_SingleSet.CheckedChanged += CHK_SingleSet_CheckedChanged; + // + // CHK_DoubleSet + // + CHK_DoubleSet.AutoSize = true; + CHK_DoubleSet.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_DoubleSet.Location = new System.Drawing.Point(10, 53); + CHK_DoubleSet.Margin = new System.Windows.Forms.Padding(2); + CHK_DoubleSet.Name = "CHK_DoubleSet"; + CHK_DoubleSet.Size = new System.Drawing.Size(64, 19); + CHK_DoubleSet.TabIndex = 3; + CHK_DoubleSet.Text = "Double"; + CHK_DoubleSet.UseVisualStyleBackColor = true; + CHK_DoubleSet.CheckedChanged += CHK_DoubleSet_CheckedChanged; + // + // CHK_MultiNPCSet + // + CHK_MultiNPCSet.AutoSize = true; + CHK_MultiNPCSet.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_MultiNPCSet.Location = new System.Drawing.Point(24, 70); + CHK_MultiNPCSet.Margin = new System.Windows.Forms.Padding(2); + CHK_MultiNPCSet.Name = "CHK_MultiNPCSet"; + CHK_MultiNPCSet.Size = new System.Drawing.Size(50, 19); + CHK_MultiNPCSet.TabIndex = 4; + CHK_MultiNPCSet.Text = "NPC"; + CHK_MultiNPCSet.UseVisualStyleBackColor = true; + CHK_MultiNPCSet.CheckedChanged += CHK_MultiNPCSet_CheckedChanged; + // + // CHK_MultiFriendsSet + // + CHK_MultiFriendsSet.AutoSize = true; + CHK_MultiFriendsSet.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_MultiFriendsSet.Location = new System.Drawing.Point(10, 87); + CHK_MultiFriendsSet.Margin = new System.Windows.Forms.Padding(2); + CHK_MultiFriendsSet.Name = "CHK_MultiFriendsSet"; + CHK_MultiFriendsSet.Size = new System.Drawing.Size(64, 19); + CHK_MultiFriendsSet.TabIndex = 5; + CHK_MultiFriendsSet.Text = "Friends"; + CHK_MultiFriendsSet.UseVisualStyleBackColor = true; + CHK_MultiFriendsSet.CheckedChanged += CHK_MultiFriendsSet_CheckedChanged; + // + // CHK_SuperSingleSet + // + CHK_SuperSingleSet.AutoSize = true; + CHK_SuperSingleSet.Location = new System.Drawing.Point(102, 38); + CHK_SuperSingleSet.Margin = new System.Windows.Forms.Padding(2); + CHK_SuperSingleSet.Name = "CHK_SuperSingleSet"; + CHK_SuperSingleSet.Size = new System.Drawing.Size(15, 14); + CHK_SuperSingleSet.TabIndex = 6; + CHK_SuperSingleSet.UseVisualStyleBackColor = true; + CHK_SuperSingleSet.CheckedChanged += CHK_SuperSingleSet_CheckedChanged; + // + // CHK_SuperDoubleSet + // + CHK_SuperDoubleSet.AutoSize = true; + CHK_SuperDoubleSet.Location = new System.Drawing.Point(102, 55); + CHK_SuperDoubleSet.Margin = new System.Windows.Forms.Padding(2); + CHK_SuperDoubleSet.Name = "CHK_SuperDoubleSet"; + CHK_SuperDoubleSet.Size = new System.Drawing.Size(15, 14); + CHK_SuperDoubleSet.TabIndex = 7; + CHK_SuperDoubleSet.UseVisualStyleBackColor = true; + CHK_SuperDoubleSet.CheckedChanged += CHK_SuperDoubleSet_CheckedChanged; + // + // CHK_SuperMultiNPCSet + // + CHK_SuperMultiNPCSet.AutoSize = true; + CHK_SuperMultiNPCSet.Location = new System.Drawing.Point(102, 72); + CHK_SuperMultiNPCSet.Margin = new System.Windows.Forms.Padding(2); + CHK_SuperMultiNPCSet.Name = "CHK_SuperMultiNPCSet"; + CHK_SuperMultiNPCSet.Size = new System.Drawing.Size(15, 14); + CHK_SuperMultiNPCSet.TabIndex = 8; + CHK_SuperMultiNPCSet.UseVisualStyleBackColor = true; + CHK_SuperMultiNPCSet.CheckedChanged += CHK_SuperMultiNPCSet_CheckedChanged; + // + // CHK_SuperMultiFriendsSet + // + CHK_SuperMultiFriendsSet.AutoSize = true; + CHK_SuperMultiFriendsSet.Location = new System.Drawing.Point(102, 89); + CHK_SuperMultiFriendsSet.Margin = new System.Windows.Forms.Padding(2); + CHK_SuperMultiFriendsSet.Name = "CHK_SuperMultiFriendsSet"; + CHK_SuperMultiFriendsSet.Size = new System.Drawing.Size(15, 14); + CHK_SuperMultiFriendsSet.TabIndex = 9; + CHK_SuperMultiFriendsSet.UseVisualStyleBackColor = true; + CHK_SuperMultiFriendsSet.CheckedChanged += CHK_SuperMultiFriendsSet_CheckedChanged; // // GB_SuperMulti // @@ -1841,6 +2076,15 @@ private void InitializeComponent() TAB_Medals.Text = "Medals"; TAB_Medals.UseVisualStyleBackColor = true; // + // TB_MedalType + // + TB_MedalType.Location = new System.Drawing.Point(212, 103); + TB_MedalType.Name = "TB_MedalType"; + TB_MedalType.ReadOnly = true; + TB_MedalType.Size = new System.Drawing.Size(175, 23); + TB_MedalType.TabIndex = 4; + TB_MedalType.TabStop = false; + // // B_ObtainAllMedals // B_ObtainAllMedals.Location = new System.Drawing.Point(3, 264); @@ -1931,15 +2175,6 @@ private void InitializeComponent() CB_Prop.TabIndex = 0; CB_Prop.SelectedIndexChanged += CB_Prop_SelectedIndexChanged; // - // TB_MedalType - // - TB_MedalType.ReadOnly = true; - TB_MedalType.Location = new System.Drawing.Point(212, 103); - TB_MedalType.Name = "TB_MedalType"; - TB_MedalType.Size = new System.Drawing.Size(175, 23); - TB_MedalType.TabIndex = 4; - TB_MedalType.TabStop = false; - // // SAV_Misc5 // AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; @@ -1987,6 +2222,12 @@ private void InitializeComponent() TAB_Subway.ResumeLayout(false); GB_SubwayChecks.ResumeLayout(false); GB_SubwayChecks.PerformLayout(); + GB_CurrentData.ResumeLayout(false); + GB_CurrentData.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)NUD_CurrentType).EndInit(); + ((System.ComponentModel.ISupportInitialize)NUD_CurrentBattle).EndInit(); + GB_SubwaySets.ResumeLayout(false); + GB_SubwaySets.PerformLayout(); GB_SuperMulti.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)NUD_SMultiFriendsRecord).EndInit(); ((System.ComponentModel.ISupportInitialize)NUD_SMultiFriendsPast).EndInit(); @@ -2137,11 +2378,28 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox CHK_SuperDouble; private System.Windows.Forms.CheckBox CHK_SuperSingle; private System.Windows.Forms.Panel PAN_MissionMeta; - private System.Windows.Forms.CheckBox CHK_Subway7; - private System.Windows.Forms.CheckBox CHK_Subway3; - private System.Windows.Forms.CheckBox CHK_Subway2; - private System.Windows.Forms.CheckBox CHK_Subway1; private System.Windows.Forms.CheckBox CHK_Subway0; + private System.Windows.Forms.CheckBox CHK_Subway1; + private System.Windows.Forms.CheckBox CHK_Subway2; + private System.Windows.Forms.CheckBox CHK_Subway3; + private System.Windows.Forms.CheckBox CHK_Subway7; + private System.Windows.Forms.CheckBox CHK_SWNPCMet; + private System.Windows.Forms.GroupBox GB_CurrentData; + private System.Windows.Forms.Label L_CurrentType; + private System.Windows.Forms.Label L_CurrentBattle; + private System.Windows.Forms.NumericUpDown NUD_CurrentType; + private System.Windows.Forms.NumericUpDown NUD_CurrentBattle; + private System.Windows.Forms.GroupBox GB_SubwaySets; + private System.Windows.Forms.Label L_NormalSets; + private System.Windows.Forms.Label L_SuperSets; + private System.Windows.Forms.CheckBox CHK_SingleSet; + private System.Windows.Forms.CheckBox CHK_DoubleSet; + private System.Windows.Forms.CheckBox CHK_MultiNPCSet; + private System.Windows.Forms.CheckBox CHK_MultiFriendsSet; + private System.Windows.Forms.CheckBox CHK_SuperSingleSet; + private System.Windows.Forms.CheckBox CHK_SuperDoubleSet; + private System.Windows.Forms.CheckBox CHK_SuperMultiNPCSet; + private System.Windows.Forms.CheckBox CHK_SuperMultiFriendsSet; private System.Windows.Forms.ComboBox CB_RoamStatus; private System.Windows.Forms.Label L_RoamStatus; private System.Windows.Forms.TabPage TAB_BWCityForest; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs index ac009a427..49ba5031a 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs @@ -13,6 +13,7 @@ public partial class SAV_Misc5 : Form { private readonly SaveFile Origin; private readonly SAV5 SAV; + private readonly BattleSubwayPlay5 swp; private readonly BattleSubway5 sw; private bool editing; @@ -27,6 +28,7 @@ public SAV_Misc5(SAV5 sav) WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = (SAV5)(Origin = sav).Clone(); + swp = SAV.BattleSubwayPlay; sw = SAV.BattleSubway; ReadMain(); LoadForest(); @@ -662,6 +664,10 @@ private void SetForms(EntreeSlot slot) private void ReadSubway() { + // Running Battle Subway Data + NUD_CurrentType.SetValueClamped(swp.CurrentType); + NUD_CurrentBattle.SetValueClamped(swp.CurrentBattle); + // Save Normal Checks CHK_Subway0.Checked = sw.Flag0; CHK_Subway1.Checked = sw.Flag1; @@ -674,6 +680,27 @@ private void ReadSubway() CHK_SuperMulti.Checked = sw.SuperMulti; CHK_Subway7.Checked = sw.Flag7; + // NPC Met Flag + CHK_SWNPCMet.Checked = sw.NPCMet; + + // Current Run Checks + CHK_SingleSet.Checked = sw.SingleSet == (sw.SinglePast / 7 + 1); + L_SinglePast.Text = CHK_SingleSet.Checked ? "Current" : "Past"; + CHK_DoubleSet.Checked = sw.DoubleSet == (sw.DoublePast / 7 + 1); + L_DoublePast.Text = CHK_DoubleSet.Checked ? "Current" : "Past"; + CHK_MultiNPCSet.Checked = sw.MultiNPCSet == (sw.MultiNPCPast / 7 + 1); + L_MultiNpcPast.Text = CHK_MultiNPCSet.Checked ? "Current" : "Past"; + CHK_MultiFriendsSet.Checked = sw.MultiFriendsSet == (sw.MultiFriendsPast / 7 + 1); + L_MultiFriendsPast.Text = CHK_MultiFriendsSet.Checked ? "Current" : "Past"; + CHK_SuperSingleSet.Checked = sw.SuperSingleSet == (sw.SuperSinglePast / 7 + 1); + L_SSinglePast.Text = CHK_SuperSingleSet.Checked ? "Current" : "Past"; + CHK_SuperDoubleSet.Checked = sw.SuperDoubleSet == (sw.SuperDoublePast / 7 + 1); + L_SDoublePast.Text = CHK_SuperDoubleSet.Checked ? "Current" : "Past"; + CHK_SuperMultiNPCSet.Checked = sw.SuperMultiNPCSet == (sw.SuperMultiNPCPast / 7 + 1); + L_SMultiNpcPast.Text = CHK_SuperMultiNPCSet.Checked ? "Current" : "Past"; + CHK_SuperMultiFriendsSet.Checked = sw.SuperMultiFriendsSet == (sw.SuperMultiFriendsPast / 7 + 1); + L_SMultiFriendsPast.Text = CHK_SuperMultiFriendsSet.Checked ? "Current" : "Past"; + // Normal // Single NUD_SinglePast.SetValueClamped(sw.SinglePast); @@ -711,6 +738,10 @@ private void ReadSubway() private void SaveSubway() { + // Running Battle Subway Data + swp.CurrentType = (int)NUD_CurrentType.Value; + swp.CurrentBattle = (int)NUD_CurrentBattle.Value; + // Save Normal Checks sw.Flag0 = CHK_Subway0.Checked; sw.Flag1 = CHK_Subway1.Checked; @@ -723,6 +754,9 @@ private void SaveSubway() sw.SuperMulti = CHK_SuperMulti.Checked; sw.Flag7 = CHK_Subway7.Checked; + // NPC Met Flag + sw.NPCMet = CHK_SWNPCMet.Checked; + // Normal // Single sw.SinglePast = (int)NUD_SinglePast.Value; @@ -756,6 +790,16 @@ private void SaveSubway() // Multi Friends sw.SuperMultiFriendsPast = (int)NUD_SMultiFriendsPast.Value; sw.SuperMultiFriendsRecord = (int)NUD_SMultiFriendsRecord.Value; + + // Current Run Checks + sw.SingleSet = (CHK_SingleSet.Checked ? sw.SinglePast / 7 + 1 : 0); + sw.DoubleSet = (CHK_DoubleSet.Checked ? sw.DoublePast / 7 + 1 : 0); + sw.MultiNPCSet = (CHK_MultiNPCSet.Checked ? sw.MultiNPCPast / 7 + 1 : 0); + sw.MultiFriendsSet = (CHK_MultiFriendsSet.Checked ? sw.MultiFriendsPast / 7 + 1 : 0); + sw.SuperSingleSet = (CHK_SuperSingleSet.Checked ? sw.SuperSinglePast / 7 + 1 : 0); + sw.SuperDoubleSet = (CHK_SuperDoubleSet.Checked ? sw.SuperDoublePast / 7 + 1 : 0); + sw.SuperMultiNPCSet = (CHK_SuperMultiNPCSet.Checked ? sw.SuperMultiNPCPast / 7 + 1 : 0); + sw.SuperMultiFriendsSet = (CHK_SuperMultiFriendsSet.Checked ? sw.SuperMultiFriendsPast / 7 + 1 : 0); } private const string ForestCityBinFilter = "Forest City Bin|*.fc5"; @@ -900,6 +944,46 @@ private void CHK_PropObtained_CheckedChanged(object sender, EventArgs e) SAV.Musical.SetHasProp(CB_Prop.SelectedIndex, CHK_PropObtained.Checked); } + private void CHK_SingleSet_CheckedChanged(object sender, EventArgs e) + { + L_SinglePast.Text = CHK_SingleSet.Checked ? "Current" : "Past"; + } + + private void CHK_DoubleSet_CheckedChanged(object sender, EventArgs e) + { + L_DoublePast.Text = CHK_DoubleSet.Checked ? "Current" : "Past"; + } + + private void CHK_MultiNPCSet_CheckedChanged(object sender, EventArgs e) + { + L_MultiNpcPast.Text = CHK_MultiNPCSet.Checked ? "Current" : "Past"; + } + + private void CHK_MultiFriendsSet_CheckedChanged(object sender, EventArgs e) + { + L_MultiFriendsPast.Text = CHK_MultiFriendsSet.Checked ? "Current" : "Past"; + } + + private void CHK_SuperSingleSet_CheckedChanged(object sender, EventArgs e) + { + L_SSinglePast.Text = CHK_SuperSingleSet.Checked ? "Current" : "Past"; + } + + private void CHK_SuperDoubleSet_CheckedChanged(object sender, EventArgs e) + { + L_SDoublePast.Text = CHK_SuperDoubleSet.Checked ? "Current" : "Past"; + } + + private void CHK_SuperMultiNPCSet_CheckedChanged(object sender, EventArgs e) + { + L_SMultiNpcPast.Text = CHK_SuperMultiNPCSet.Checked ? "Current" : "Past"; + } + + private void CHK_SuperMultiFriendsSet_CheckedChanged(object sender, EventArgs e) + { + L_SMultiFriendsPast.Text = CHK_SuperMultiFriendsSet.Checked ? "Current" : "Past"; + } + private void B_UnlockAllProps_Click(object sender, EventArgs e) { SAV.Musical.UnlockAllMusicalProps(); diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.resx b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.resx index 94a9c4c42..59645230c 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.resx +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.resx @@ -1,4 +1,5 @@ - + +