https://bugs.winehq.org/show_bug.cgi?id=36449
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |27c72ae986fbc6f168e2001b43c | |f80a131de03cd Status|NEW |RESOLVED Resolution|--- |FIXED Summary|Death to Spies: Moment of |Death to Spies: Moment of |Truth crashes on mission |Truth crashes on mission |start (needs |start (incorrect |ID3DXSkinInfo::ConvertToInd |ID3DXSkinInfo::ConvertToInd |exedBlendedMesh |exedBlendedMesh stub |implementation) |signature)
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
indeed it moves further (but quickly crashes again).
https://source.winehq.org/git/wine.git/commitdiff/27c72ae986fbc6f168e2001b43...
Thanks Christian
Fixed stub:
--- snip --- ... 0045:fixme:d3dx:d3dx9_skin_info_ConvertToIndexedBlendedMesh iface 0x59bc78d8, mesh_in 0x59bff860, options 0, palette_size 69, adjacency_in 0x5acafe0, adjacency_out 0x5ad6570, face_remap (nil), vertex_remap (nil), max_face_infl 0x32f1c0, num_bone_combinations 0x32f194, bone_combination_table 0x32f1a0, mesh_out 0x32f164 stub! 0045:Call ntdll.RtlFreeHeap(01060000,00000000,05acafd0) ret=007bf3c1 0045:Ret ntdll.RtlFreeHeap() retval=00000001 ret=007bf3c1 0045:Call ntdll.RtlFreeHeap(01060000,00000000,05ad6560) ret=007bf3c1 0045:Ret ntdll.RtlFreeHeap() retval=00000001 ret=007bf3c1 0045:trace:d3dx:d3dx9_skin_info_Release 0x59bc78d8 decreasing refcount to 0. 0045:Call ntdll.RtlFreeHeap(00110000,00000000,00000000) ret=7e1a5fdf 0045:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e1a5fdf ... --- snip ---
The crash from comment #3 is a different bug.
--- snip --- ... 0045:Call d3dx9_36.D3DXCompileShader(00db66c0,000007da,00000000,0083e5e8,007f61f8 "PS",0032f988 "ps_2_b",00000000,0032f96c,0032f97c,00000000) ret=00430670 0045:trace:d3dx:D3DXCompileShader data "//--------------------------------------------------------------------------\r\n// Depth of field effect\r\n//--------------------------------------------------------------------------\r\n\r\n// version:ps_2_b\r\n\r\nsampler tSource : register(s0);\r\nsampler tSourceLow : register(s1);\r\n\r\n#d"..., length 2010, defines (nil), include 0x83e5e8, function "PS", profile "ps_2_b", flags 0, shader 0x32f96c, error_msgs 0x32f97c, constant_table (nil). ... 0045:Call msvcrt.getenv(0090e168 "D3DCOMPILER_FORCE_PREFER_FLOW") ret=009a8356 0045:Ret msvcrt.getenv() retval=00000000 ret=009a8356 ... 0045:Call msvcrt._vsnprintf(0032ae44,00000f9b,00915468 "global variables are implicitly constant, enable compatibility mode to allow modification",0032be08) ret=00a95726 0045:Ret msvcrt._vsnprintf() retval=00000059 ret=00a95726 ... 0045:Call user32.MessageBoxA(00000000,0106b158 "Failed to compile (shaders\ps\DOF_2b.psh) -> line C:\Program Files\Aspyr\Death to Spies - Moment of Truth Demo\Shader@0x00DB66C0(21,16): error X3025: global variables are implicitly constant, enable compatibility mode to allow modification\n",00844e30 "Error:",00001030) ret=00405f86 ... 0045:Call ntdll.RtlFreeHeap(01060000,00000000,031e8450) ret=007bf3c1 0045:Ret ntdll.RtlFreeHeap() retval=00000001 ret=007bf3c1 0045:trace:seh:raise_exception code=c0000005 flags=0 addr=0x4d1ee3 ip=004d1ee3 tid=0045 0045:trace:seh:raise_exception info[0]=00000000 0045:trace:seh:raise_exception info[1]=deadbeef 0045:trace:seh:raise_exception eax=deadbeef ebx=00000010 ecx=03146720 edx=0324f1c8 esi=031e8418 edi=00000000 0045:trace:seh:raise_exception ebp=0032f930 esp=0032f8d4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0045:trace:seh:call_stack_handlers calling handler at 0x7c9140 code=c0000005 flags=0 0045:trace:seh:call_stack_handlers handler at 0x7c9140 returned 1 0045:trace:seh:call_stack_handlers calling handler at 0x7c9140 code=c0000005 flags=0 ... Unhandled exception: page fault on read access to 0xdeadbeef in 32-bit code (0x004d1ee3). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:004d1ee3 ESP:0032f8d4 EBP:0032f930 EFLAGS:00010202( R- -- I - - - ) EAX:deadbeef EBX:00000010 ECX:03146720 EDX:0324f1c8 ESI:031e8418 EDI:00000000 ... Backtrace: =>0 0x004d1ee3 in truth (+0xd1ee3) (0x0032f930) 1 0x007bfe92 in truth (+0x3bfe91) (0x00db66c0) 2 0x00d30128 (0x00d30088) 3 0x00db66c0 (0x00d30098) 4 0x00d30088 (0x00d300a8) 5 0x00d30098 (0x00d300b8) 6 0x00d300a8 (0x00d300c8) ... 0x004d1ee3: movl 0x0(%eax),%edx Modules: Module Address Debug info Name (187 modules) PE 400000- 8c9000 Export truth PE 8d0000- ad7000 Deferred d3dcompiler_43 PE bf0000- d29000 Deferred vorbis PE 10000000-10022000 Deferred vfs20 ... Threads: process tid prio (all id:s are in hex) ... 00000044 (D) C:\Program Files\Aspyr\Death to Spies - Moment of Truth Demo\Truth.exe 0000003e 0 0000002d 0 0000002c 15 00000047 0 00000046 0 00000045 0 <== --- snip ---
Another tidbit, albeit unrelated to the issue here:
The game needs DXTn software de/encoding support.
I run one of my machines with Fedora 22 x64 and Mesa 10.5.x/Nouveau (no NVIDIA blob):
--- snip --- ... 0027:trace:d3dx:D3DXCreateTextureFromFileInMemoryEx Texture created correctly. Now loading the texture data into it. ... 0027:trace:d3dx:D3DXLoadSurfaceFromMemory (0x1f281c8, (nil), (null), 0xdb6778, 0x35545844, 2048, (nil), (0,0)-(512,512), 0x3, 0x00000000) ... 0027:fixme:d3dx:D3DXLoadSurfaceFromMemory Format conversion missing 0x35545844 -> 0x1c 0027:fixme:d3dx:D3DXCreateTextureFromFileInMemoryEx Texture loading failed. ... 0027:Ret d3dx9_36.D3DXCreateTextureFromFileInMemoryEx() retval=80004001 ret=004486b7 0027:Call KERNEL32.GetLastError() ret=007c9747 0027:Ret KERNEL32.GetLastError() retval=000036b7 ret=007c9747 0027:trace:seh:raise_exception code=c0000005 flags=0 addr=0x4486d5 ip=004486d5 tid=0027 0027:trace:seh:raise_exception info[0]=00000000 0027:trace:seh:raise_exception info[1]=00000000 0027:trace:seh:raise_exception eax=00000000 ebx=00000001 ecx=00844e18 edx=00408470 esi=00db66f8 edi=0187b720 0027:trace:seh:raise_exception ebp=ffffffff esp=0032f978 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010216 0027:trace:seh:call_stack_handlers calling handler at 0x7c9140 code=c0000005 flags=0 --- snip ---
Using the Wine-Staging wined3d-DXTn patchset fixes the problem:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-D...
$ wine --version wine-1.7.43-145-g66480ac
Regards