https://bugs.winehq.org/show_bug.cgi?id=52393
--- Comment #48 from Piotr Caban piotr.caban@gmail.com --- Created attachment 71824 --> https://bugs.winehq.org/attachment.cgi?id=71824 print mxcsr in relay traces
The mxcsr register is set on process startup so it's not something that can be preset with another application. In order to fix the bug it will be needed to find what and why sets it to incorrect value.
Probably the first step is to find why the game doesn't work in current wine (it works for me). You can try to find what patch is breaking it again after setting control word in scanf/make_double.
Another option is to run with attached patch and WINEDEBUG=relay. The patch prints if _DN_FLUSH is set. The trace look like this: 002c:Call ntdll.NtQueryDefaultLocale(00000000,0031f41c) ret=7b02c3f2 mxcsr=0 After mxcsr is changed it will look like: 002c:Call ntdll.NtQueryDefaultLocale(00000000,0031f41c) ret=7b02c3f2 mxcsr=1 Hopefully it will help find what is setting the _DN_FLUSH flag.