Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
dlls/xactengine3_0/Makefile.in | 11 +++++++++++
dlls/xactengine3_0/xactengine3_0.spec | 4 ++++
dlls/xactengine3_7/xact_classes.idl | 9 ++++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 dlls/xactengine3_0/Makefile.in
create mode 100644 dlls/xactengine3_0/xactengine3_0.spec
diff --git a/dlls/xactengine3_0/Makefile.in b/dlls/xactengine3_0/Makefile.in
new file mode 100644
index 00000000000..e5c77dcccd7
--- /dev/null
+++ b/dlls/xactengine3_0/Makefile.in
@@ -0,0 +1,11 @@
+MODULE = xactengine3_0.dll
+IMPORTS = ole32 uuid
+EXTRADEFS = -DXACT3_VER=0x0300
+PARENTSRC = ../xactengine3_7
+EXTRALIBS = $(FAUDIO_LIBS)
+EXTRAINCL = $(FAUDIO_CFLAGS)
+
+C_SRCS = \
+ xact_dll.c
+
+IDL_SRCS = xact_classes.idl
diff --git a/dlls/xactengine3_0/xactengine3_0.spec b/dlls/xactengine3_0/xactengine3_0.spec
new file mode 100644
index 00000000000..b16365d0c9f
--- /dev/null
+++ b/dlls/xactengine3_0/xactengine3_0.spec
@@ -0,0 +1,4 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
diff --git a/dlls/xactengine3_7/xact_classes.idl b/dlls/xactengine3_7/xact_classes.idl
index aeac5d4cd37..2ed8d337ac8 100644
--- a/dlls/xactengine3_7/xact_classes.idl
+++ b/dlls/xactengine3_7/xact_classes.idl
@@ -20,7 +20,14 @@
#pragma makedep register
-#if XACT3_VER == 0x0301
+#if XACT3_VER == 0x0300
+[
+ helpstring("XACT3.0 Class"),
+ threading(both),
+ uuid(3b80ee2a-b0f5-4780-9e30-90cb39685b03)
+]
+coclass XACTEngine30 { interface IXACT30Engine; }
+#elif XACT3_VER == 0x0301
[
helpstring("XACT3.1 Class"),
threading(both),
--
2.27.0