The PR contains lots of changes, bug fixes and some feature additions that will be coming to the launcher in the upcoming major release of Collapse.
To summarize, here's the list of changes included in this PR:
Code Changes
Reducing overhead while fetching launcher's sprites by using local FallbackCDNUtil's HTTP Client method.
Using direct JSON deserialization from FallbackCDNUtil's DownloadAsJSONType<T>() for fetching launcher's API
Improving Color Palette generation by using the latest ColorThief changes.
Moving unrelated methods from BackgroundManagement to RegionManagement
Revert to legacy download mechanism for downloading game packages, where merging the chunk files is required before verification and extraction.
This change is temporary until we make a setting to toggle the feature on or off
Removing overused GC.Collect()
Minor UI Changes, including:
Adding the ability to go back to the previous page
Making title icon clickable for "Back to Homepage" button (Issue: #131)
Adding the ability to disable acrylic effect (Issue: #190)
Adding failsafe if the user chooses invalid folders to be used as "App Folder" for the launcher during the first set-up.
Replace Crc32.NET with System.IO.Hashing
Always try and catch while disposing session stream in Hi3Helper.Http routines
Simplify value comparison by using Generics method of TypeExtensions.IsInstancePropertyEqual<T>() to compare property values between settings class for all Game Settings
Removing unused legacy CheckIntegrity and SteamConversion function calls from Hi3Helper.Core library
This will make maintenance and troubleshooting for anything related to HDiff patching easier and more manageable in the future
Bug Fixes
Fixing broken HSR game repair and cache features (Issue: #206)
Fixing a rare state bug, where the foreground image is shown outside of the home page.
Making Game Conversion feature work again due to regression from InstallManagement rewrite.
Avoid deletion of certain files while using Honkai Impact 3rd's Game Repair feature
Note
Due to the migration from HDiffPatch to SharpHDiffPatch, we are changing the compression format used for Honkai Impact 3rd's Game Conversion and Delta Patch features from LZMA2 to ZStandard. This is due to difficulties we faced during the porting process. The size of the patch might increase slightly, but it's still efficient to keep the file size small enough.
What are the changes?
The PR contains lots of changes, bug fixes and some feature additions that will be coming to the launcher in the upcoming major release of Collapse. To summarize, here's the list of changes included in this PR:
Code Changes
FallbackCDNUtil
's HTTP Client method.FallbackCDNUtil
'sDownloadAsJSONType<T>()
for fetching launcher's APIColorThief
changes.BackgroundManagement
toRegionManagement
GC.Collect()
Crc32.NET
withSystem.IO.Hashing
Hi3Helper.Http
routinesTypeExtensions.IsInstancePropertyEqual<T>()
to compare property values between settings class for all Game SettingsCheckIntegrity
andSteamConversion
function calls fromHi3Helper.Core
libraryApplyAccentColor()
run asynchronouslyBug Fixes
InstallManagement
rewrite.Note
Due to the migration from HDiffPatch to SharpHDiffPatch, we are changing the compression format used for Honkai Impact 3rd's Game Conversion and Delta Patch features from LZMA2 to ZStandard. This is due to difficulties we faced during the porting process. The size of the patch might increase slightly, but it's still efficient to keep the file size small enough.