ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.5k stars 1.07k forks source link

Tower!3D Pro (588190) #8109

Open joni999 opened 1 month ago

joni999 commented 1 month ago

Compatibility Report

System Information

I confirm:

Proton Log: steam-588190.log

An important error with the speech recognition seems to be:

1561.239:0724:0728:trace:mscoree:wine_mono_assembly_preload_hook_v2_fn "System.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
1561.240:0724:0728:trace:mscoree:wine_mono_assembly_preload_hook_v2_fn "System.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" #
Unhandled Exception:
System.TypeLoadException: Could not load type of field 'towerspeakbridge.Speak:synth' (1) due to: Could not load file or assembly 'System.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.

Symptoms

Speech Recognition does not work. In this game you can use your voice to give commands to airplanes, similar to real life. Unfortunately this does not work on Linux as it seems to use some windows components. Also the pilots in the planes should talk back to you in synthesized/artificial voices, but this also does not work and seems to have the same root cause as the first issue.

The rest of the game works without issue.

Reproduction

1) Start the game 2) go into options 3) Press "Test speech" - You should then hear a synthesized voiceline

To test the voice commands I would recommend to start a round and try inputting voice commands by pressing the "shift" key - After the "ding" sound you should be able to say any command into a connected microphone and it should be recognized and shown up in the top.

Screenshot_20240920_181456

Similar issue in the sequel: #8115

madewokherd commented 1 month ago

We probably just need version 3 of this assembly forwarded to version 4. But whether that actually helps will depend on the status of speech synthesis in Proton generally, and I'm not sure about that.

madewokherd commented 1 month ago

Committed a fix to Wine Mono for the library loading error: https://gitlab.winehq.org/mono/mono/-/commit/95d865b7bef9e90b315efb37488c3c87362dd94e

But it's not enough. Now we run into sapi.dll stubs.

Aftermath commented 1 month ago

I also recently attempted this on Proton Experiemental - bleeding edge, but it didn't occur to me that it was even remotely possible for the voice recognition to ever be in a working state.

Thank you for reporting, and thanks for the work on this!