From 19784aaa415e4712596cfdaf6c96cfcf2f310d1a Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 15 Nov 2019 21:01:22 -0800 Subject: [PATCH] Update box format size get fixes importing and exporting concatenated binaries --- PKHeX.Core/Saves/SaveFile.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Saves/SaveFile.cs b/PKHeX.Core/Saves/SaveFile.cs index 9978fb70d..4736c0d6c 100644 --- a/PKHeX.Core/Saves/SaveFile.cs +++ b/PKHeX.Core/Saves/SaveFile.cs @@ -793,7 +793,7 @@ public int ClearBoxes(int BoxStart = 0, int BoxEnd = -1, Func? delete if (BoxEnd < 0) BoxEnd = BoxCount - 1; - var blank = BlankPKM.EncryptedBoxData; + var blank = GetDataForBox(BlankPKM); int deleted = 0; for (int i = BoxStart; i <= BoxEnd; i++) { @@ -877,15 +877,15 @@ public virtual void SetBoxWallpaper(int box, int value) #endregion #region Box Binaries - public byte[] GetPCBinary() => BoxData.SelectMany(pk => pk.EncryptedBoxData).ToArray(); - public byte[] GetBoxBinary(int box) => GetBoxData(box).SelectMany(pk => pk.EncryptedBoxData).ToArray(); + public byte[] GetPCBinary() => BoxData.SelectMany(pk => GetDataForBox(BlankPKM)).ToArray(); + public byte[] GetBoxBinary(int box) => GetBoxData(box).SelectMany(pk => GetDataForBox(BlankPKM)).ToArray(); public bool SetPCBinary(byte[] data) { if (IsRegionOverwriteProtected(0, SlotCount)) return false; - int expectLength = SlotCount * BlankPKM.EncryptedBoxData.Length; + int expectLength = SlotCount * GetDataForBox(BlankPKM).Length; return SetConcatenatedBinary(data, expectLength); } @@ -897,7 +897,7 @@ public bool SetBoxBinary(byte[] data, int box) if (IsRegionOverwriteProtected(start, end)) return false; - int expectLength = BoxSlotCount * BlankPKM.EncryptedBoxData.Length; + int expectLength = BoxSlotCount * GetDataForBox(BlankPKM).Length; return SetConcatenatedBinary(data, expectLength, start); } @@ -907,7 +907,7 @@ private bool SetConcatenatedBinary(byte[] data, int expectLength, int start = 0) return false; var BD = BoxData; - var entryLength = BlankPKM.EncryptedBoxData.Length; + var entryLength = GetDataForBox(BlankPKM).Length; var pkdata = ArrayUtil.EnumerateSplit(data, entryLength); pkdata.Select(GetPKM).CopyTo(BD, IsSlotOverwriteProtected, start); BoxData = BD;