xinput1_3: Initial implementation.
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 69d30b9..56e0506 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -165,7 +165,8 @@
IMPORT_SYMLINKS = \
libd3dx9.$(IMPLIBEXT) \
- libwinspool.$(IMPLIBEXT)
+ libwinspool.$(IMPLIBEXT) \
+ libxinput.$(IMPLIBEXT)
IMPORT_LIBS = \
$(IMPORT_SYMLINKS) \
@@ -311,11 +312,13 @@
wow32/libwow32.$(IMPLIBEXT) \
ws2_32/libws2_32.$(IMPLIBEXT) \
wsock32/libwsock32.$(IMPLIBEXT) \
- wtsapi32/libwtsapi32.$(IMPLIBEXT)
+ wtsapi32/libwtsapi32.$(IMPLIBEXT) \
+ xinput1_3/libxinput.$(IMPLIBEXT)
CROSS_IMPLIBS = \
libd3dx9.a \
libwinspool.a \
+ libxinput.a \
activeds/libactiveds.a \
advapi32/libadvapi32.a \
advpack/libadvpack.a \
@@ -449,7 +452,8 @@
wow32/libwow32.a \
ws2_32/libws2_32.a \
wsock32/libwsock32.a \
- wtsapi32/libwtsapi32.a
+ wtsapi32/libwtsapi32.a \
+ xinput1_3/libxinput.a
$(TESTSUBDIRS:%=%/__crosstest__): $(CROSS_IMPLIBS)
@@ -865,6 +869,9 @@
wtsapi32/libwtsapi32.def wtsapi32/libwtsapi32.a: wtsapi32/wtsapi32.spec $(WINEBUILD)
@cd wtsapi32 && $(MAKE) `basename $@`
+xinput1_3/libxinput.def xinput1_3/libxinput.a: xinput1_3/xinput1_3.spec $(WINEBUILD)
+ @cd xinput1_3 && $(MAKE) `basename $@`
+
libd3dx9.a: d3dx9_36/libd3dx9.a
$(RM) $@ && $(LN_S) d3dx9_36/libd3dx9.a $@
@@ -877,6 +884,12 @@
libwinspool.def: winspool.drv/libwinspool.def
$(RM) $@ && $(LN_S) winspool.drv/libwinspool.def $@
+libxinput.a: xinput1_3/libxinput.a
+ $(RM) $@ && $(LN_S) xinput1_3/libxinput.a $@
+
+libxinput.def: xinput1_3/libxinput.def
+ $(RM) $@ && $(LN_S) xinput1_3/libxinput.def $@
+
$(BUILDSUBDIRS): $(IMPORT_LIBS)
$(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__install-lib__): $(IMPORT_LIBS)
diff --git a/dlls/xinput1_3/Makefile.in b/dlls/xinput1_3/Makefile.in
new file mode 100644
index 0000000..7e8f571
--- /dev/null
+++ b/dlls/xinput1_3/Makefile.in
@@ -0,0 +1,16 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR = @srcdir@
+VPATH = @srcdir@
+MODULE = xinput1_3.dll
+IMPORTLIB = xinput
+IMPORTS = kernel32
+
+C_SRCS = \
+ xinput1_3_main.c
+
+RC_SRCS = version.rc
+
+@MAKE_DLL_RULES@
+
+@DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/dlls/xinput1_3/version.rc b/dlls/xinput1_3/version.rc
new file mode 100644
index 0000000..191b142
--- /dev/null
+++ b/dlls/xinput1_3/version.rc
@@ -0,0 +1,27 @@
+/*
+ * The Wine project - Xinput Joystick Library
+ * Copyright 2008 Andrew Fenn
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define WINE_FILEDESCRIPTION_STR "Wine Common Controller API"
+#define WINE_FILENAME_STR "xinput1_3.dll"
+#define WINE_FILEVERSION 9,15,779,0000
+#define WINE_FILEVERSION_STR "9.15.779.0000"
+#define WINE_PRODUCTVERSION 9,15,779,0000
+#define WINE_PRODUCTVERSION_STR "9.15"
+
+#include "wine/wine_common_ver.rc"
diff --git a/dlls/xinput1_3/xinput1_3.spec b/dlls/xinput1_3/xinput1_3.spec
new file mode 100644
index 0000000..5caaa37
--- /dev/null
+++ b/dlls/xinput1_3/xinput1_3.spec
@@ -0,0 +1,7 @@
+@ stub XInputEnable #(long)
+@ stub XInputSetState #(long ptr)
+@ stub XInputGetState #(long ptr)
+@ stub XInputGetKeystroke #(long long ptr)
+@ stub XInputGetCapabilities #(long long ptr)
+@ stub XInputGetDSoundAudioDeviceGuids #(long ptr ptr)
+@ stub XInputGetBatteryInformation
diff --git a/dlls/xinput1_3/xinput1_3_main.c b/dlls/xinput1_3/xinput1_3_main.c
new file mode 100644
index 0000000..6198b3b
--- /dev/null
+++ b/dlls/xinput1_3/xinput1_3_main.c
@@ -0,0 +1,45 @@
+/*
+ * The Wine project - Xinput Joystick Library
+ * Copyright 2008 Andrew Fenn
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "config.h"
+#include <assert.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include "wine/debug.h"
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(xinput);
+
+BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
+{
+ switch(reason)
+ {
+ case DLL_WINE_PREATTACH:
+ return FALSE; /* prefer native version */
+ case DLL_PROCESS_ATTACH:
+ DisableThreadLibraryCalls(inst);
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}