Fix Save Version get/set

Short circuited -> rewritten, removed sav5 getter for Version (handled
by abstract parent class)

Thanks @Favna
This commit is contained in:
Kaphotics 2016-06-29 17:21:59 -07:00
parent 9d36976860
commit a0bade7dc0
3 changed files with 15 additions and 17 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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)); }