Skip to content

Commit d089ad1

Browse files
committed
[Hi3 Game Repair] Fix CN wrong VA files downloaded
1 parent 2489aed commit d089ad1

2 files changed

Lines changed: 17 additions & 20 deletions

File tree

CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.AsbExt.Cache.cs

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -367,26 +367,23 @@ internal static async Task<KianaDispatch> GetGameServerInfoAsync(
367367
private static AudioLanguageType GetCurrentGameAudioLanguage(PresetConfig presetConfig)
368368
{
369369
using RegistryKey? rootRegistryKey = Registry.CurrentUser.OpenSubKey(presetConfig.ConfigRegistryLocation);
370-
if (rootRegistryKey?.GetValue(PersonalAudioSetting.ValueName) is not byte[] jsonValue)
371-
{
372-
return presetConfig.GameDefaultCVLanguage;
373-
}
370+
return GetAudioLanguageTypeFromString((rootRegistryKey?.GetValue(PersonalAudioSetting.ValueName) as byte[])?
371+
.Deserialize(HonkaiSettingsJsonContext.Default.PersonalAudioSetting)?._userCVLanguage)
372+
?? presetConfig.GameDefaultCVLanguage;
374373

375-
PersonalAudioSetting? audioSetting =
376-
jsonValue.Deserialize(HonkaiSettingsJsonContext.Default.PersonalAudioSetting);
377-
if (audioSetting == null)
374+
static AudioLanguageType? GetAudioLanguageTypeFromString(string? lang)
378375
{
379-
return presetConfig.GameDefaultCVLanguage;
380-
}
376+
if (lang?.StartsWith("Japanese") ?? false)
377+
{
378+
return AudioLanguageType.Japanese;
379+
}
381380

382-
if (audioSetting
383-
._userCVLanguage?
384-
.StartsWith("Chinese", StringComparison.OrdinalIgnoreCase) ?? false)
385-
{
386-
return AudioLanguageType.Chinese;
387-
}
381+
if (lang?.StartsWith("Chinese") ?? false)
382+
{
383+
return AudioLanguageType.Chinese;
384+
}
388385

389-
// Use default value based on preset.
390-
return presetConfig.GameDefaultCVLanguage;
386+
return null;
387+
}
391388
}
392389
}

CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.AsbExt.Video.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ internal static partial class AssetBundleExtension
3434
internal static void RemoveUnlistedVideoAssetFromList(this List<FilePropertiesRemote> originList,
3535
List<FilePropertiesRemote> assetListFromVideo)
3636
{
37-
List<FilePropertiesRemote> originOthersListOnly = originList.Where(x => x.FT != FileType.Video).ToList();
38-
List<FilePropertiesRemote> originVideoListOnly = originList.Where(x => x.FT == FileType.Video).ToList();
37+
List<FilePropertiesRemote> originOthersListOnly = [.. originList.Where(x => x.FT != FileType.Video)];
38+
List<FilePropertiesRemote> originVideoListOnly = [.. originList.Where(x => x.FT == FileType.Video)];
3939
originList.Clear();
4040
originList.AddRange(originOthersListOnly);
4141

@@ -60,7 +60,7 @@ internal static async Task<List<FilePropertiesRemote>>
6060

6161
GameVersion currentVersion = progressibleInstance.GameVersion;
6262

63-
HashSet<int> ignoredCgHashset = new(ignoredCgIds ?? []);
63+
HashSet<int> ignoredCgHashset = [.. ignoredCgIds ?? []];
6464
List<CacheAssetInfo> assetInfoList =
6565
await assetBundleHttpClient
6666
.GetCacheAssetBundleListAsync(presetConfig,

0 commit comments

Comments
 (0)