From a0bade7dc0d8738f4e67fc945e5a892f4ab09a7a Mon Sep 17 00:00:00 2001 From: Kaphotics Date: Wed, 29 Jun 2016 17:21:59 -0700 Subject: [PATCH] Fix Save Version get/set Short circuited -> rewritten, removed sav5 getter for Version (handled by abstract parent class) Thanks @Favna --- Saves/SAV3.cs | 6 +++++- Saves/SAV4.cs | 6 +++++- Saves/SAV5.cs | 20 +++++--------------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Saves/SAV3.cs b/Saves/SAV3.cs index 411aaae72..ae1388f97 100644 --- a/Saves/SAV3.cs +++ b/Saves/SAV3.cs @@ -39,7 +39,11 @@ public SAV3(byte[] data = null, GameVersion versionOverride = GameVersion.Any) BAK = (byte[])Data.Clone(); Exportable = !Data.SequenceEqual(new byte[Data.Length]); - Version = versionOverride == GameVersion.Any ? GameVersion.FRLG : SaveUtil.getIsG3SAV(Data); + if (data == null) + Version = GameVersion.FRLG; + else if (versionOverride != GameVersion.Any) + Version = versionOverride; + else Version = SaveUtil.getIsG3SAV(Data); if (Version == GameVersion.Invalid) return; diff --git a/Saves/SAV4.cs b/Saves/SAV4.cs index 8bd1a9cd8..5356c733f 100644 --- a/Saves/SAV4.cs +++ b/Saves/SAV4.cs @@ -15,7 +15,11 @@ public SAV4(byte[] data = null, GameVersion versionOverride = GameVersion.Any) Exportable = !Data.SequenceEqual(new byte[Data.Length]); // Get Version - Version = versionOverride == GameVersion.Any ? GameVersion.HGSS : SaveUtil.getIsG4SAV(Data); + if (data == null) + Version = GameVersion.HGSS; + else if (versionOverride != GameVersion.Any) + Version = versionOverride; + else Version = SaveUtil.getIsG4SAV(Data); if (Version == GameVersion.Invalid) return; diff --git a/Saves/SAV5.cs b/Saves/SAV5.cs index 05be1aff0..8b17dc7d9 100644 --- a/Saves/SAV5.cs +++ b/Saves/SAV5.cs @@ -17,7 +17,11 @@ public SAV5(byte[] data = null, GameVersion versionOverride = GameVersion.Any) Exportable = !Data.SequenceEqual(new byte[Data.Length]); // Get Version - Version = versionOverride == GameVersion.Any ? GameVersion.B2W2 : SaveUtil.getIsG5SAV(Data); + if (data == null) + Version = GameVersion.B2W2; + else if (versionOverride != GameVersion.Any) + Version = versionOverride; + else Version = SaveUtil.getIsG5SAV(Data); if (Version == GameVersion.Invalid) return; @@ -503,20 +507,6 @@ public override MysteryGiftAlbum GiftAlbum protected override MysteryGift[] MysteryGiftCards { get { return new MysteryGift[0]; } set { } } // Trainer Info - public override GameVersion Version - { - get - { - switch (Game) - { - case 20: return GameVersion.W; - case 21: return GameVersion.B; - case 22: return GameVersion.W2; - case 23: return GameVersion.B2; - } - return GameVersion.Unknown; - } - } public override string OT { get { return PKX.TrimFromFFFF(Encoding.Unicode.GetString(Data, Trainer1 + 0x4, 16)); }