Supersedes https://gitlab.winehq.org/wine/wine/-/merge_requests/8338
The header cannot seem to be generated easily from an IDL, gameinput has some unfortunate versioning which reuses the same identifiers across versions, in an incompatible way and sometimes sharing only a subset of them (for instance enum values), and uses C++ namespaces to separate versions.
The implementation needs to support every interface version at the same time, which is implemented by wrapping identifiers and adding version suffixes whenever it is included by the implementing code. The tests are also using that so we can tests multiple versions in the same file.
--
v3: dinput/tests: Add some gameinput tests.
gameinput: Introduce new DLL.
include: Add gameinput.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8733
On Wed Aug 20 11:26:51 2025 +0000, Nikolay Sivov wrote:
> I'm talking about changes to VarAnd implementation - what we need is a
> least a helper that implements such type coercing with progressively
> larger integer types. Or better using something from oleaut32 itself to
> do such type conversion. It's most likely not limited to VarAnd().
Yes, you're right. We can write a helper function to handle type coercion.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8635#note_113273
Order of day or month and time or year needs to be considered.
The year also needs to be adjusted correctly.
--
v3: wininet/internet: Fix year parsing to include millennium.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8614
On Tue Aug 5 01:30:09 2025 +0000, Maotong Zhang wrote:
> Hello, I'm not entirely sure which additional test cases are needed.
> Could you please advise? Thanks!
I'm talking about changes to VarAnd implementation - what we need is a least a helper that implements such type coercing with progressively larger integer types. Or better using something from oleaut32 itself to do such type conversion. It's most likely not limited to VarAnd().
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8635#note_113260