diff --git a/src/LibHac/Kip.cs b/src/LibHac/Kip.cs index 8e7c89be..d5396ea7 100644 --- a/src/LibHac/Kip.cs +++ b/src/LibHac/Kip.cs @@ -203,7 +203,7 @@ namespace LibHac Kips[i] = new KipReader(); Kips[i].Initialize(Storage.Slice(offset)).ThrowIfFailure(); - offset += Kips[i].GetUncompressedSize(); + offset += Kips[i].GetFileSize(); } } } diff --git a/src/LibHac/Loader/KipReader.cs b/src/LibHac/Loader/KipReader.cs index 708a2c25..a1f6c9e1 100644 --- a/src/LibHac/Loader/KipReader.cs +++ b/src/LibHac/Loader/KipReader.cs @@ -97,7 +97,7 @@ namespace LibHac.Loader } } - private int GetFileSize() + public int GetFileSize() { int size = Unsafe.SizeOf(); @@ -248,7 +248,7 @@ namespace LibHac.Loader if (buffer.Length < totalCompSize + additionalSize) return ResultLibHac.BufferTooSmall.Log(); - Span data = buffer; + Span data = buffer.Slice(compressedDataSize - totalCompSize); int inOffset = totalCompSize - footerSize; int outOffset = totalCompSize + additionalSize;