Module: wine Branch: master Commit: 08dae8afcc0ee8d94ed73b1e9fcc7b6fa1b77be9 URL: https://gitlab.winehq.org/wine/wine/-/commit/08dae8afcc0ee8d94ed73b1e9fcc7b6...
Author: Alex Henrie alexhenrie24@gmail.com Date: Mon May 13 21:09:25 2024 -0600
dinput: Don't include every version of DirectInputCreate in every DLL.
DirectInputCreate(A|W|Ex) is only needed in dinput.dll, and DirectInput8Create is only needed in dinput8.dll. Excluding the unnecessary functions reduces the size of each DLL by about 4 KB.
---
dlls/dinput/dinput.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/dinput/dinput.c b/dlls/dinput/dinput.c index 76c60b09db0..e53eea4e292 100644 --- a/dlls/dinput/dinput.c +++ b/dlls/dinput/dinput.c @@ -890,6 +890,8 @@ HRESULT WINAPI DllGetClassObject( REFCLSID clsid, REFIID iid, void **out ) return CLASS_E_CLASSNOTAVAILABLE; }
+#if DIRECTINPUT_VERSION == 0x0700 + HRESULT WINAPI DirectInputCreateEx( HINSTANCE hinst, DWORD version, REFIID iid, void **out, IUnknown *outer ) { IUnknown *unknown; @@ -920,6 +922,18 @@ HRESULT WINAPI DirectInputCreateEx( HINSTANCE hinst, DWORD version, REFIID iid, return DI_OK; }
+HRESULT WINAPI DECLSPEC_HOTPATCH DirectInputCreateA( HINSTANCE hinst, DWORD version, IDirectInputA **out, IUnknown *outer ) +{ + return DirectInputCreateEx( hinst, version, &IID_IDirectInput7A, (void **)out, outer ); +} + +HRESULT WINAPI DECLSPEC_HOTPATCH DirectInputCreateW( HINSTANCE hinst, DWORD version, IDirectInputW **out, IUnknown *outer ) +{ + return DirectInputCreateEx( hinst, version, &IID_IDirectInput7W, (void **)out, outer ); +} + +#else + HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create( HINSTANCE hinst, DWORD version, REFIID iid, void **out, IUnknown *outer ) { IUnknown *unknown; @@ -952,12 +966,4 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectInput8Create( HINSTANCE hinst, DWORD vers return S_OK; }
-HRESULT WINAPI DECLSPEC_HOTPATCH DirectInputCreateA( HINSTANCE hinst, DWORD version, IDirectInputA **out, IUnknown *outer ) -{ - return DirectInputCreateEx( hinst, version, &IID_IDirectInput7A, (void **)out, outer ); -} - -HRESULT WINAPI DECLSPEC_HOTPATCH DirectInputCreateW( HINSTANCE hinst, DWORD version, IDirectInputW **out, IUnknown *outer ) -{ - return DirectInputCreateEx( hinst, version, &IID_IDirectInput7W, (void **)out, outer ); -} +#endif