NicknineTheEagle / Frostbite-Scripts

Python scripts for extracting Frostbite Engine assets
Other
87 stars 14 forks source link

[Request] Please add support for localized voicelines #27

Closed Simo311 closed 2 years ago

Simo311 commented 2 years ago

This script is unable to extract the localized voicelines for games like Battlefield 3/4, it does ONLY extract the English ones. It's been years since i'm trying to get italian or other's languages voicelines from these two games, i would immensely apreciate if you could help me with that!

NicknineTheEagle commented 2 years ago

This is not a dumper issue. It extracts everything but to get localized voice lines you must have them installed to begin with. Origin only installs localization files for the selected language (English in your case). Switch your game to Italian in its properties if you want to get those voice lines. If there's no such option, you're out of luck.

Simo311 commented 2 years ago

But my game has never been in English. When i installed the game I choose Italian, and the game plays so.

NicknineTheEagle commented 2 years ago

ebxtoasset should extract all localized SPS with different numbers at the end when parsing SoundWaveAsset with localized sounds, that's how it works in NFS: The Run.

Simo311 commented 2 years ago

Yes, you're right! Bf4 extraction dumped the voicelines for every language!! But sadly not for bf3, all I got is English audio files, that's really strange... It's like it ignored every other languages beside English... Any suggestions? Also does this script also works with newer Battlefield games? Like Battlefield 1 and V or 2042 open beta? it would be very unfortunate to perform the extraction and finding out that only English voicelines has been extracted. Thanks a ton!

NicknineTheEagle commented 2 years ago

It should work with BF1 but not BFV or later. See README. For BF3, when you run dumper script, does Italian superbundle show up in the log (should be loc\it.toc IIRC)?

Simo311 commented 2 years ago

Not so sure about Italian superbundle in the log, but in the raw extraction bundles\ebx\localization i have 12 files belonging to different localization, inlcunding it_loc.ebx They are small though...

NicknineTheEagle commented 2 years ago

What do you get after parsing voice lines with ebxtoasset? Just one SPS per EBX?

Simo311 commented 2 years ago

Nothing because ebxtoasset operates only within the bundles\ebx\localization\sound folder and it's subfolders, and the localization folder that I pointed at you it's just outside of it, should i include everything in the ebxtoasset convert process?

NicknineTheEagle commented 2 years ago

What? I said voice lines, not localization folder you mentioned. If all the voice lines aren't in localization\sound, then they're clearly elsewhere.

ebxtoasset should extract all localized SPS with different numbers at the end when parsing SoundWaveAsset with localized sounds, that's how it works in NFS: The Run.

Simo311 commented 2 years ago

The English voicelines i have are all coming from bundles\ebx\sound\vo and there o have 2 folders, one called EN (containing all the English localization voicelines) and another one named common (containing all the voicelines shared within all the differents version of the game) but no francais/spanish/italian voices has been found. So clearly there something missing here.

NicknineTheEagle commented 2 years ago

What's inside sound\vo? Just one SPS per EBX with no numbers? Also, can you run ebxtotext on sound/vo folder and post the result?

NicknineTheEagle commented 2 years ago

https://github.com/EmulatorNexus/Venice-EBX/blob/master/Sound/VO/EN/MP/Gamemode/Radio/vo_us_mp_gm_gen_inform_losing_big_r.txt This lists multiple languages with 8 variations per each. Each language is in its own chunk. This is the same setup as NFS: The Run so you should get different languages upon parsing with ebxtoasset, English would be something like vo_us_mp_gm_gen_inform_losing_big_r 7 0 0.sps, French - vo_us_mp_gm_gen_inform_losing_big_r 0 0 0.sps, Italian - vo_us_mp_gm_gen_inform_losing_big_r 1 0 0.sps, etc.

Simo311 commented 2 years ago

https://github.com/EmulatorNexus/Venice-EBX/blob/master/Sound/VO/EN/MP/Gamemode/Radio/vo_us_mp_gm_gen_inform_losing_big_r.txt This lists multiple languages with 8 variations per each. Each language is in its own chunk. This is the same setup as NFS: The Run so you should get different languages upon parsing with ebxtoasset, English would be something like vo_us_mp_gm_gen_inform_losing_big_r 7 0 0.sps, French - vo_us_mp_gm_gen_inform_losing_big_r 0 0 0.sps, Italian - vo_us_mp_gm_gen_inform_losing_big_r 1 0 0.sps, etc.

Thanks a lot! Sorry for the late responses but I'm being very busy with my job. Anyway I'm going to test it by myself as soon as I can, I'll let you know. thanks a lot!!!

NicknineTheEagle commented 2 years ago

Is this still relevant?

Simo311 commented 2 years ago

Is this still relevant?

Yeah sorry, I did not have time since then to try it out :(

NicknineTheEagle commented 2 years ago

I will close this if no updates are posted soon.