From dfb25607078eb2b996147bb9d147baa1d45241b9 Mon Sep 17 00:00:00 2001 From: Alex Barney Date: Thu, 4 Jun 2020 00:52:52 -0700 Subject: [PATCH] Fix ini1 reading and fix a blz decompression bug --- src/LibHac/Kip.cs | 2 +- src/LibHac/Loader/KipReader.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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;