[PATCH] xaudio2: Add new dll xaudio2_9redist

Thomas Crider gloriouseggroll at gmail.com
Sat Nov 7 23:48:03 CST 2020


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 at 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)
-- 
2.26.2




More information about the wine-devel mailing list