Skip to content

Commit f30fc35

Browse files
authored
Preview 1.82.14 Release (#665)
# **BLOCKING** > ~~Waiting for SR's 3.0 DLSS option implementation to finalize~~ # What's new? - 1.82.14 - **[Imp]** Optimize Toggling Backdrop Blur effect, by @shatyuka - **[Imp]** Enhanced network exception filtering, by @bagusnl - **[Fix]** Playtime flyout not opening/closing in certain conditions, by @shatyuka - **[Imp]** Optimize language resource loading time, by @shatyuka - **[Imp]** Refactor SteamShortcut methods, by @shatyuka - Fix types mismatches - Support for multi-languages - Compatibility with new Steam formats - Cache Steam grid images - Waiting for asynchronous image downloads - **[Fix]** Text formatting for Git commit link in SettingsPage, by @shatyuka - **[Imp]** SevenZipExtractor improvements, by @neon-nyan - Add async method for extraction - Add ability to adjust buffer size per method call - Use .NET's built-in COMVariant - Fix archive signature-based checking in ArchiveFile(string) method - Ability to use locally installed 7z xtra binaries - Fix wrong types in IInStream and IOutStream - Use sealed class when needed - Use faster GetDataRawRef unmanaged method when initializing entry - Add proper HResult throw when IInArchive method is failing - Set last write time on extracted files - Added support for extracting encrypted archives - **[Imp]** CodeQA on Main project and ColorThief & Win32 submodules, by @neon-nyan - **[New]** Add the ability to disable Zooming behavior for Events panel, by @shatyuka - **[Fix]** [SR] Repair method did not properly write reference file, by @neon-nyan - **[Fix]** Fix performance regression in Zenless settings methods, by @neon-nyan - **[Imp]** Update nuggies, by @neon-nyan - **[New]** Show download and repair progress in Taskbar, by @shatyuka - **[New]** Adding HoYoPlay's HDiffMap implementation for patching files with HDiff, by @neon-nyan - This process is going to be used starting on Honkai: Star Rail 3.0 update. Also, this feature is implemented to avoid files being unable to get patched due to changes in HDiff mapping format. - The entire reason this version had to be pushed early, tank - **[New]** Implement DLSS option for Honkai: Star Rail Game Settings, by @Cryotechnic & @shatyuka - **[Loc]** Sync locales, by localizers <3 ### Templates <details> <summary>Changelog Prefixes</summary> ``` **[New]** **[Imp]** **[Fix]** **[Loc]** **[Doc]** ``` </details>
2 parents 89aef0d + 508fcfd commit f30fc35

File tree

162 files changed

+3450
-2518
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+3450
-2518
lines changed

.github/workflows/build.yml

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,30 @@ on:
77
push:
88
branches:
99
- 'main'
10+
paths-ignore:
11+
- '**.md'
12+
- 'Hi3Helper.Core/Lang/**.json'
13+
- 'Docs/**'
14+
- '**/packages.lock.json'
1015
pull_request:
1116
branches-ignore:
1217
- 'stable'
1318
- 'preview'
1419
- 'translations_**'
20+
paths-ignore:
21+
- '**.md'
22+
- 'Hi3Helper.Core/Lang/**.json'
23+
- 'Docs/**'
24+
- '**/packages.lock.json'
1525
# schedule:
1626
# - cron: '0 0 * * 0' # At 00:00 on Sunday
1727

28+
env:
29+
DOTNET_INSTALL_DIR: '.\.dotnet'
30+
DOTNET_VERSION: '9.x'
31+
DOTNET_QUALITY: 'ga'
32+
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
33+
1834
jobs:
1935
build:
2036
# runs-on: [self-hosted, linux]
@@ -28,10 +44,6 @@ jobs:
2844
env:
2945
Configuration: ${{ matrix.configuration }}
3046
Platform: ${{ matrix.platform }}
31-
DOTNET_INSTALL_DIR: '.\.dotnet'
32-
DOTNET_VERSION: '9.x'
33-
DOTNET_QUALITY: 'ga'
34-
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
3547

3648
steps:
3749
- name: Checkout
@@ -47,6 +59,9 @@ jobs:
4759
cache: true
4860
cache-dependency-path: CollapseLauncher/packages.lock.json
4961

62+
- name: Update .NET workload
63+
run: dotnet workload update
64+
5065
- name: Build
5166
run: |
5267
dotnet publish CollapseLauncher -c ${{matrix.Configuration}} -p:PublishProfile=Publish-DebugCIRelease -p:PublishDir=".\debug-build\"
@@ -69,10 +84,6 @@ jobs:
6984
env:
7085
Configuration: ${{ matrix.configuration }}
7186
Platform: ${{ matrix.platform }}
72-
DOTNET_INSTALL_DIR: '.\.dotnet'
73-
DOTNET_VERSION: '9.x'
74-
DOTNET_QUALITY: 'ga'
75-
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
7687

7788
steps:
7889
- name: Checkout
@@ -88,21 +99,31 @@ jobs:
8899
cache: true
89100
cache-dependency-path: CollapseLauncher/packages.lock.json
90101

91-
# - name: Restore
92-
# run: dotnet restore CollapseLauncher --locked-mode
93-
# Don't need to do restore explicitly, should be done on Build time
94-
102+
- name: Update .NET workload
103+
run: dotnet workload update
104+
95105
- name: Build
96106
run: |
97107
dotnet publish CollapseLauncher -c ${{matrix.Configuration}} -p:PublishProfile=Publish-DebugCIReleaseAOT -p:PublishDir=".\debug-aot-build\"
98-
108+
109+
- name: Upload debug symbols
110+
uses: actions/upload-artifact@v4
111+
with:
112+
name: aot-experimental-symbols_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
113+
path: ./CollapseLauncher/debug-aot-build/**/*.pdb
114+
compression-level: 9
115+
116+
- name: Remove debug symbols
117+
run: |
118+
Remove-Item -Path "./CollapseLauncher/debug-aot-build/*.pdb" -Recurse -Force
119+
99120
- name: Upload Artifact
100121
uses: actions/upload-artifact@v4
101122
with:
102-
name: aot-experimental_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
103-
path: ./CollapseLauncher/debug-aot-build/
104-
compression-level: 9
105-
123+
name: aot-experimental_collapse_${{ matrix.platform }}-${{ matrix.configuration }}_${{ matrix.framework }}_${{ github.sha }}
124+
path: ./CollapseLauncher/debug-aot-build/
125+
compression-level: 9
126+
106127
notify-discord:
107128
runs-on: ubuntu-latest
108129
if: always()

.github/workflows/qodana-scan-pr.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
name: Qodana for Pull Request
22
on:
33
pull_request:
4-
branches:
5-
- main
6-
- preview
7-
- stable
4+
branches:
5+
- main
6+
- preview
7+
- stable
8+
paths-ignore:
9+
- '**.md'
10+
- 'Hi3Helper.Core/Lang/**.json'
11+
- 'Docs/**'
12+
- '**/packages.lock.json'
813

914
jobs:
1015
qodana:
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# Credits to @Scighost from Starward for his contributions!
2+
name: Publish Signed Builds
3+
#run-name: Canary Build for ${{ github.ref }}
4+
5+
on:
6+
workflow_dispatch:
7+
inputs:
8+
branch:
9+
description: 'Specify branch name (preview/stable/github-signpath-test)'
10+
required: true
11+
default: 'github-signpath-test'
12+
13+
env:
14+
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
15+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
16+
DOTNET_INSTALL_DIR: '.\.dotnet'
17+
DOTNET_VERSION: '9.x'
18+
DOTNET_QUALITY: 'ga'
19+
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
20+
SIGNPATH_ARTIFACT_SLUG: 'initial' # change this to 'aot-release' when releasing with AOT
21+
22+
# schedule:
23+
# - cron: '0 0 * * 0' # At 00:00 on Sunday
24+
25+
jobs:
26+
build:
27+
runs-on: windows-latest
28+
strategy:
29+
matrix:
30+
platform: [x64]
31+
framework: [net9.0-windows10.0.22621.0]
32+
33+
env:
34+
CONFIGURATION_STRATEGY: ""
35+
PUBLISH_PROFILE: ""
36+
SIGNING_POLICY_SLUG: ""
37+
VERSION: ""
38+
Platform: ${{ matrix.platform }}
39+
40+
41+
steps:
42+
- name: Set Configuration and Environment Variables
43+
id: set_env
44+
run: |
45+
if ($env:GITHUB_EVENT_NAME -eq "workflow_dispatch") {
46+
$branch = $env:GITHUB_EVENT_INPUTS_BRANCH
47+
} else {
48+
$branch = $env:GITHUB_REF_NAME
49+
}
50+
51+
if ($branch -eq "preview") {
52+
echo "CONFIGURATION_STRATEGY=Release" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
53+
echo "PUBLISH_PROFILE=Publish-PreviewRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
54+
echo "SIGNING_POLICY_SLUG=release-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
55+
} elseif ($branch -eq "stable") {
56+
echo "CONFIGURATION_STRATEGY=Publish" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
57+
echo "PUBLISH_PROFILE=Publish-StableRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
58+
echo "SIGNING_POLICY_SLUG=release-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
59+
} elseif ($branch -eq "github-signpath-test") {
60+
echo "CONFIGURATION_STRATEGY=Debug" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
61+
echo "PUBLISH_PROFILE=Publish-DebugCIRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
62+
echo "SIGNING_POLICY_SLUG=test-signing" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
63+
} else {
64+
Write-Error "Unknown branch or input: $branch"
65+
exit 1
66+
}
67+
68+
- name: Print env
69+
run: |
70+
echo Configuration Strategy: $env:CONFIGURATION_STRATEGY
71+
echo Publish Profile: $env:PUBLISH_PROFILE
72+
echo Signing Policy: $env:SIGNING_POLICY_SLUG
73+
74+
- name: Checkout
75+
uses: actions/checkout@v4
76+
with:
77+
submodules: recursive
78+
79+
- name: Install .NET
80+
uses: actions/setup-dotnet@v4
81+
with:
82+
dotnet-version: ${{ env.DOTNET_VERSION }}
83+
dotnet-quality: ${{ env.DOTNET_QUALITY }}
84+
cache: true
85+
cache-dependency-path: CollapseLauncher/packages.lock.json
86+
87+
- name: Build
88+
run: |
89+
dotnet publish CollapseLauncher -c ${{ env.CONFIGURATION_STRATEGY }} -p:PublishProfile=${{ env.PUBLISH_PROFILE }} -p:PublishDir=".\build\"
90+
91+
- name: Prepare publish artifacts
92+
run: |
93+
.\build\CollapseLauncher.exe generatevelopackmetadata
94+
$version = ((Get-Item .\build\CollapseLauncher.exe).VersionInfo.FileVersion).TrimEnd(".0")
95+
echo Build version: $version
96+
echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
97+
mkdir SignArtifact
98+
mkdir SignArtifact\BuildArtifact-$version
99+
xcopy .\build\ "SignArtifact\BuildArtifact-$version\" /E /K /Y /I
100+
101+
- name: Upload Artifact (unsigned)
102+
id: upload-unsigned-artifact
103+
uses: actions/upload-artifact@v4
104+
with:
105+
name: collapse_${{ env.SIGNING_POLICY_SLUG }}-${{ env.CONFIGURATION_STRATEGY }}_${{ env.PUBLISH_PROFILE }}
106+
path: ./CollapseLauncher/SignArtifact
107+
compression-level: 9
108+
109+
- name: Sign Build Artifact with SignPath
110+
uses: signpath/[email protected]
111+
with:
112+
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
113+
organization-id: ${{ secrets.SIGNPATH_ORG_ID }}
114+
project-slug: 'Collapse'
115+
signing-policy-slug: ${{ env.SIGNING_POLICY_SLUG }}
116+
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
117+
wait-for-completion: true
118+
output-artifact-directory: '/SignedArtifact/'
119+
120+
- name: Process Signed Build
121+
run: |
122+
$buildDir = '\SignedArtifact\BuildArtifact-${{ env.VERSION }}'
123+
echo Re-checking build version
124+
echo ((Get-Item $buildDir\CollapseLauncher.exe).VersionInfo.FileVersion).TrimEnd(".0")
125+
126+
- name: Re-upload Signed Artifact to GitHub
127+
uses: actions/upload-artifact@v4
128+
with:
129+
name: (SIGNED)collapse_${{ env.SIGNING_POLICY_SLUG }}-${{ env.CONFIGURATION_STRATEGY }}_${{ env.PUBLISH_PROFILE }}
130+
path: /SignedArtifact
131+
compression-level: 9
132+
133+
notify-discord:
134+
runs-on: ubuntu-latest
135+
if: always()
136+
needs: [build]
137+
steps:
138+
- name: Notify Discord
139+
uses: sarisia/[email protected]
140+
if: always()
141+
continue-on-error: true
142+
with:
143+
webhook: ${{ secrets.DISCORD_WEBHOOK_NIGHTLY }}
144+
title: Collapse Launcher CI build is complete!
145+
status: ${{ job.status }}
146+
description: |
147+
Commit `${{ github.sha }}` by ${{ github.actor }}
148+
Click [here](https://nightly.link/CollapseLauncher/Collapse/actions/runs/${{ github.run_id }}) to download!
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: VirusTotal Scan for Releases
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
virustotal:
9+
runs-on: ubuntu-latest
10+
steps:
11+
-
12+
name: VirusTotal Scan
13+
uses: crazy-max/ghaction-virustotal@v4
14+
with:
15+
vt_api_key: ${{ secrets.VT_API_KEY }}
16+
update_release_body: true
17+
github_token: ${{ secrets.GITHUB_TOKEN }}
18+
files: |
19+
*.exe
20+
*.7z

CollapseLauncher/App.xaml.cs

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@
66
using Hi3Helper.Win32.Native.Enums;
77
using Hi3Helper.Win32.Native.LibraryImport;
88
using Microsoft.UI;
9+
using Microsoft.UI.Private.Media;
910
using Microsoft.UI.Xaml;
10-
using Microsoft.UI.Xaml.Media;
1111
using PhotoSauce.MagicScaler;
1212
using PhotoSauce.NativeCodecs.Libwebp;
1313
using System;
14-
using System.Linq;
1514
using Windows.UI;
1615
using static CollapseLauncher.InnerLauncherConfig;
1716
using static Hi3Helper.Logger;
@@ -150,27 +149,7 @@ protected override void OnLaunched(LaunchActivatedEventArgs args)
150149

151150
public static void ToggleBlurBackdrop(bool useBackdrop = true)
152151
{
153-
// Enumerate the dictionary (MergedDictionaries)
154-
foreach (ResourceDictionary resource in Current!.Resources!.MergedDictionaries!)
155-
{
156-
// Parse the dictionary (ThemeDictionaries) and read the type of KeyValuePair<object, object>,
157-
// then select the value, get the type of ResourceDictionary, then enumerate it
158-
foreach (ResourceDictionary list in resource!
159-
.ThemeDictionaries!
160-
.Select(x => x.Value)
161-
.OfType<ResourceDictionary>())
162-
{
163-
// Parse the dictionary as type of KeyValuePair<object, object>,
164-
// and get the value which has type of AcrylicBrush only, then enumerate it
165-
foreach (AcrylicBrush theme in list
166-
.Select(x => x.Value)
167-
.OfType<AcrylicBrush>())
168-
{
169-
// Set the theme AlwaysUseFallback as per toggle from useBackdrop.
170-
theme.AlwaysUseFallback = !useBackdrop;
171-
}
172-
}
173-
}
152+
MaterialHelperTestApi.SimulateDisabledByPolicy = !useBackdrop;
174153
}
175154
}
176155
}

CollapseLauncher/Classes/CachesManagement/Honkai/Check.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using CollapseLauncher.Helper;
1+
using CollapseLauncher.Helper.StreamUtility;
22
using CollapseLauncher.Interfaces;
33
using Hi3Helper;
44
using System;

CollapseLauncher/Classes/CachesManagement/Honkai/Update.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using CollapseLauncher.Helper.StreamUtility;
12
using CollapseLauncher.Helper;
23
using CollapseLauncher.Interfaces;
34
using Hi3Helper;

0 commit comments

Comments
 (0)