https://bugs.winehq.org/show_bug.cgi?id=52393
--- Comment #22 from labre@posteo.de --- Created attachment 71712 --> https://bugs.winehq.org/attachment.cgi?id=71712 Fixing patch against regression commit
Hm, I strongly suspect, that make_double/fpnum_double returns infinity due to some unexpected or invalid double format, which might be given by the game, leading to the textures being misplaced, well, by infinity.
The major difference made by the commit is, that the _control87 call is removed, which allows most likely invalid double formats or maths operations. Moving this call into the function and reverting it before any returns fixes this bug.
It’s still odd, that you can’t reproduce it. At first I thought the decimal separator might be the difference, because my locale (de_DE.utf8) uses comma, however setting LC_ALL=en_US.utf8 in environment or registry did not make a difference, even when installing the English version of the game. What version of GCC/C library are you using and what is your locale?
I’m currently compiling wine-vanilla-7.0 with the ported version of the patch. Let’s see, whether it works.