diff --git a/vollerei/common/enums.py b/vollerei/common/enums.py index 9f8e24a..70936fb 100644 --- a/vollerei/common/enums.py +++ b/vollerei/common/enums.py @@ -30,3 +30,23 @@ class VoicePackLanguage(Enum): return VoicePackLanguage.English else: raise ValueError(f"Invalid language string: {s}") + + @staticmethod + def from_zzz_name(s: str) -> "VoicePackLanguage": + """ + Converts a language string from ZZZ file name to a VoicePackLanguage enum. + + Only English is tested for now. + """ + if s == "Jp": + return VoicePackLanguage.Japanese + elif s == "Cn": + return VoicePackLanguage.Chinese + elif s == "Tw": + return VoicePackLanguage.Taiwanese + elif s == "Kr": + return VoicePackLanguage.Korean + elif s == "En": + return VoicePackLanguage.English + else: + raise ValueError(f"Invalid language string: {s}") \ No newline at end of file diff --git a/vollerei/zzz/launcher/game.py b/vollerei/zzz/launcher/game.py index e1cc004..0534de8 100644 --- a/vollerei/zzz/launcher/game.py +++ b/vollerei/zzz/launcher/game.py @@ -277,12 +277,12 @@ class Game(GameABC): voicepacks = [] for child in ( self.data_folder() - .joinpath("StreamingAssets/AudioAssets/AudioPackage/") + .joinpath("StreamingAssets/Audio/Windows/Full/") .iterdir() ): if child.resolve().is_dir(): try: - voicepacks.append(VoicePackLanguage[child.name]) + voicepacks.append(VoicePackLanguage.from_zzz_name(child.name)) except ValueError: pass return voicepacks