Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement FAPOFX #40

Open
6 tasks
flibitijibibo opened this issue Oct 4, 2018 · 6 comments
Open
6 tasks

Implement FAPOFX #40

flibitijibibo opened this issue Oct 4, 2018 · 6 comments

Comments

@flibitijibibo
Copy link
Member

flibitijibibo commented Oct 4, 2018

I just finished stubbing in the four effects provided by XAPOFX:

12a918b

This will improve compatibility with games that depend on it, but note that I have NOT implemented the XAPOFX DLLs. I've found that the X3DAudio DLL has given us more than enough trouble to warrant putting that off deliberately until we have something that can actively go out for use in something like Proton, so for this we'll do that after everything else is written.

Here's the checklist:

Here's the MSDN documentation for XAPOFX.

@flibitijibibo
Copy link
Member Author

If you need the CLSIDs for XAPOFX, you can find them here (sorry Johan!):

https://github.com/ValveSoftware/wine/blob/proton_3.7/include/xapofx.h

@GloriousEggroll
Copy link
Contributor

GloriousEggroll commented Oct 20, 2018

Heya, just wanted to add on to this, these DLLs are needed for quite a few games including some that have already been whitelisted by steam (Wolfenstein: TNO/TOB). I went to test the WMA PR in warframe, and came across it wanting xapofx1_5. I then removed the xapofx dlls from being set as native, and came across this:

3.652 Sys [Info]: S0009:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\\windows\\system32\\xaudio2_7.dll"
p0009:err:ole:CoGetClassObject no class object {5a508685-a254-4fba-9b82-9a24b00306af} could be created for context 0x1

which upon further searching, lead me to this old bug report which had been fixed by a stub:

https://bugs.winehq.org/show_bug.cgi?id=26808

obviously you know a "lot of games" need these, not trying to beat a dead horse. I'm just mentioning in particular because some of those games are whitelisted on steam play.

@flibitijibibo
Copy link
Member Author

Much like X3DAudio I’m recommending the DXSDK version of XAPOFX for now - they should be compatible with FAudio and its COM wrapper. Implement the effects first, then we can talk about the DLL.

@flibitijibibo
Copy link
Member Author

As of this commit the DLL should be a one-line function:

a3d804d

Still not making it until the rest is finished but it helps make the last step really quick.

@flibitijibibo
Copy link
Member Author

While looking at the Wine built-in path again I ended up implementing the source, which should work as a native DLL. No project files though, so this is solely to fix up the built-ins:

260dd90

@flibitijibibo
Copy link
Member Author

Ended up adding XAPOFX for Warframe as well...

7035cc5

So it's just the Visual Studio projects that's left. Thankfully nobody but me and XNA4 people have VS2010 anymore, so surely this won't get done before the actual code...?!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants