https://bugs.winehq.org/show_bug.cgi?id=36789
Bug ID: 36789 Summary: "Could not find a Direct3D device that supports the XNA Framework HiDef profile" in "One Finger Death Punch" Product: Wine Version: 1.7.20 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: dragonfax@gmail.com
Focht fixed a similar issue with another game. But that fix doesn't work for in my case. I'm not sure if its the game or its my hardware that is the different variable this time around.
I whipped up a quick patch to fix this, but someone will have to redo it. I have the skills to find the issue, and make the game work. But I don't have the skills to do it properly in a redistributable way.
Steps to reproduce.
1. with wine 1.7.20 (latest at the time of writing) 2. create a win32 WINEPREFIX 3. use winetricks to install dotnet20 xna and steam 4. install One Finger Death Punch with steam 5. launch the game. The game will popup a dialog giving the error message "Could not find a Direct3D device that supports the XNA Framework HiDef profile"
You can launch the game with Steam or from the command line.
In https://bugs.winehq.org/show_bug.cgi?id=35444 Focht used the "XNA Graphics Profile checker" to determine what was insufficient in the WINE emulation for a game to run.
I did similar and found that on my hardware, even with his patch, the Profile Checker still complained about
"No DestBlendCaps.D3DPBLENDCAPS_SRCALPHASAT"
If I modify directx.c to put D3DPBLENDCAPS_SRCALPHASAT into DestBlendCaps all the time, instead of just when gl_info->supported[ARB_BLEND_FUNC_EXTENDED], then the game starts and runs fine. But I can't say whether thats a good idea or not.
I'm running this on a mid-2013 MacBook Air, with an integrate Intel HD 4000
The game runs great once this fix is applied.