http://bugs.winehq.org/show_bug.cgi?id=23356
--- Comment #6 from Alexey Loukianov mooroon2@mail.ru 2012-05-27 22:21:13 CDT --- Created attachment 40310 --> http://bugs.winehq.org/attachment.cgi?id=40310 WINEDEBUG="-all,err+all,fixme+all,fixme-ntdll,fixme-class,fixme-msg,+d3dx,+tid,+loaddll,+fps"
OK, so we've got DDS support mostly implemented but this bug wasn't fixed with it. Had just downloaded Napoleon: Total War demo from Steam and tested it with Wine 1.5.5 + patch that implements D3DXSaveSurfaceToFileInMemory (attachment #40281). Still there's no output at all (i.e. the only thing I've got is a "black screen") unless I install native d3dx9_40.dll into the prefix. Installing native d3dx9_36.dll doesn't fix the problem completely (i.e. using Wine's bult-in forwarding from d3dx9_40 => d3dx9_36) - I've got starting informational screen displayed correctly but then the game simply hangs displaying nothing as soon as it progresses with its startup process up to the point when it's going to playback intro video sequences.
Pretty strange things happen if I install both native d3dx9_40 and d3dx9_36, start the game up at least once and then configure Wine to use built-in d3dx9_40 in winecfg. Doing so results in game starting up successfully and displaying everything as it should. In other words using built-in d3dx9_40 => native d3dx9_36 forwarding doesn't work until the game manages to successfully start up at least once using native d3dx9_40, but as soon as it had managed to successfully start up at least once - using aforementioned forwarding suddenly begins to work without hangs.
Nevertheless, it seems that now the game chokes on non-implemented D3DXCreateEffect* stuff - and that is bug #11675. I had captured relevant logs from game running with built-in d3dx9_36 and d3dx9_40 with d3dx debugging channel enabled. It might be reasonable to close this bug either as FIXED with a note that next one to fix is bug #11675 or simply mark this one as a duplicate of bug #11675.