From 85a4a1dd4463f8b2b9c361667bdbac6c17ce6653 Mon Sep 17 00:00:00 2001 From: Andrew Fenn Date: Mon, 10 Nov 2008 16:30:13 +0000 Subject: [PATCH] xinput1_2: Initial implementation. --- configure | 9 ++++++++ configure.ac | 1 + dlls/xinput1_2/Makefile.in | 15 +++++++++++++ dlls/xinput1_2/version.rc | 27 +++++++++++++++++++++++ dlls/xinput1_2/xinput1_2.spec | 5 +++++ dlls/xinput1_2/xinput1_2_main.c | 39 +++++++++++++++++++++++++++++++++ 6 files changed, 96 insertions(+) create mode 100644 dlls/xinput1_2/Makefile.in create mode 100644 dlls/xinput1_2/version.rc create mode 100644 dlls/xinput1_2/xinput1_2.spec create mode 100644 dlls/xinput1_2/xinput1_2_main.c diff --git a/configure b/configure index 0f74b21c96f..316e9cfb1fb 100755 --- a/configure +++ b/configure @@ -26841,6 +26841,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS dlls/xinput1_1/Makefile: dlls/xinput1_1/Makefile.in dlls/Makedll.rules" ac_config_files="$ac_config_files dlls/xinput1_1/Makefile" +ALL_MAKEFILES="$ALL_MAKEFILES \\ + dlls/xinput1_2/Makefile" +test "x$enable_xinput1_2" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ + xinput1_2" +ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS +dlls/xinput1_2/Makefile: dlls/xinput1_2/Makefile.in dlls/Makedll.rules" +ac_config_files="$ac_config_files dlls/xinput1_2/Makefile" + ALL_MAKEFILES="$ALL_MAKEFILES \\ dlls/xinput1_3/Makefile" test "x$enable_xinput1_3" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ @@ -28390,6 +28398,7 @@ do "dlls/wsock32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/wsock32/Makefile" ;; "dlls/wtsapi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/wtsapi32/Makefile" ;; "dlls/xinput1_1/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/xinput1_1/Makefile" ;; + "dlls/xinput1_2/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/xinput1_2/Makefile" ;; "dlls/xinput1_3/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/xinput1_3/Makefile" ;; "dlls/xinput9_1_0/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/xinput9_1_0/Makefile" ;; "documentation/Makefile") CONFIG_FILES="$CONFIG_FILES documentation/Makefile" ;; diff --git a/configure.ac b/configure.ac index 45531a335ef..ed61fbe7e8a 100644 --- a/configure.ac +++ b/configure.ac @@ -2095,6 +2095,7 @@ WINE_CONFIG_MAKEFILE([dlls/ws2_32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ WINE_CONFIG_MAKEFILE([dlls/wsock32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/wtsapi32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/xinput1_1/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) +WINE_CONFIG_MAKEFILE([dlls/xinput1_2/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/xinput1_3/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/xinput9_1_0/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([documentation/Makefile],[Make.rules],[],[ALL_TOP_DIRS]) diff --git a/dlls/xinput1_2/Makefile.in b/dlls/xinput1_2/Makefile.in new file mode 100644 index 00000000000..f8934f47d5f --- /dev/null +++ b/dlls/xinput1_2/Makefile.in @@ -0,0 +1,15 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = xinput1_2.dll +IMPORTS = kernel32 + +C_SRCS = \ + xinput1_2_main.c + +RC_SRCS = version.rc + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/xinput1_2/version.rc b/dlls/xinput1_2/version.rc new file mode 100644 index 00000000000..5dec834732f --- /dev/null +++ b/dlls/xinput1_2/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_2.dll" +#define WINE_FILEVERSION 9,14,701,0000 +#define WINE_FILEVERSION_STR "9.14.701.0000" +#define WINE_PRODUCTVERSION 9,14,701,0000 +#define WINE_PRODUCTVERSION_STR "9.14" + +#include "wine/wine_common_ver.rc" diff --git a/dlls/xinput1_2/xinput1_2.spec b/dlls/xinput1_2/xinput1_2.spec new file mode 100644 index 00000000000..95759c345ea --- /dev/null +++ b/dlls/xinput1_2/xinput1_2.spec @@ -0,0 +1,5 @@ +@ stdcall XInputEnable(long) xinput1_3.XInputEnable +@ stdcall XInputGetCapabilities(long long ptr) xinput1_3.XInputGetCapabilities +@ stdcall XInputGetDSoundAudioDeviceGuids(long ptr ptr) xinput1_3.XInputGetDSoundAudioDeviceGuids +@ stdcall XInputSetState(long ptr) xinput1_3.XInputSetState +@ stdcall XInputGetState(long ptr) xinput1_3.XInputGetState diff --git a/dlls/xinput1_2/xinput1_2_main.c b/dlls/xinput1_2/xinput1_2_main.c new file mode 100644 index 00000000000..18cde9e6652 --- /dev/null +++ b/dlls/xinput1_2/xinput1_2_main.c @@ -0,0 +1,39 @@ +/* + * 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 + +#include "windef.h" +#include "winbase.h" + +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; +}