Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Star Rail repair does not regard multiple VO languages #448

Open
bagusnl opened this issue Mar 28, 2024 · 0 comments
Open

[Bug]: Star Rail repair does not regard multiple VO languages #448

bagusnl opened this issue Mar 28, 2024 · 0 comments
Labels
Area: Runtime Issue labeled for runtime, Hi3Helper.Core and other libraries used by Collapse Game: Honkai: Star Rail Issue labeled for Honkai: Star Rail

Comments

@bagusnl
Copy link
Member

bagusnl commented Mar 28, 2024

Affected Version

Collapse 1.73.8

Bug Behavior

Star Rail game repair does not check multiple VO language

Expected Behavior

All installed language should be checked

Steps to reproduce

  1. Install multiple language in Star Rail
  2. Remove or modify one of the pck from unused audio vo
  3. Check repair

Related Issues

No response

Screenshot(s)

No response

Additional Information

There is no pointer on where SR stores all installed VO languages but one way to see it is there is pck files (External*.pck and VoBanks*.pck, Note: HASH file might always be there just cause) inside StarRail_Data\Persistent\Audio\AudioPackage\Windows\[lang] folder as AudioLangRedord.txt (not a typo btw) only contains currently used language

VO lang pointer seems to be saved in StarRail_Data\Persistent\AudioLaucherRecord.txt (again, not a typo) saved as line separated text \r\n
image

Cause

SR Repair only checks using the registry LanguageSettings_LocalAudioLanguage_h882585060
Ref:

private int GetVoiceLanguageID_StarRail(string RegPath)
{
try
{
string regValue;
RegistryKey? keys = Registry.CurrentUser.OpenSubKey(ConfigRegistryLocation!);
byte[]? value = (byte[]?)keys?.GetValue("LanguageSettings_LocalAudioLanguage_h882585060");
if (keys is null || value is null || value.Length is 0)
{
LogWriteLine($"Voice Language ID registry on {RegPath} doesn't exist. Fallback value will be used (2 / ja-jp).", LogType.Warning, true);
return 2;
}
regValue = Encoding.UTF8.GetString(value).AsSpan().Trim('\0').ToString();
return GetStarRailVoiceLanguageByName(regValue);
}

int voLangID = _innerGameVersionManager.GamePreset.GetVoiceLanguageID();

@bagusnl bagusnl added Needs Triaging This issue needs the developer's attention to sort & prioritize. Game: Honkai: Star Rail Issue labeled for Honkai: Star Rail Area: Runtime Issue labeled for runtime, Hi3Helper.Core and other libraries used by Collapse and removed Needs Triaging This issue needs the developer's attention to sort & prioritize. labels Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Runtime Issue labeled for runtime, Hi3Helper.Core and other libraries used by Collapse Game: Honkai: Star Rail Issue labeled for Honkai: Star Rail
Projects
None yet
Development

No branches or pull requests

1 participant