http://bugs.winehq.org/show_bug.cgi?id=10459
Daniele C. legolas558@email.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Difficulty|--- |Weeks Keywords| |conformance, download
--- Comment #5 from Daniele C. legolas558@email.it 2007-11-26 04:15:13 --- I think I have narrowed down the problem as best as I can. Now it's time for somebody else to give it a look, since I cannot continue due to my lacking skills.
The problem is that a certain RenderWare structure contains a 32bit field which is set to 0 in Wine, and to 8 in Windows XP. That's the bit depth, I guess. Actually Windows XP executes it in fullscreen and maybe it is giving the correct bit depth to it, while Wine fails to do this.
I have patched rwl20.dll as follows:
0001E910 47 28 09 00 00 00 89 47 1C 89 47 20 8B C7 5F 5E 0001E920 5B C2 0C 00 B9 08 00 00 00 89 48 14 EB 0E CC CC 0001E930 A1 D4 25 7D 01 90 90 EB EB 8B 48 14 8B 44 24 04 0001E940 51 52 50 E8 18 FF FF FF C2 08 00 CC CC CC CC CC
This code will set the 32bit field with value 8 (as it is on Windows XP) and continue execution.
However the game crashes elsewhere, so the problem must be solved at the root.
It is strange that the menu works correctly (except the hovering text which is not displayed at all), while the 3d mode - which uses RenderWare engine - fails.
The Smacker Videos also show correctly, except that they are at ultra-speed under certain conditions.