https://bugs.winehq.org/show_bug.cgi?id=37807
Bug ID: 37807 Summary: Anno 2070: digit group separators are displayed incorrectly Product: Wine Version: 1.7.9 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: yurishish@gmail.com Distribution: ---
Created attachment 50352 --> https://bugs.winehq.org/attachment.cgi?id=50352 Wrong behaviour (wine 1.7.9)
Anno 2070 separates digit groups in big numbers with spaces. In wine 1.7.9 and later this separators are displayed incorrectly. Game shows square (□) instead of space. This bug presents in all wine versions since 1.7.9. I did regression testing and found bad commit:
6d30d6be78a49e1add6d8c7886484a2ceb950c71 is the first bad commit commit 6d30d6be78a49e1add6d8c7886484a2ceb950c71 Author: Alexandre Julliard Date: Thu Dec 19 17:02:11 2013 +0100
msvcp100: Share the source code with msvcp90.
:040000 040000 8472290a57eeeb332f2c3a29c629baaabc438bf3 4ead5763a482e786809844f7b8f55d5ccbc829ea M dlls
This commit cannot be reversed due to its big size (almost 1MB). However, overriding msvcp100 to Native fixes this problem.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #1 from Yuri Shishenko yurishish@gmail.com --- Created attachment 50353 --> https://bugs.winehq.org/attachment.cgi?id=50353 Correct behaviour
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- I don't think it's a regression, it most likely never worked, only previously it was defaulting to native so you wouldn't notice it.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #3 from Yuri Shishenko yurishish@gmail.com --- (In reply to Alexandre Julliard from comment #2)
I don't think it's a regression, it most likely never worked, only previously it was defaulting to native so you wouldn't notice it.
You are right. I set msvcp100 to Native in 1.7.8 and game showed similar result as in 1.7.9 or later versions.
https://bugs.winehq.org/show_bug.cgi?id=37807
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |msvcp
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- Yuri, could you attach +msvcp,+tid log running this game? I suspect it could be huge, but it's probably possible to reduce it to lines that contain numbers/strings that are affected by this formatting issue.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #5 from Yuri Shishenko yurishish@gmail.com --- (In reply to Nikolay Sivov from comment #4)
Yuri, could you attach +msvcp,+tid log running this game? I suspect it could be huge, but it's probably possible to reduce it to lines that contain numbers/strings that are affected by this formatting issue.
I cannot do that. After pressing Play button in uplay, log gets spammed with
trace:msvcp:_Towlower (109 0x47d4858) trace:msvcp:locale_id_operator_size_t (0x7e612110)
lines and game doesnt starts. Too see the results game should be fully loaded.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Yuri Shishenko from comment #5)
(In reply to Nikolay Sivov from comment #4)
Yuri, could you attach +msvcp,+tid log running this game? I suspect it could be huge, but it's probably possible to reduce it to lines that contain numbers/strings that are affected by this formatting issue.
I cannot do that. After pressing Play button in uplay, log gets spammed with
trace:msvcp:_Towlower (109 0x47d4858) trace:msvcp:locale_id_operator_size_t (0x7e612110)
It could slow down an application, but it doesn't mean you can't use logging. Just wait longer.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #7 from Yuri Shishenko yurishish@gmail.com --- (In reply to Nikolay Sivov from comment #6)
(In reply to Yuri Shishenko from comment #5)
(In reply to Nikolay Sivov from comment #4)
Yuri, could you attach +msvcp,+tid log running this game? I suspect it could be huge, but it's probably possible to reduce it to lines that contain numbers/strings that are affected by this formatting issue.
I cannot do that. After pressing Play button in uplay, log gets spammed with
trace:msvcp:_Towlower (109 0x47d4858) trace:msvcp:locale_id_operator_size_t (0x7e612110)
It could slow down an application, but it doesn't mean you can't use logging. Just wait longer.
OK. Game started and i killed it after it displayed numbers incorrectly. Generated log is 7GB big. What should i do next?
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- Now that you have it you could grep it for relevant strings/numbers. What we need is to figure out how those strings are formatted and which functions from msvcp are used.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #9 from Yuri Shishenko yurishish@gmail.com --- (In reply to Nikolay Sivov from comment #8)
Now that you have it you could grep it for relevant strings/numbers. What we need is to figure out how those strings are formatted and which functions from msvcp are used.
I think this bug is somehow related to work with wide characters. There's lots of _Mbrtowc, ctype_wchar_widen_ch, ctype_wchar__Dowiden functions.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #10 from Yuri Shishenko yurishish@gmail.com --- Created attachment 50361 --> https://bugs.winehq.org/attachment.cgi?id=50361 +msvcp,+tid log
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #11 from Yuri Shishenko yurishish@gmail.com --- I just found another artifact caused by this bug: game shows date incorrectly https://imgur.com/a/kLeyB (top image — with native msvcp100, correct behviour, bottom image — with builtin msvcp100).
https://bugs.winehq.org/show_bug.cgi?id=37807
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #12 from Piotr Caban piotr.caban@gmail.com --- What language is the game in?
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #13 from Yuri Shishenko yurishish@gmail.com --- (In reply to Piotr Caban from comment #12)
What language is the game in?
Russian.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #14 from Piotr Caban piotr.caban@gmail.com --- Thousand separator should be displayed correctly now. Could you please check if it works for you (in newest wine from git)?
I've also sent a patch that should fix date display error but it's not yet in wine.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #15 from Yuri Shishenko yurishish@gmail.com --- (In reply to Piotr Caban from comment #14)
Thousand separator should be displayed correctly now. Could you please check if it works for you (in newest wine from git)?
I've also sent a patch that should fix date display error but it's not yet in wine.
Compiled wine from git and set msvcp100 to Native. Here is result: http://i.imgur.com/BlJXO8o.png
Digits are displayed properly but date is wrong, as you said.
https://bugs.winehq.org/show_bug.cgi?id=37807
--- Comment #16 from Yuri Shishenko yurishish@gmail.com --- Looks like date fix is also available in git. In my previous comment i made a typo: i wrote that set msvcp to Native, in fact i set it to Builtin (wine), just rechecked.
https://bugs.winehq.org/show_bug.cgi?id=37807
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e899bd82491a3eb5b73f716b89c | |4a3c702cb060f Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #17 from Piotr Caban piotr.caban@gmail.com --- Marking as fixed.
https://bugs.winehq.org/show_bug.cgi?id=37807
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.35.