[Bug 28343] UFO: Extraterrestrials Gold - crash at start unless native d3dx9_26 (or d3dx_36) is used

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Sep 20 09:49:01 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=28343

--- Comment #4 from Alexey Loukianov <mooroon2 at mail.ru> 2011-09-20 09:49:01 CDT ---
(In reply to comment #3)
> I would check it with +loaddll "just in case" and post results here.

OK, checked and confirmed that the game itself require native d3dx9_26.dll as
it's the first one it tries to load at start and it doesn't try to load
d3dx9_36.dll in case native d3dx9_26.dll is installed and being used.

As for D3DXCreateTextureFromFileInMemoryEx() vs D3DFMT_DXT5 I took a quick look
into Wine d3dx9_36 sources and it seems that the problem is not only lack of
support for D3DFMT_DXT5, but also lack of support for DDS format. 

D3DXGetImageInfoFromFileInMemory() which is called by
D3DXCreateTextureFromFileInMemoryEx() to get image properties use WIC (Windows
Imaging Components COM API) as an info provider. As far as I know native WIC
lacks built-in decoders for common DirectX texture formats like DDS and same
apply to Wine's built-in windowscodecs.dll. I suspect that the game uses DDS as
texture on-disk storage format which apparently fails under current Wine's
implementation. Unfortunately I hadn't been able to trace it more in-depth
under debugger (OllyDbg which I prefer to use when dealing with Windows apps)
as Steam's DRM makes it to be pretty hard task.

IMO best bet would be to try to implement homebrew DDS decoder in Wine's
windowscodecs.dll and then continue with debugging the issue. Maybe I'd find
some time to do it. Then again, maybe not - it depends on the amount of
workload at my primary job.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list