https://bugs.winehq.org/show_bug.cgi?id=35129
Paul Gofman gofmanp@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gofmanp@gmail.com
--- Comment #6 from Paul Gofman gofmanp@gmail.com --- (In reply to super_man from comment #5)
(In reply to super_man from comment #4)
The default console output isn't very verbose, but the error seem to have changed.
fixme:d3d:wined3d_check_device_format_conversion wined3d 0x6ab8e18, adapter_idx 0, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8X8_UNORM, dst_format WINED3DFMT_B8G8R8X8_UNORM stub! fixme:d3d_surface:surface_init Trying to create a render target that isn't in the default pool.
It just hangs without doing anything,
wine 1.7.50
the same 1.9.6 and staging 1.9.6
The messages above are unrelated. Game trial works fine for me with native d3dcompiler_43.dll, and does not work with the builtin. The relevant log can be seen with WINEDEBUG=+d3dcompiler.
When using native compiler, game displays a window with Try/Buy buttons. When starting it by 'Try' it exits silently.
The first problem comes in D3DAssemble shader preprocessing. Preprocessor gets messed up by single quote chars inside comments (e. g. "; ... it's ..."), it thinks they are unterminated strings and fails. I made a quick fix for that, but it will allow just to pass one screen further. If to fix that, the game displays splash screen, and then fails again silently. Now when it is done with verbose assembly shaders it wants to compile HLSL shader with D3DCompile, and fails on the first shader (the code follows below). This is harder, Wine compiler does not understands LHS swizzles and seemingly something else (there is a probably distinct syntax error which I did not track down).
float4x4 matWVP : register(c0); struct VS_IN { float4 Pos : POSITION; float2 Tex : TEXCOORD0; float4 Color : COLOR; }; struct VS_OUT { float4 Position : POSITION; float4 Diffuse : COLOR0; float2 TexCoord0 : TEXCOORD0; }; VS_OUT VertexShaderSprite( VS_IN In ) { VS_OUT Out;
float4 temppos = In.Pos; temppos.x -= 0.5; temppos.y -= 0.5; Out.Position = mul(matWVP, temppos); Out.Diffuse = In.Color; Out.TexCoord0.x = In.Tex.x; Out.TexCoord0.y = In.Tex.y; return Out; } sampler Texture : register(s0);
float4 PixelShaderSprite( VS_OUT In ) : COLOR0 { float4 FontTexel = tex2D( Texture, In.TexCoord0 ); float4 Color = FontTexel * In.Diffuse; return Color; }