Skip to content

Commit

Permalink
HoYoPlay API Adjustments (#465)
Browse files Browse the repository at this point in the history
* Change EncTool path

* Use async stream for loading background files

* Fix escaped JSON characters don't get parsed correctly

* Move constant JSON class into inner extension class

* Refactor API Loaders

Using the new ILauncherApi to unify the integration with other types of API (like: HoYoPlay)

* Adding basic HYP to Sophon pkg resource conversion

+ Borrowing HSR version check and game settings for now.

* Adding background image support for HoYoPlay API

* Adding news and carousel panel support for HoYoPlay API

* Fix false Base64 detection on ``GetServeV3String()``

This was causing some installation detection issues where some region/version check related string is falsely detected as Base64 and make the string rendered incorrectly

* Fix some typo and avoid unnecessary buffer alloc on ``ServeV3Data``

+ Also fixes throw while checking for non-existence pre-load property

* Fix crash while changing launcher release channel

* Fix background throw due to null preload property

* Adding new decompressor for .zip package files

Adding USENEWZIPDECOMPRESS to use SharpCompress decompressor with multi-thread zip decompress support.

* Avoid null packages to be proceeded

* Check availability for cache type: "Event" with DLM = 2

* Fix Hi3 Game Repair for version: ``Thelema``

* Re-adding checks if the normal metadata file exists (Hi3)

* FIx "Check Update" button status's center position

* Adjust windows title-bar button style

* Extend maximum threads for download to 16

* Fix TextFillColorBrush on update status button

* Use GetURLStatusCode to check URL status on repair/cache

* Use ``Enum.GetValues<T>()`` instead of ``Enum.GetValues(typeof(T))``

* Fix last exception in ``RetryTimeoutAfter()`` not getting thrown

* Fix threading issues on Install, Repair and Cache mechanism

* Fix Infinity and NaN numbers in ``TotalPerfileProgress``

* Use ``UnNaNInfinity()`` in ``UpdateProgress()``

* Fix data corruption while performing game data migration

* Fix max session exception on Hi3Helper.Http

* Fix float/double to TimeSpan number conversion

This due to the number being a negative infinity

* Bump version

* Add Sophon submodule

* FIx background handler getting disposed on MainPage reload

* Fix region combobox cannot receive input while reloading MainPage

* Adding Sophon testing/usage sample

* Adding Async JSONSerializer helper for Stream

* Use nullable assignment for game package return list

* Update stamp file instead of redownloading if certain config has changed

* Update SharpDiscordRPC submodule

* Adding Sophon submodule and its testing project

* Add new Sophon Chunk download mechanism

* (GSP-SR) Clamp ShadowQuality value

#399

* [i18n] Localize metadata initialization messages

also for game region combobox placeholder

* [skip ci] Sync translation Translate en_US.json in zh_CN

100% reviewed source file: 'en_US.json'
on 'zh_CN'.

* [skip ci] Sync translation Translate en_US.json in ja_JP

100% reviewed source file: 'en_US.json'
on 'ja_JP'.

* (GSP-SR) Clamp all quality values

* (GSP-SR) GraphicsQuality presets

* [skip ci] Sync translation Translate en_US.json in es_419

100% reviewed source file: 'en_US.json'
on 'es_419'.

* [skip ci] Sync translation Translate en_US.json in ja_JP

100% reviewed source file: 'en_US.json'
on 'ja_JP'.

* [skip ci] Sync translation Translate en_US.json in es_419

100% reviewed source file: 'en_US.json'
on 'es_419'.

* Localize Discord RPC Game/Region strings

* Add a way to skip audio patch

Currently only for Star Rail

* (CDN) Add Coding mirror

* [skip ci] Sync translation Translate en_US.json in zh_CN

100% reviewed source file: 'en_US.json'
on 'zh_CN'.

* Update NuGet Dependencies

H.NotifyIcon
https://www.nuget.org/packages/H.NotifyIcon.WinUI#releasenotes-body-tab

HtmlAgilityPack
https://github.com/zzzprojects/html-agility-pack/releases/tag/v1.11.61

WASDK
https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-153-15240428000

TaskScheduler
https://github.com/dahall/TaskScheduler/releases/tag/v2.11.0

* Update NuGet

* Fix build configuration

* Adjustment on CDN RadioButtons style

* Adjustment on CDN RadioButtons style (pt. 2)

* (GSP-SR) Fix fullscreen inconsistency

* Update sophon submodule

* Update sophon submodule

* Add ``PreventSleep()`` to prevent Windows' sleep routine

Co-Authored-By: Bagus Nur Listiyono <28079733+bagusnl@users.noreply.github.com>

* [TaskExtensions] Throw inner exception if completed task is faulty

* [HYP] Add parser for social media icons

* [Sophon] Fix crash caused by empty URL conditions in news API

* [UI] Adjust the social media flyout style

* Implement PreventSleep() on needed methods

* Update GitInfo NuGet and package lock file

* [TaskExtensions] Use the new ``WaitForRetryAsync`` for retrying task

* [UI] Fix inconsistent foreground color for socmed's QR title

* (GSP) Implement mobile layout mode

Only for GI for now

* (GSP) Add delay game launch function on pre launch command

* Update submodules and NuGet

* Use custom style for ``ImageEx``

* Remove unnecessary ``Console.WriteLine()`` under ``CurrentMetadataConfig``

* Use custom style for ``ImageEx`` pt. 2

* Use async WriteLine for logger (also uses .Error and .Out to write)

* Hi3Helper.Sophon adjustment

* Dont catch cancellation exception on PreventSleep

* Show nav sidebar only on hover

* Add drop shadow to nav button

* [skip ci] Sync translation Translate en_US.json in ja_JP

100% reviewed source file: 'en_US.json'
on 'ja_JP'.

* [skip ci] Sync translation Translate en_US.json in zh_CN

100% reviewed source file: 'en_US.json'
on 'zh_CN'.

* [skip ci] Sync translation Translate en_US.json in ja_JP

100% reviewed source file: 'en_US.json'
on 'ja_JP'.

* [skip ci] Sync translation Translate en_US.json in es_419

100% reviewed source file: 'en_US.json'
on 'es_419'.

* Update Hi3Helper.Http submodule

* Fix fallback translation for MobileLayout text

* [skip ci] Sync translation Translate en_US.json in id_ID

100% reviewed source file: 'en_US.json'
on 'id_ID'.

* Remove deprecated CDN (Bitbucket)

* UI Adjustments

+ Adding FontSize property to the CompressedTextBlock
+ Unify ApplyShadow to be used by other elements, moving the code to UIElementExtensions with some changes.
+ Adding StartAnimationDetached to AnimationHelper extension
+ Adjust element sizes on both Normal and Small Size window
+ Minor adjustment on brushes
+ Move the playtme button beside the Quick Settings and Community Tools button
+ Adding shadows to navigation menu icons (by: @shatyuka) and social media icons
+ New layout and adjustments for Carousel and News panel
+ Adjustment on Install, Update and Start game button
+ Adding loading animation while loading ImageEx element

Co-Authored-By: Shatyuka <shatyuka@qq.com>

* [skip ci] Sync translation Translate en_US.json in id_ID

100% reviewed source file: 'en_US.json'
on 'id_ID'.

* Remove unnecessary Lottie package

* Adjust Preload box dialog UI

* Use current thread for animation compositor

* Adjust preload button style to ``AcrylicButtonStyle``

* Use current thread for animation compositor (pt. 2)

* Add 500 ms delay before side panel animation is triggered

* Fix crash on starting animation with no access to thread

* Minor adjustment on loading frame

* Fix task not retrying due to cancellation from linked source

* Fix retry mechanism on API loading not working

* Adjust DisconnectedPage style

* Add HoYoPlay featured event icon and styles

* Fix installation progress bar style

* Update sophon and HYP install mechanism

* fix typo

* change insufficient drive space dialog required type

* fix incorrect package size indicators to the user

THANKS MICROSOFT VERY COOL

This hopefully fixes #445

* update submodule

* update submodule

wrong commit hash 😓

---------

Co-authored-by: Kemal Setya Adhi <dev.kemalsetyaa@gmail.com>
Co-authored-by: Shatyuka <shatyuka@qq.com>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Ron Friedman <cryogen65@gmail.com>
  • Loading branch information
5 people committed May 25, 2024
1 parent d745717 commit 07c021b
Show file tree
Hide file tree
Showing 62 changed files with 3,673 additions and 1,034 deletions.
5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@
url = https://github.com/neon-nyan/ColorThief
[submodule "Hi3Helper.EncTool"]
path = Hi3Helper.EncTool
url = https://github.com/neon-nyan/Hi3Helper.EncTool
url = https://github.com/CollapseLauncher/Hi3Helper.EncTool
[submodule "InnoSetupHelper/InnoSetupLogParser"]
path = InnoSetupHelper/InnoSetupLogParser
url = https://github.com/CollapseLauncher/InnoSetupLogParser
[submodule "Hi3Helper.SharpDiscordRPC"]
path = Hi3Helper.SharpDiscordRPC
url = https://github.com/CollapseLauncher/Hi3Helper.SharpDiscordRPC
[submodule "Hi3Helper.Sophon"]
path = Hi3Helper.Sophon
url = https://github.com/CollapseLauncher/Hi3Helper.Sophon
1 change: 1 addition & 0 deletions .idea/.idea.CollapseLauncher/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 20 additions & 6 deletions CollapseLauncher.sln
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InnoSetupHelper", "InnoSetu
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscordRPC", "Hi3Helper.SharpDiscordRPC\DiscordRPC\DiscordRPC.csproj", "{2004AA88-FFC3-4186-B11A-3E4C577A3D25}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hi3Helper.Sophon.Test", "Hi3Helper.Sophon.Test\Hi3Helper.Sophon.Test.csproj", "{5E97C5A8-EE96-4F47-8CA7-BF4455D12A34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hi3Helper.Sophon", "Hi3Helper.Sophon\Hi3Helper.Sophon.csproj", "{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Expand Down Expand Up @@ -74,12 +78,22 @@ Global
{21691306-8D30-4993-98A2-A5AE0712D81A}.Publish|x64.Build.0 = Release|x64
{21691306-8D30-4993-98A2-A5AE0712D81A}.Release|x64.ActiveCfg = Release|x64
{21691306-8D30-4993-98A2-A5AE0712D81A}.Release|x64.Build.0 = Release|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Debug|x64.ActiveCfg = Debug|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Debug|x64.Build.0 = Debug|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Publish|x64.ActiveCfg = Debug|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Publish|x64.Build.0 = Debug|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Release|x64.ActiveCfg = Release|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Release|x64.Build.0 = Release|Any CPU
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Debug|x64.ActiveCfg = Debug|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Debug|x64.Build.0 = Debug|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Publish|x64.ActiveCfg = Release|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Publish|x64.Build.0 = Release|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Release|x64.ActiveCfg = Release|x64
{2004AA88-FFC3-4186-B11A-3E4C577A3D25}.Release|x64.Build.0 = Release|x64
{5E97C5A8-EE96-4F47-8CA7-BF4455D12A34}.Debug|x64.ActiveCfg = Debug|x64
{5E97C5A8-EE96-4F47-8CA7-BF4455D12A34}.Debug|x64.Build.0 = Debug|x64
{5E97C5A8-EE96-4F47-8CA7-BF4455D12A34}.Publish|x64.ActiveCfg = Release|x64
{5E97C5A8-EE96-4F47-8CA7-BF4455D12A34}.Release|x64.ActiveCfg = Release|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Debug|x64.ActiveCfg = Debug|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Debug|x64.Build.0 = Debug|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Publish|x64.ActiveCfg = Release|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Publish|x64.Build.0 = Release|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Release|x64.ActiveCfg = Release|x64
{3F87DCD0-39B7-4F8C-8F34-A0FC7C6E65A0}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
157 changes: 152 additions & 5 deletions CollapseLauncher/App.xaml

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions CollapseLauncher/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
using Microsoft.UI;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Media;
using PhotoSauce.MagicScaler;
using PhotoSauce.NativeCodecs.Libwebp;
using System;
using System.Collections.Generic;
using System.Linq;
Expand Down Expand Up @@ -84,6 +86,12 @@ public App()
{
ImageLoaderHelper.InitWaifu2X();
}

// Initialize support for MagicScaler's WebP decoding
CodecManager.Configure(codecs =>
{
codecs.UseLibwebp();
});
}
catch (Exception ex)
{
Expand Down
Loading

0 comments on commit 07c021b

Please sign in to comment.