Some games ships this DLL (Ghostrunner, Warframe). The DLL acts differently depending which version of Windows is in use. The DLL redirects to xaudio2_7, same as xaudio2_9 does.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50101 Signed-off-by: Thomas Crider gloriouseggroll@gmail.com --- configure | 3 +++ configure.ac | 2 ++ dlls/xaudio2_9redist/Makefile.in | 16 ++++++++++++++++ dlls/xaudio2_9redist/xaudio2_9redist.spec | 6 ++++++ 4 files changed, 27 insertions(+) create mode 100644 dlls/xaudio2_9redist/Makefile.in create mode 100644 dlls/xaudio2_9redist/xaudio2_9redist.spec
diff --git a/configure b/configure index 943d4c5d8f4..d05851c3035 100755 --- a/configure +++ b/configure @@ -1735,6 +1735,7 @@ enable_xaudio2_6 enable_xaudio2_7 enable_xaudio2_8 enable_xaudio2_9 +enable_xaudio2_9redist enable_xinput1_1 enable_xinput1_2 enable_xinput1_3 @@ -16314,6 +16315,7 @@ then enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_8=${enable_xaudio2_8:-no} enable_xaudio2_9=${enable_xaudio2_9:-no} + enable_xaudio2_9redist=${enable_xaudio2_9redist:-no} fi
if test "$ac_cv_header_kstat_h" = "yes" @@ -21196,6 +21198,7 @@ wine_fn_config_makefile dlls/xaudio2_7 enable_xaudio2_7 wine_fn_config_makefile dlls/xaudio2_7/tests enable_tests wine_fn_config_makefile dlls/xaudio2_8 enable_xaudio2_8 wine_fn_config_makefile dlls/xaudio2_9 enable_xaudio2_9 +wine_fn_config_makefile dlls/xaudio2_9redist enable_xaudio2_9redist wine_fn_config_makefile dlls/xinput1_1 enable_xinput1_1 wine_fn_config_makefile dlls/xinput1_2 enable_xinput1_2 wine_fn_config_makefile dlls/xinput1_3 enable_xinput1_3 diff --git a/configure.ac b/configure.ac index 923d5e3b0f3..237dfefa6f5 100644 --- a/configure.ac +++ b/configure.ac @@ -1941,6 +1941,7 @@ then enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_8=${enable_xaudio2_8:-no} enable_xaudio2_9=${enable_xaudio2_9:-no} + enable_xaudio2_9redist=${enable_xaudio2_9redist:-no} fi
dnl **** Check for libkstat **** @@ -3937,6 +3938,7 @@ WINE_CONFIG_MAKEFILE(dlls/xaudio2_7) WINE_CONFIG_MAKEFILE(dlls/xaudio2_7/tests) WINE_CONFIG_MAKEFILE(dlls/xaudio2_8) WINE_CONFIG_MAKEFILE(dlls/xaudio2_9) +WINE_CONFIG_MAKEFILE(dlls/xaudio2_9redist) WINE_CONFIG_MAKEFILE(dlls/xinput1_1) WINE_CONFIG_MAKEFILE(dlls/xinput1_2) WINE_CONFIG_MAKEFILE(dlls/xinput1_3) diff --git a/dlls/xaudio2_9redist/Makefile.in b/dlls/xaudio2_9redist/Makefile.in new file mode 100644 index 00000000000..e0a2919a86d --- /dev/null +++ b/dlls/xaudio2_9redist/Makefile.in @@ -0,0 +1,16 @@ +EXTRADEFS = -DXAUDIO2_VER=9 +MODULE = xaudio2_9redist.dll +IMPORTS = advapi32 ole32 user32 uuid +PARENTSRC = ../xaudio2_7 +EXTRALIBS = $(FAUDIO_LIBS) +EXTRAINCL = $(FAUDIO_CFLAGS) + +C_SRCS = \ + compat.c \ + x3daudio.c \ + xapo.c \ + xapofx.c \ + xaudio_allocator.c \ + xaudio_dll.c + +IDL_SRCS = xaudio_classes.idl diff --git a/dlls/xaudio2_9redist/xaudio2_9redist.spec b/dlls/xaudio2_9redist/xaudio2_9redist.spec new file mode 100644 index 00000000000..78bf05bdb61 --- /dev/null +++ b/dlls/xaudio2_9redist/xaudio2_9redist.spec @@ -0,0 +1,6 @@ +1 stdcall -ordinal XAudio2Create(ptr long long) +2 stdcall -ordinal CreateAudioReverb(ptr) +3 stdcall -ordinal CreateAudioVolumeMeter(ptr) +4 cdecl -ordinal CreateFX(ptr ptr ptr long) +5 cdecl -ordinal X3DAudioCalculate(ptr ptr ptr long ptr) +6 cdecl -ordinal X3DAudioInitialize(long float ptr)
On Sat, Nov 07, 2020 at 10:48:03PM -0700, Thomas Crider wrote:
Some games ships this DLL (Ghostrunner, Warframe). The DLL acts differently depending which version of Windows is in use. The DLL redirects to xaudio2_7, same as xaudio2_9 does.
This is a DLL that applications ship, not something Windows ships, so I don't think it's right for Wine to ship it. We should fix Wine so that the native version shipped with the application is functional in win10 mode.
Andrew