From 98278d6b4c0493fdd9547ee7e2a8531623fd7bfc Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Thu, 25 Jul 2024 11:13:23 +0800 Subject: [PATCH] fix #1851 --- .../Snap.Hutao/Resource/Localization/SH.resx | 3 +++ .../Snap.Hutao/Service/Game/LaunchOptions.cs | 1 + .../Service/Game/Package/PackageConverter.cs | 11 +++++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 6621ff90..8d22f31f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -1010,6 +1010,9 @@ 替换:{0} + + 在读取本地 Package Version 时遇到问题,修复游戏可能会有所帮助 + 重命名数据文件夹名称失败 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs index fb8f68df..c5b2fa2e 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs @@ -245,6 +245,7 @@ internal sealed class LaunchOptions : DbStoreOptions set => SetOption(ref disableFog, SettingEntry.LaunchDisableFog, value); } + [NotNull] public NameValue? Monitor { get diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs index 91d23eab..43da232f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs @@ -178,9 +178,16 @@ internal sealed partial class PackageConverter private async ValueTask GetLocalItemsAsync(string gameFolder) { - using (FileStream localSteam = File.OpenRead(Path.Combine(gameFolder, PackageVersion))) + try { - return await GetVersionItemsAsync(localSteam).ConfigureAwait(false); + using (FileStream localSteam = File.OpenRead(Path.Combine(gameFolder, PackageVersion))) + { + return await GetVersionItemsAsync(localSteam).ConfigureAwait(false); + } + } + catch (JsonException ex) + { + throw HutaoException.Throw(SH.ServiceGamePackageReadLocalPackageVerionFailed, ex); } }