Rebase against 0f972e2247932f255f131792724e4796b4b2b87a.

This commit is contained in:
Zebediah Figura
2021-02-26 22:46:07 -06:00
parent 806bbc0198
commit 783002b5de
27 changed files with 333 additions and 521 deletions

View File

@@ -1,4 +1,4 @@
From 57e813244a401d27959d8689942e787fafcaa15b Mon Sep 17 00:00:00 2001
From 101a33fbffa02e2437d4ef62bc830c6b72e29280 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 9 Oct 2020 13:38:18 +0200
Subject: [PATCH] windows.gaming.input: Add stub dll.
@@ -17,10 +17,10 @@ Subject: [PATCH] windows.gaming.input: Add stub dll.
create mode 100644 include/windows.gaming.input.idl
diff --git a/configure.ac b/configure.ac
index 6fbf7f2d4e5..bdcfe84f87d 100644
index 78720ab188f..405d1a6ecc4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3850,6 +3850,7 @@ WINE_CONFIG_MAKEFILE(dlls/win32s16.dll16,enable_win16)
@@ -3796,6 +3796,7 @@ WINE_CONFIG_MAKEFILE(dlls/win32s16.dll16,enable_win16)
WINE_CONFIG_MAKEFILE(dlls/win87em.dll16,enable_win16)
WINE_CONFIG_MAKEFILE(dlls/winaspi.dll16,enable_win16)
WINE_CONFIG_MAKEFILE(dlls/windebug.dll16,enable_win16)
@@ -195,12 +195,12 @@ index 00000000000..2b6abc4dd84
+ return S_OK;
+}
diff --git a/include/Makefile.in b/include/Makefile.in
index 466ac6fd5dc..24cc64a3407 100644
index 6c16e01a271..ac403a78a4d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -753,6 +753,7 @@ SOURCES = \
windef.h \
@@ -748,6 +748,7 @@ SOURCES = \
windns.h \
windows.foundation.collections.idl \
windows.foundation.idl \
+ windows.gaming.input.idl \
windows.h \
@@ -237,5 +237,5 @@ index 00000000000..575f34ccb58
+import "inspectable.idl";
+import "windows.foundation.idl";
--
2.29.2
2.20.1

View File

@@ -1,31 +1,32 @@
From b24e0e059c1734c3a9d287d0be1450c2b29cc259 Mon Sep 17 00:00:00 2001
From ad17bb4a309b632d3075f427d46afa8870720184 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Mon, 12 Oct 2020 12:50:32 +0200
Subject: [PATCH 2/9] windows.gaming.input: Implement IGamepadStatics stubs.
Date: Sat, 20 Feb 2021 00:51:48 +0100
Subject: [PATCH] windows.gaming.input: Implement IGamepadStatics stubs.
---
.../windows.gaming.input_main.c | 127 +++++++++++++++++
include/windows.foundation.idl | 11 ++
.../windows.gaming.input_main.c | 125 +++++++++++++++++
include/windows.foundation.collections.idl | 6 +
include/windows.foundation.idl | 5 +
include/windows.gaming.input.idl | 128 ++++++++++++++++++
loader/wine.inf.in | 1 +
4 files changed, 267 insertions(+)
5 files changed, 265 insertions(+)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index 2b6abc4dd84..33c260b27b3 100644
index 2b6abc4dd84..a910f9bf40e 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -10,6 +10,10 @@
@@ -10,7 +10,10 @@
#include "initguid.h"
#include "activation.h"
+#define WIDL_USING_IVECTORVIEW_1_WINDOWS_GAMING_INPUT_GAMEPAD
+#define WIDL_USING_IEVENTHANDLER_1_WINDOWS_GAMING_INPUT_GAMEPAD
+#define WIDL_USING_WINDOWS_GAMING_INPUT_IGAMEPAD
+#define WIDL_USING_WINDOWS_GAMING_INPUT_IGAMEPADSTATICS
+#define WIDL_using_Windows_Foundation
+#define WIDL_using_Windows_Foundation_Collections
#include "windows.foundation.h"
+#define WIDL_using_Windows_Gaming_Input
#include "windows.gaming.input.h"
@@ -27,6 +31,7 @@ static const char *debugstr_hstring(HSTRING hstr)
WINE_DEFAULT_DEBUG_CHANNEL(input);
@@ -27,6 +30,7 @@ static const char *debugstr_hstring(HSTRING hstr)
struct windows_gaming_input
{
IActivationFactory IActivationFactory_iface;
@@ -33,7 +34,7 @@ index 2b6abc4dd84..33c260b27b3 100644
LONG ref;
};
@@ -35,6 +40,120 @@ static inline struct windows_gaming_input *impl_from_IActivationFactory(IActivat
@@ -35,6 +39,119 @@ static inline struct windows_gaming_input *impl_from_IActivationFactory(IActivat
return CONTAINING_RECORD(iface, struct windows_gaming_input, IActivationFactory_iface);
}
@@ -129,7 +130,6 @@ index 2b6abc4dd84..33c260b27b3 100644
+static HRESULT STDMETHODCALLTYPE gamepad_statics_get_Gamepads(
+ IGamepadStatics *iface, IVectorView_Gamepad **value)
+{
+ struct windows_gaming_input *impl = impl_from_IGamepadStatics(iface);
+ FIXME("iface %p, value %p stub!\n", iface, value);
+ return E_NOTIMPL;
+}
@@ -154,7 +154,7 @@ index 2b6abc4dd84..33c260b27b3 100644
static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
IActivationFactory *iface, REFIID iid, void **out)
{
@@ -50,6 +169,13 @@ static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
@@ -50,6 +167,13 @@ static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
return S_OK;
}
@@ -168,7 +168,7 @@ index 2b6abc4dd84..33c260b27b3 100644
FIXME("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid));
*out = NULL;
return E_NOINTERFACE;
@@ -117,6 +243,7 @@ static const struct IActivationFactoryVtbl activation_factory_vtbl =
@@ -117,6 +241,7 @@ static const struct IActivationFactoryVtbl activation_factory_vtbl =
static struct windows_gaming_input windows_gaming_input =
{
{&activation_factory_vtbl},
@@ -176,13 +176,30 @@ index 2b6abc4dd84..33c260b27b3 100644
0
};
diff --git a/include/windows.foundation.collections.idl b/include/windows.foundation.collections.idl
index ed05016b96d..ba860a1e82e 100644
--- a/include/windows.foundation.collections.idl
+++ b/include/windows.foundation.collections.idl
@@ -47,6 +47,12 @@ cpp_quote("#endif")
]
delegate HRESULT EventHandler<T>([in] IInspectable *sender, [in] T args);
+ [
+ contract(Windows.Foundation.FoundationContract, 1.0),
+ uuid(9de1c534-6ae1-11e0-84e1-18a905bcc53f)
+ ]
+ delegate HRESULT TypedEventHandler<TSender, TArgs>([in] TSender sender, [in] TArgs args);
+
namespace Collections
{
[
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
index 9b9b40897be..dd613b68b00 100644
index 3c60278cf05..90bbc876339 100644
--- a/include/windows.foundation.idl
+++ b/include/windows.foundation.idl
@@ -26,6 +26,11 @@ import "windowscontracts.idl";
/* import "eventtoken.idl"; */
@@ -27,6 +27,11 @@ import "windowscontracts.idl";
/* import "ivectorchangedeventargs.idl"; */
import "windows.foundation.collections.idl";
+typedef struct EventRegistrationToken
+{
@@ -192,19 +209,6 @@ index 9b9b40897be..dd613b68b00 100644
namespace Windows {
namespace Foundation {
[contract(Windows.Foundation.FoundationContract, 1.0)]
@@ -119,6 +124,12 @@ namespace Windows {
]
delegate void EventHandler<T>([in] IInspectable *sender, [in] T args);
+ [
+ contract(Windows.Foundation.FoundationContract, 1.0),
+ uuid(9de1c534-6ae1-11e0-84e1-18a905bcc53f)
+ ]
+ delegate void TypedEventHandler<TSender, TResult>([in] TSender sender, [in] TResult args);
+
namespace Collections
{
[
diff --git a/include/windows.gaming.input.idl b/include/windows.gaming.input.idl
index 575f34ccb58..b5af4e24a66 100644
--- a/include/windows.gaming.input.idl
@@ -342,7 +346,7 @@ index 575f34ccb58..b5af4e24a66 100644
+ }
+}
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 157b146a857..9d738859b81 100644
index db816327a51..79a7b2c0503 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -713,6 +713,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo"
@@ -354,5 +358,5 @@ index 157b146a857..9d738859b81 100644
HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000
HKLM,Software\Clients\Mail,,2,"Native Mail Client"
--
2.28.0
2.20.1

View File

@@ -1,18 +1,18 @@
From 39cabcb0a109f9705740120186858defe1c1cf2c Mon Sep 17 00:00:00 2001
From 17818a1676a5b177795d6509314f5d75f11b6def Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 17:58:14 +0200
Subject: [PATCH 3/9] windows.gaming.input: Implement IGamepadStatics::Gamepads
Subject: [PATCH] windows.gaming.input: Implement IGamepadStatics::Gamepads
stubs.
---
.../windows.gaming.input_main.c | 112 +++++++++++++++++-
1 file changed, 111 insertions(+), 1 deletion(-)
.../windows.gaming.input_main.c | 113 +++++++++++++++++-
1 file changed, 112 insertions(+), 1 deletion(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index 33c260b27b3..a7d9a89244b 100644
index a910f9bf40e..444eb687175 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -32,6 +32,7 @@ struct windows_gaming_input
@@ -31,6 +31,7 @@ struct windows_gaming_input
{
IActivationFactory IActivationFactory_iface;
IGamepadStatics IGamepadStatics_iface;
@@ -20,7 +20,7 @@ index 33c260b27b3..a7d9a89244b 100644
LONG ref;
};
@@ -45,6 +46,113 @@ static inline struct windows_gaming_input *impl_from_IGamepadStatics(IGamepadSta
@@ -44,6 +45,113 @@ static inline struct windows_gaming_input *impl_from_IGamepadStatics(IGamepadSta
return CONTAINING_RECORD(iface, struct windows_gaming_input, IGamepadStatics_iface);
}
@@ -134,9 +134,11 @@ index 33c260b27b3..a7d9a89244b 100644
static HRESULT STDMETHODCALLTYPE gamepad_statics_QueryInterface(
IGamepadStatics *iface, REFIID iid, void **out)
{
@@ -134,7 +242,8 @@ static HRESULT STDMETHODCALLTYPE gamepad_statics_get_Gamepads(
@@ -131,8 +239,10 @@ static HRESULT STDMETHODCALLTYPE gamepad_statics_remove_GamepadRemoved(
static HRESULT STDMETHODCALLTYPE gamepad_statics_get_Gamepads(
IGamepadStatics *iface, IVectorView_Gamepad **value)
{
struct windows_gaming_input *impl = impl_from_IGamepadStatics(iface);
+ struct windows_gaming_input *impl = impl_from_IGamepadStatics(iface);
FIXME("iface %p, value %p stub!\n", iface, value);
- return E_NOTIMPL;
+ *value = &impl->IVectorView_Gamepad_iface;
@@ -144,7 +146,7 @@ index 33c260b27b3..a7d9a89244b 100644
}
static const struct IGamepadStaticsVtbl gamepad_statics_vtbl =
@@ -244,6 +353,7 @@ static struct windows_gaming_input windows_gaming_input =
@@ -242,6 +352,7 @@ static struct windows_gaming_input windows_gaming_input =
{
{&activation_factory_vtbl},
{&gamepad_statics_vtbl},
@@ -153,5 +155,5 @@ index 33c260b27b3..a7d9a89244b 100644
};
--
2.28.0
2.20.1

View File

@@ -1,18 +1,18 @@
From bedffa28b0137a32106c3c126e842c9469555d98 Mon Sep 17 00:00:00 2001
From e6de4311bc082beedabf8aec5d43ab03c009e0b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 17:59:51 +0200
Subject: [PATCH 4/9] windows.gaming.input: Fake empty
IGamepadStatics::Gamepads vector.
Subject: [PATCH] windows.gaming.input: Fake empty IGamepadStatics::Gamepads
vector.
---
.../windows.gaming.input_main.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index a7d9a89244b..7d81e22ddd6 100644
index 444eb687175..0df7927a57b 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -113,28 +113,31 @@ static HRESULT STDMETHODCALLTYPE vector_view_gamepad_GetAt(
@@ -112,28 +112,31 @@ static HRESULT STDMETHODCALLTYPE vector_view_gamepad_GetAt(
IVectorView_Gamepad *iface, ULONG index, IGamepad **value)
{
FIXME("iface %p, index %#x, value %p stub!\n", iface, index, value);
@@ -49,5 +49,5 @@ index a7d9a89244b..7d81e22ddd6 100644
static const struct IVectorView_GamepadVtbl vector_view_gamepad_vtbl =
--
2.28.0
2.20.1

View File

@@ -1,17 +1,17 @@
From 3e2a77be328b8fe724256ffa1ebd5bae72c27a70 Mon Sep 17 00:00:00 2001
From 9ea954d5306aa3240584c86fff56972b718fd605 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 17:57:05 +0200
Subject: [PATCH 5/9] windows.gaming.input: Fake IEventHandler_Gamepad support.
Subject: [PATCH] windows.gaming.input: Fake IEventHandler_Gamepad support.
---
dlls/windows.gaming.input.dll/windows.gaming.input_main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index 7d81e22ddd6..dad5a196214 100644
index 0df7927a57b..dec9d39e7a3 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -216,28 +216,28 @@ static HRESULT STDMETHODCALLTYPE gamepad_statics_add_GamepadAdded(
@@ -215,28 +215,28 @@ static HRESULT STDMETHODCALLTYPE gamepad_statics_add_GamepadAdded(
IGamepadStatics *iface, IEventHandler_Gamepad *value, EventRegistrationToken* token)
{
FIXME("iface %p, value %p, token %p stub!\n", iface, value, token);
@@ -45,5 +45,5 @@ index 7d81e22ddd6..dad5a196214 100644
static HRESULT STDMETHODCALLTYPE gamepad_statics_get_Gamepads(
--
2.28.0
2.20.1

View File

@@ -1,44 +1,29 @@
From 3d6807e5da2a30f33b7517a3d3a3457c53a4ebc7 Mon Sep 17 00:00:00 2001
From b875ea79f656a5192b8214f2598cd62866b9fbee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Mon, 12 Oct 2020 12:50:32 +0200
Subject: [PATCH] windows.gaming.input: Implement IRawGameControllerStatics
stubs.
---
.../windows.gaming.input_main.c | 142 +++++++++++++
.../windows.gaming.input_main.c | 130 ++++++++++++
include/Makefile.in | 3 +
include/asyncinfo.idl | 45 ++++
include/windows.foundation.idl | 23 ++-
include/windows.foundation.collections.idl | 21 +-
include/windows.foundation.idl | 11 +-
.../windows.gaming.input.forcefeedback.idl | 111 ++++++++++
include/windows.gaming.input.idl | 195 ++++++++++++++++++
include/windows.system.idl | 70 +++++++
loader/wine.inf.in | 1 +
8 files changed, 589 insertions(+), 1 deletion(-)
9 files changed, 585 insertions(+), 2 deletions(-)
create mode 100644 include/asyncinfo.idl
create mode 100644 include/windows.gaming.input.forcefeedback.idl
create mode 100644 include/windows.system.idl
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index dad5a196214..078043b0963 100644
index dec9d39e7a3..1a40a8ddc35 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -11,9 +11,15 @@
#include "activation.h"
#define WIDL_USING_IVECTORVIEW_1_WINDOWS_GAMING_INPUT_GAMEPAD
+#define WIDL_USING_IVECTORVIEW_1_WINDOWS_GAMING_INPUT_RAWGAMECONTROLLER
#define WIDL_USING_IEVENTHANDLER_1_WINDOWS_GAMING_INPUT_GAMEPAD
+#define WIDL_USING_IEVENTHANDLER_1_WINDOWS_GAMING_INPUT_RAWGAMECONTROLLER
#define WIDL_USING_WINDOWS_GAMING_INPUT_IGAMEPAD
#define WIDL_USING_WINDOWS_GAMING_INPUT_IGAMEPADSTATICS
+#define WIDL_USING_WINDOWS_GAMING_INPUT_IRAWGAMECONTROLLERSTATICS
+#define WIDL_USING_WINDOWS_GAMING_INPUT_IGAMECONTROLLER
+#define WIDL_USING_WINDOWS_GAMING_INPUT_IRAWGAMECONTROLLER
+#define WIDL_USING_WINDOWS_GAMING_INPUT_RAWGAMECONTROLLER
#include "windows.foundation.h"
#include "windows.gaming.input.h"
@@ -32,6 +38,7 @@ struct windows_gaming_input
@@ -31,6 +31,7 @@ struct windows_gaming_input
{
IActivationFactory IActivationFactory_iface;
IGamepadStatics IGamepadStatics_iface;
@@ -46,7 +31,7 @@ index dad5a196214..078043b0963 100644
IVectorView_Gamepad IVectorView_Gamepad_iface;
LONG ref;
};
@@ -46,11 +53,21 @@ static inline struct windows_gaming_input *impl_from_IGamepadStatics(IGamepadSta
@@ -45,6 +46,11 @@ static inline struct windows_gaming_input *impl_from_IGamepadStatics(IGamepadSta
return CONTAINING_RECORD(iface, struct windows_gaming_input, IGamepadStatics_iface);
}
@@ -58,17 +43,7 @@ index dad5a196214..078043b0963 100644
static inline struct windows_gaming_input *impl_from_IVectorView_Gamepad(IVectorView_Gamepad *iface)
{
return CONTAINING_RECORD(iface, struct windows_gaming_input, IVectorView_Gamepad_iface);
}
+static inline struct windows_gaming_input *impl_from_IVectorView_RawGameController(IVectorView_RawGameController *iface)
+{
+ return CONTAINING_RECORD(iface, struct windows_gaming_input, IVectorView_RawGameController_iface);
+}
+
static HRESULT STDMETHODCALLTYPE vector_view_gamepad_QueryInterface(
IVectorView_Gamepad *iface, REFIID iid, void **out)
{
@@ -266,6 +283,123 @@ static const struct IGamepadStaticsVtbl gamepad_statics_vtbl =
@@ -265,6 +271,122 @@ static const struct IGamepadStaticsVtbl gamepad_statics_vtbl =
gamepad_statics_get_Gamepads,
};
@@ -159,7 +134,6 @@ index dad5a196214..078043b0963 100644
+static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_get_RawGameControllers(
+ IRawGameControllerStatics *iface, IVectorView_RawGameController **value)
+{
+ struct windows_gaming_input *impl = impl_from_IRawGameControllerStatics(iface);
+ FIXME("iface %p, value %p stub!\n", iface, value);
+ return E_NOTIMPL;
+}
@@ -192,7 +166,7 @@ index dad5a196214..078043b0963 100644
static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
IActivationFactory *iface, REFIID iid, void **out)
{
@@ -288,6 +422,13 @@ static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
@@ -287,6 +409,13 @@ static HRESULT STDMETHODCALLTYPE windows_gaming_input_QueryInterface(
return S_OK;
}
@@ -206,7 +180,7 @@ index dad5a196214..078043b0963 100644
FIXME("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid));
*out = NULL;
return E_NOINTERFACE;
@@ -356,6 +497,7 @@ static struct windows_gaming_input windows_gaming_input =
@@ -355,6 +484,7 @@ static struct windows_gaming_input windows_gaming_input =
{
{&activation_factory_vtbl},
{&gamepad_statics_vtbl},
@@ -215,10 +189,10 @@ index dad5a196214..078043b0963 100644
0
};
diff --git a/include/Makefile.in b/include/Makefile.in
index 24cc64a3407..2f68c258f1b 100644
index ac403a78a4d..90e9b660633 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -21,6 +21,7 @@ SOURCES = \
@@ -20,6 +20,7 @@ SOURCES = \
appmodel.h \
asferr.h \
asptlb.idl \
@@ -226,8 +200,8 @@ index 24cc64a3407..2f68c258f1b 100644
asynot.idl \
asysta.idl \
atlbase.h \
@@ -754,8 +755,10 @@ SOURCES = \
windns.h \
@@ -749,8 +750,10 @@ SOURCES = \
windows.foundation.collections.idl \
windows.foundation.idl \
windows.gaming.input.idl \
+ windows.gaming.input.forcefeedback.idl \
@@ -288,10 +262,10 @@ index 00000000000..61784bc65ac
+ HRESULT Cancel();
+ HRESULT Close();
+}
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
index dd613b68b00..35ce1d68322 100644
--- a/include/windows.foundation.idl
+++ b/include/windows.foundation.idl
diff --git a/include/windows.foundation.collections.idl b/include/windows.foundation.collections.idl
index ba860a1e82e..2562d34791f 100644
--- a/include/windows.foundation.collections.idl
+++ b/include/windows.foundation.collections.idl
@@ -21,7 +21,7 @@
#endif
@@ -300,10 +274,10 @@ index dd613b68b00..35ce1d68322 100644
+import "asyncinfo.idl";
import "windowscontracts.idl";
/* import "eventtoken.idl"; */
/* import "ivectorchangedeventargs.idl"; */
@@ -130,6 +130,25 @@ namespace Windows {
@@ -53,6 +53,25 @@ cpp_quote("#endif")
]
delegate void TypedEventHandler<TSender, TResult>([in] TSender sender, [in] TResult args);
delegate HRESULT TypedEventHandler<TSender, TArgs>([in] TSender sender, [in] TArgs args);
+ interface IAsyncOperation<TResult>;
+
@@ -311,7 +285,7 @@ index dd613b68b00..35ce1d68322 100644
+ contract(Windows.Foundation.FoundationContract, 1.0),
+ uuid(fcdcf02c-e5d8-4478-915a-4d90b74b83a5)
+ ]
+ delegate void AsyncOperationCompletedHandler<TResult>([in] IAsyncOperation<TResult> *info, [in] AsyncStatus status);
+ delegate HRESULT AsyncOperationCompletedHandler<TResult>([in] IAsyncOperation<TResult> *info, [in] AsyncStatus status);
+
+ [
+ contract(Windows.Foundation.FoundationContract, 1.0),
@@ -327,15 +301,32 @@ index dd613b68b00..35ce1d68322 100644
namespace Collections
{
[
@@ -173,6 +192,8 @@ namespace Windows {
namespace Foundation {
declare {
interface Windows.Foundation.Collections.IVectorView<HSTRING>;
+ interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>;
+ interface Windows.Foundation.IAsyncOperation<boolean>;
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
index 90bbc876339..2bed3d54cda 100644
--- a/include/windows.foundation.idl
+++ b/include/windows.foundation.idl
@@ -21,7 +21,7 @@
#endif
import "inspectable.idl";
-/* import "asyncinfo.idl"; */
+import "asyncinfo.idl";
import "windowscontracts.idl";
/* import "eventtoken.idl"; */
/* import "ivectorchangedeventargs.idl"; */
@@ -119,3 +119,12 @@ namespace Windows {
}
}
}
+
+namespace Windows {
+ namespace Foundation {
+ declare {
+ interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>;
+ interface Windows.Foundation.IAsyncOperation<boolean>;
+ }
+ }
+}
diff --git a/include/windows.gaming.input.forcefeedback.idl b/include/windows.gaming.input.forcefeedback.idl
new file mode 100644
index 00000000000..fa9da2f7656
@@ -792,10 +783,10 @@ index 00000000000..824441eaff9
+ }
+}
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 8d65bfb72d1..9e02369f341 100644
index 79a7b2c0503..71c6cac0366 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -718,6 +718,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo"
@@ -714,6 +714,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo"
[Misc]
HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.Gamepad,"DllPath",2,"Windows.Gaming.Input.dll"
@@ -804,5 +795,5 @@ index 8d65bfb72d1..9e02369f341 100644
HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000
HKLM,Software\Clients\Mail,,2,"Native Mail Client"
--
2.29.2
2.20.1

View File

@@ -1,18 +1,18 @@
From 655ea5abd545db3990caf7c79909cb4993b52cef Mon Sep 17 00:00:00 2001
From 0386aec8078e9f75e1841db486a187bc9d07249d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 18:02:39 +0200
Subject: [PATCH 7/9] windows.gaming.input: Implement
Subject: [PATCH] windows.gaming.input: Implement
IRawGameControllerStatics::RawGameControllers stubs.
---
.../windows.gaming.input_main.c | 107 +++++++++++++++++-
1 file changed, 106 insertions(+), 1 deletion(-)
.../windows.gaming.input_main.c | 113 +++++++++++++++++-
1 file changed, 112 insertions(+), 1 deletion(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index 078043b0963..c73f08b248d 100644
index 1a40a8ddc35..b56a2a5962f 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -40,6 +40,7 @@ struct windows_gaming_input
@@ -33,6 +33,7 @@ struct windows_gaming_input
IGamepadStatics IGamepadStatics_iface;
IRawGameControllerStatics IRawGameControllerStatics_iface;
IVectorView_Gamepad IVectorView_Gamepad_iface;
@@ -20,7 +20,19 @@ index 078043b0963..c73f08b248d 100644
LONG ref;
};
@@ -173,6 +174,108 @@ static const struct IVectorView_GamepadVtbl vector_view_gamepad_vtbl =
@@ -56,6 +57,11 @@ static inline struct windows_gaming_input *impl_from_IVectorView_Gamepad(IVector
return CONTAINING_RECORD(iface, struct windows_gaming_input, IVectorView_Gamepad_iface);
}
+static inline struct windows_gaming_input *impl_from_IVectorView_RawGameController(IVectorView_RawGameController *iface)
+{
+ return CONTAINING_RECORD(iface, struct windows_gaming_input, IVectorView_RawGameController_iface);
+}
+
static HRESULT STDMETHODCALLTYPE vector_view_gamepad_QueryInterface(
IVectorView_Gamepad *iface, REFIID iid, void **out)
{
@@ -161,6 +167,108 @@ static const struct IVectorView_GamepadVtbl vector_view_gamepad_vtbl =
vector_view_gamepad_GetMany,
};
@@ -129,9 +141,11 @@ index 078043b0963..c73f08b248d 100644
static HRESULT STDMETHODCALLTYPE gamepad_statics_QueryInterface(
IGamepadStatics *iface, REFIID iid, void **out)
{
@@ -372,7 +475,8 @@ static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_get_RawGameControll
@@ -358,8 +466,10 @@ static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_remove_RawGameContr
static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_get_RawGameControllers(
IRawGameControllerStatics *iface, IVectorView_RawGameController **value)
{
struct windows_gaming_input *impl = impl_from_IRawGameControllerStatics(iface);
+ struct windows_gaming_input *impl = impl_from_IRawGameControllerStatics(iface);
FIXME("iface %p, value %p stub!\n", iface, value);
- return E_NOTIMPL;
+ *value = &impl->IVectorView_RawGameController_iface;
@@ -139,7 +153,7 @@ index 078043b0963..c73f08b248d 100644
}
static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_FromGameController(
@@ -499,6 +603,7 @@ static struct windows_gaming_input windows_gaming_input =
@@ -486,6 +596,7 @@ static struct windows_gaming_input windows_gaming_input =
{&gamepad_statics_vtbl},
{&raw_game_controller_statics_vtbl},
{&vector_view_gamepad_vtbl},
@@ -148,5 +162,5 @@ index 078043b0963..c73f08b248d 100644
};
--
2.28.0
2.20.1

View File

@@ -1,7 +1,7 @@
From 66d48431b91c17e3f87246e2c2243b2c2b5b30fb Mon Sep 17 00:00:00 2001
From 5350d7a4983151aef2435687b43017a78026d3c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 18:03:24 +0200
Subject: [PATCH 8/9] windows.gaming.input: Fake empty
Subject: [PATCH] windows.gaming.input: Fake empty
IRawGameControllerStatics::RawGameControllers vector.
---
@@ -9,10 +9,10 @@ Subject: [PATCH 8/9] windows.gaming.input: Fake empty
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index c73f08b248d..53f0b7e61fd 100644
index b56a2a5962f..813668a32da 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -236,28 +236,31 @@ static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_GetAt(
@@ -229,28 +229,31 @@ static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_GetAt(
IVectorView_RawGameController *iface, ULONG index, IRawGameController **value)
{
FIXME("iface %p, index %#x, value %p stub!\n", iface, index, value);
@@ -49,5 +49,5 @@ index c73f08b248d..53f0b7e61fd 100644
static const struct IVectorView_RawGameControllerVtbl vector_view_raw_game_controller_vtbl =
--
2.28.0
2.20.1

View File

@@ -1,18 +1,18 @@
From 47c3fa730f9607b5907747a143cf0458a2a76c35 Mon Sep 17 00:00:00 2001
From 0f7f9030a46d09da6d75c36a46b7854fb0128a46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 13 Oct 2020 18:03:42 +0200
Subject: [PATCH 9/9] windows.gaming.input: Fake
IEventHandler_RawGameController support.
Subject: [PATCH] windows.gaming.input: Fake IEventHandler_RawGameController
support.
---
dlls/windows.gaming.input.dll/windows.gaming.input_main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
index 53f0b7e61fd..a9d09d4a446 100644
index 813668a32da..6274a9144dc 100644
--- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
+++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c
@@ -449,28 +449,28 @@ static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_add_RawGameControll
@@ -442,28 +442,28 @@ static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_add_RawGameControll
IRawGameControllerStatics *iface, IEventHandler_RawGameController *value, EventRegistrationToken* token)
{
FIXME("iface %p, value %p, token %p stub!\n", iface, value, token);
@@ -46,5 +46,5 @@ index 53f0b7e61fd..a9d09d4a446 100644
static HRESULT STDMETHODCALLTYPE raw_game_controller_statics_get_RawGameControllers(
--
2.28.0
2.20.1

View File

@@ -6,5 +6,3 @@
# To support Death Stranding
Fixes: [49756] windows.gaming.input: New DLL
Depends: windows.media.speech.dll
# In the process of upstreaming.
Disabled: true