diff --git a/PKHeX.Core/Saves/SAV1.cs b/PKHeX.Core/Saves/SAV1.cs index 0437d88aa..f199afb2a 100644 --- a/PKHeX.Core/Saves/SAV1.cs +++ b/PKHeX.Core/Saves/SAV1.cs @@ -20,13 +20,13 @@ public sealed class SAV1 : SaveFile, ILangDeviantSave return 1 <= gen && gen <= 2; }).ToArray(); - public SAV1(GameVersion versionOverride = GameVersion.RBY, bool japanese = false) : base(SaveUtil.SIZE_G1RAW) + public SAV1(GameVersion version = GameVersion.RBY, bool japanese = false) : base(SaveUtil.SIZE_G1RAW) { - Version = versionOverride; + Version = version; Japanese = japanese; Offsets = Japanese ? SAV1Offsets.JPN : SAV1Offsets.INT; - Initialize(versionOverride); + Initialize(version); ClearBoxes(); } diff --git a/PKHeX.Core/Saves/SAV2.cs b/PKHeX.Core/Saves/SAV2.cs index 6321fba5c..0f8c20312 100644 --- a/PKHeX.Core/Saves/SAV2.cs +++ b/PKHeX.Core/Saves/SAV2.cs @@ -22,9 +22,9 @@ public sealed class SAV2 : SaveFile, ILangDeviantSave return 1 <= gen && gen <= 2; }).ToArray(); - public SAV2(GameVersion versionOverride = GameVersion.C, LanguageID lang = LanguageID.English) : base(SaveUtil.SIZE_G2RAW_J) + public SAV2(GameVersion version = GameVersion.C, LanguageID lang = LanguageID.English) : base(SaveUtil.SIZE_G2RAW_J) { - Version = versionOverride; + Version = version; switch (lang) { case LanguageID.Japanese: diff --git a/PKHeX.Core/Saves/SAV4.cs b/PKHeX.Core/Saves/SAV4.cs index abd90ce28..07510afed 100644 --- a/PKHeX.Core/Saves/SAV4.cs +++ b/PKHeX.Core/Saves/SAV4.cs @@ -13,9 +13,9 @@ public sealed class SAV4 : SaveFile public override string Filter => (Footer.Length > 0 ? "DeSmuME DSV|*.dsv|" : string.Empty) + "SAV File|*.sav|All Files|*.*"; public override string Extension => ".sav"; - public SAV4(GameVersion versionOverride = GameVersion.HGSS) : base(SaveUtil.SIZE_G4RAW) + public SAV4(GameVersion version = GameVersion.HGSS) : base(SaveUtil.SIZE_G4RAW) { - Version = versionOverride; + Version = version; Initialize(); ClearBoxes(); } @@ -61,8 +61,8 @@ private void Initialize() public override int BoxCount => 18; public override int MaxEV => 255; public override int Generation => 4; - protected override int EventFlagMax => EventFlag > 0 ? 0xB60 : int.MinValue; - protected override int EventConstMax => EventConst > 0 ? (EventFlag - EventConst) >> 1 : int.MinValue; + protected override int EventFlagMax => 0xB60; // 2912 + protected override int EventConstMax => (EventFlag - EventConst) >> 1; protected override int GiftCountMax => 11; public override int OTLength => 7; public override int NickLength => 10; @@ -375,8 +375,8 @@ public override string OT public override int TID { - get => BitConverter.ToUInt16(Data, Trainer1 + 0x10 + 0); - set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Trainer1 + 0x10 + 0); + get => BitConverter.ToUInt16(Data, Trainer1 + 0x10); + set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Trainer1 + 0x10); } public override int SID @@ -391,12 +391,6 @@ public override uint Money set => BitConverter.GetBytes(value).CopyTo(Data, Trainer1 + 0x14); } - public uint Coin - { - get => BitConverter.ToUInt16(Data, Trainer1 + 0x20); - set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Trainer1 + 0x20); - } - public override int Gender { get => Data[Trainer1 + 0x18]; @@ -439,6 +433,12 @@ public int Badges16 } } + public uint Coin + { + get => BitConverter.ToUInt16(Data, Trainer1 + 0x20); + set => BitConverter.GetBytes((ushort)value).CopyTo(Data, Trainer1 + 0x20); + } + public override int PlayedHours { get => BitConverter.ToUInt16(Data, Trainer1 + 0x22); diff --git a/PKHeX.Core/Saves/Util/SaveUtil.cs b/PKHeX.Core/Saves/Util/SaveUtil.cs index 11fc7093c..7d84fbe2e 100644 --- a/PKHeX.Core/Saves/Util/SaveUtil.cs +++ b/PKHeX.Core/Saves/Util/SaveUtil.cs @@ -570,12 +570,12 @@ private static SaveFile GetBlankSAV(GameVersion Game) { case GameVersion.RD: case GameVersion.BU: case GameVersion.GN: case GameVersion.YW: case GameVersion.RBY: - return new SAV1(versionOverride: Game); + return new SAV1(version: Game); case GameVersion.GS: case GameVersion.GD: case GameVersion.SV: - return new SAV2(versionOverride: GameVersion.GS); + return new SAV2(version: GameVersion.GS); case GameVersion.GSC: case GameVersion.C: - return new SAV2(versionOverride: GameVersion.C); + return new SAV2(version: GameVersion.C); case GameVersion.R: case GameVersion.S: case GameVersion.E: case GameVersion.FR: case GameVersion.LG: return new SAV3(version: Game); @@ -596,11 +596,11 @@ private static SaveFile GetBlankSAV(GameVersion Game) case GameVersion.D: case GameVersion.P: case GameVersion.DP: case GameVersion.DPPt: - return new SAV4(GameVersion.DP); + return new SAV4(version: GameVersion.DP); case GameVersion.Pt: - return new SAV4(GameVersion.Pt); + return new SAV4(version: GameVersion.Pt); case GameVersion.HG: case GameVersion.SS: case GameVersion.HGSS: - return new SAV4(GameVersion.HGSS); + return new SAV4(version: GameVersion.HGSS); case GameVersion.B: case GameVersion.W: case GameVersion.BW: return new SAV5BW();