http://bugs.winehq.org/show_bug.cgi?id=31191
Bug #: 31191 Summary: All 'Sona Hanabira ni Kuchizuke wo' games fail to start because of wine buggy string compare implementation. Product: Wine Version: 1.5.8 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: ntrrgc@gmail.com Classification: Unclassified
The engine of Sona Hanabira (among other many games) does use indexed container files for retrieving game resources.
Having a key of type string, it performs binary search within the index to find the resource pointers.
But, because of buggy string compare APIs implementation in wine (mainly StringCompare and StringCompareEx, which are called by lstrcmp and lstrcmpi), comparison returns wrong values, and the seek fail.
At the moment, wine is just comparing DUCET values of each character (which is wrong in very many cases), and ignoring several possibilities of StringCompare API (like IGNORE_KANATYPE, i.e.). Some of them may apply to this bug, some may not. Anyway, it is broken.
For Sona Hanabira games, a workaround is to use this patcher which reorder index entries in the way Wine currently (wrongly) look for them: http://vn.i-forge.net/tools/#sono+hanabira+ni+kuchizuke+wo%C2%B1+linux+wine+...
This bug report is to (hopefully) avoid the need of that patch in the future.
http://bugs.winehq.org/show_bug.cgi?id=31191
Juan Luis ntrrgc@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |http://bugs.winehq.org/show | |_bug.cgi?id=10767, | |http://bugs.winehq.org/show | |_bug.cgi?id=9583
http://bugs.winehq.org/show_bug.cgi?id=31191
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #1 from Dan Kegel dank@kegel.com 2012-07-10 18:24:34 CDT --- Does that app have a home page? Is there a downloadable app that suffers from this same hang/crash/abort?
http://bugs.winehq.org/show_bug.cgi?id=31191
--- Comment #2 from Juan Luis ntrrgc@gmail.com 2012-07-10 20:49:47 CDT --- It does have a home page, but it's quite broken right now. No downloadable test, AFAIK.
On the other hand, reading the index entries, I have noticed that all of them are plain ascii, with no more than [A-Za-z_.].
I wrote a little experiment (http://pastebin.com/DYkyPvAR) and run it both in wine and windows. This is the result: http://mergely.com/eHJ1cHwW/
There can be noticed that order of '_' and '.' (characters which are used in the index) are reversed in order, among others. That might be the cause of the crash.
http://bugs.winehq.org/show_bug.cgi?id=31191
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2012-07-10 22:33:42 CDT --- Duplicate.
*** This bug has been marked as a duplicate of bug 10767 ***
http://bugs.winehq.org/show_bug.cgi?id=31191
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Jerome Leclanche adys.wh@gmail.com 2012-07-19 07:43:51 CDT --- Closing