henbagle / LE1CommunityPatch

Issue tracker for the Community Patch mod for Mass Effect 1: Legendary Edition
13 stars 0 forks source link

[GER] Audio-Bug => wrong audio file played #142

Closed Ischtaratu closed 1 year ago

Ischtaratu commented 2 years ago

Describe the bug Announcement that the commander is leaving the ship is also played when the commander returns to the ship. The error occurs when the ship is docked with the Citadel. Error could only be found in the German language version so far. Error also occurred in the original Mass Effect PC version from 2007.

To Reproduce

Expected behavior This is clearly a bug that is neither intended nor helpful in any way. On the contrary, it even destroys the immersion of being the commander of a ship.

Other Considerations I guess there are 2 soundfiles, which should be played accordingly when entering and leaving the ship. It is conceivable that the wrong sound file was referenced by a copy-paste error in the code.

Screenshots & Saves Its an Audio-Bug and could not screend ;)

Game file Unfortunately I don't know in which file the german soundfiles are stored.

Ischtaratu commented 2 years ago

Affected file: Mass Effect Legendary Edition\Game\ME1\BioGame\Content\Packages\ISACT\nor20_trig04_airlock_de.isb.

Problem: two soundfiles DE_nor20_trig04_airlock_00171640_M.wav DE_nor20_trig04_airlock_00171642_M.wav In both soundfiles the same statement is made, the commander has left the ship. However, in the second announcement (00171642) the statement should be made that the commander is back on board, as it is the case in the English language version.

It seems that bioware overwrote the wrong file. perhaps the original file can be reconstructed from an earlier (2007) version of the game.

Ischtaratu commented 2 years ago

after further research it turns out that this bug is also present in the original 2007 version for PC. Which means there was never a correct version of the German translation of the game.

Very sad ...

henbagle commented 1 year ago

Hi, I am going to reopen this and provide a partial fix. After a quick discussion with a forum user, I think it would be appropriate to just completely remove the incorrect line from the german version of the game. All other languages would remain vanilla, the computer voice would just say nothing when Shepard returns in the german localization.

Would you consider this to be an acceptable solution? I would say it is significantly less immersion breaking than leaving the voice line in the game.

Ischtaratu commented 1 year ago

I think it would be an acceptable solution. Since it's not story-relevant and only disturbs the immersion a bit, a removal would be fine.

henbagle commented 1 year ago

Hey, I have a potentially reasonable fix for this but it may be best to just leave it alone. Could also do some more investigation.

Basically, the line will not play as long as the games subtitles are in german. This would mean that for users with English VO but German Subtitles, the line would not play even though the voice over line would be correct. This is because I cannot find a way to stop the FOVO from happening and the subtitle from showing up from the german file, and I seem to be unable to find a way inside UnrealScript to tell which VO language the game is in - only subtitle language.

Ischtaratu commented 1 year ago

Is there a similar language file in ME2 or ME3 that could be replaced ? The ship AI in ME1 doesn't say very much in general. Maybe you could replace something there.

henbagle commented 1 year ago

Okay, fixed this for "real". Line plays in English VO with English Subs, it plays in English VO with German Subs, and it does not play at all with German VO. Unfortunately copying a line from ME2 or ME3 is not possible as we cannot currently add new voiceovers to LE1 as far as I am aware.

New TLK string (200005, "LE1CP:LOC_DE") has been added to the TLK_DE table of the relevant conversation in JUST the LOC_DE versions of BIOA_ICE20_13_PLC_LOC_DE.pcc, BIOA_NOR10_02_DSG_LOC_DE.pcc, BIOA_STA30_08_PLC_LOC_DE.pcc, and BIOA_WAR20_08_PLC_LOC_DE.pcc. All other LOC files remain vanilla. This TLK string is tested against in BIOA_NOR10_02_DSG through a new sequence class. The existence of this TLK string determines whether or not we should play the line. If the string exists, a LOC_DE file is loaded and we should not play the line.

image

Technically this breaks the concept that every same-named export across the game outside of TheWorld should be the exact same, but because the LOC_DE file will never be loaded at the same time as any other LOC file that contains this export, we can get away with it.

LOC_DE files will be included in both the main download and in the Non-English VO download just to keep the entire bugfix together.