From a47debe0f322de64822ac6a6b64fc53fb30587f1 Mon Sep 17 00:00:00 2001 From: Kemal Setya Adhi Date: Tue, 13 Aug 2024 02:15:56 +0700 Subject: [PATCH 1/3] [Attempt 1] Fix Hi3Helper.Http size miscalculation bug --- Hi3Helper.Http | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hi3Helper.Http b/Hi3Helper.Http index 247a28ec3..897827cdb 160000 --- a/Hi3Helper.Http +++ b/Hi3Helper.Http @@ -1 +1 @@ -Subproject commit 247a28ec3c1651f9c5454673f991d8db27fd7510 +Subproject commit 897827cdb2b220f967dc9170434818e8ed35e1ea From 4271e13233d6fb7f5b9eb37bbaf66f9e1dd77a3f Mon Sep 17 00:00:00 2001 From: Kemal Setya Adhi Date: Tue, 13 Aug 2024 02:47:46 +0700 Subject: [PATCH 2/3] Bump version --- CollapseLauncher/CollapseLauncher.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CollapseLauncher/CollapseLauncher.csproj b/CollapseLauncher/CollapseLauncher.csproj index dd946ed9b..3d53aa628 100644 --- a/CollapseLauncher/CollapseLauncher.csproj +++ b/CollapseLauncher/CollapseLauncher.csproj @@ -15,7 +15,7 @@ $(Company). neon-nyan, Cry0, bagusnl, shatyuka, gablm. Copyright 2022-2024 $(Company) - 1.80.18 + 1.80.19 preview x64 From d66c2b4aea20b6ab289c270419546f46cccd6639 Mon Sep 17 00:00:00 2001 From: Kemal Setya Adhi Date: Tue, 13 Aug 2024 03:25:58 +0700 Subject: [PATCH 3/3] Adding HDiff patching and old file removal for ZZZ --- .../BaseClass/InstallManagerBase.cs | 21 ++++++++++--------- .../Zenless/ZenlessInstall.cs | 21 +++++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/CollapseLauncher/Classes/InstallManagement/BaseClass/InstallManagerBase.cs b/CollapseLauncher/Classes/InstallManagement/BaseClass/InstallManagerBase.cs index 5e207bbaa..f2ae9859b 100644 --- a/CollapseLauncher/Classes/InstallManagement/BaseClass/InstallManagerBase.cs +++ b/CollapseLauncher/Classes/InstallManagement/BaseClass/InstallManagerBase.cs @@ -1137,21 +1137,19 @@ private async ValueTask RunPackageVerificationRoutine(GameInstallPackage as private long GetAssetIndexTotalUncompressSize(List assetIndex) { - long returnSize = 0; ArgumentNullException.ThrowIfNull(assetIndex); - foreach (GameInstallPackage asset in assetIndex) - { - using (Stream stream = GetSingleOrSegmentedDownloadStream(asset)) - using (ArchiveFile archiveFile = new ArchiveFile(stream!)) - { - returnSize += archiveFile.Entries.Sum(x => (long)x!.Size); - } - } - + long returnSize = assetIndex.Sum(GetSingleOrSegmentedUncompressedSize); return returnSize; } + private long GetSingleOrSegmentedUncompressedSize(GameInstallPackage asset) + { + using Stream stream = GetSingleOrSegmentedDownloadStream(asset); + using ArchiveFile archiveFile = new ArchiveFile(stream!); + return archiveFile.Entries.Sum(x => (long)x!.Size); + } + private Stream GetSingleOrSegmentedDownloadStream(GameInstallPackage asset) { if (asset == null) return null; @@ -1213,6 +1211,9 @@ protected virtual async Task StartPackageInstallationInner(List? gamePackage = null, + bool isOnlyInstallPackage = false, + bool doNotDeleteZipExplicit = false) + { + // Run the base installation process + await base.StartPackageInstallationInner(gamePackage, isOnlyInstallPackage, doNotDeleteZipExplicit); + + // Then start on processing hdifffiles list and deletefiles list + await ApplyHdiffListPatch(); + ApplyDeleteFileAction(); + + // Update the audio lang list if not in isOnlyInstallPackage mode + if (!isOnlyInstallPackage) + { + WriteAudioLangList(_assetIndex); + } + } + #endregion + #region Override Methods - Audio Lang List protected override void WriteAudioLangList(List gamePackage) {