This MR adds a very basic implementation of `IPropertyDescription` for system defined properties (i.e, the ones in \<propkey.h\>). This is needed to support the [`Properties`](https://learn.microsoft.com/en-us/uwp/api/windows.devices.enumeration.deviceinformation.properties?view=winrt-26100) method for `IDeviceInformation` in Windows.Devices.Enumeration (!6874).
--
v18: propsys: Implement IPropertyDescription for several known system properties.
propsys: Add IPropertyDescription stub for system defined properties.
propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
propsys: Add stubs for PSGetNameFromPropertyKey.
propsys: Add stubs for PropertySystem.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6892
We only check alpha value before, now also check red, green, blue.
--
v2: comctl32/tests: Also test v5 with test_alpha()
comctl32/tests: Test image flags in test_alpha.
comctl32/tests: Use winetest_{push,pop}_context in test_alpha.
comctl32/tests: Test adding 32bpp images with alpha to 24bpp image list.
comctl32/tests: Test image bitmap bits in test_alpha.
comctl32/tests: Check RGB value in test_alpha.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8261
FFB Autocenter introduced in https://gitlab.winehq.org/wine/wine/-/merge_requests/4911
had one major misunderstanding.
The USB PID standard doesn't actually define any explicit way to
autocenter a device. One could of course use the spring effect with a
deadzone of 0 and dead band of 0. This is what I'm actually working on
for the Linux PID driver (spring + friction/damper).
Some devices implement autocenter in firmware when they receive the
DC Disable Actuators command. Very few, if not just one, implement this
weird autocenter effect on slot 1. This is, from what I can gather, only
implemented on the MS SideWinder joystick(s) and the Windows' USB PID
driver is created around these devices.
Windows PID driver is a bit out of spec, is quite permissive when it
comes to fields missing in the descriptor (basically, only effect types
and their effect type blocks are optional). Another thing it does is
handling of this out-of-spec autocentering for their joysticks.
Funnliy enough, the creator of the Linux PID driver based the initial
code on testing with MS Sidewinder so it's autocentering is supported.
This is where the autocentering mentioned in the MR comes from. It's not
the directinput api that does it but the Windows PID driver. As such,
autocentering on reset should be left to the drivers, not handeled by
Wine.
SDL lacks full reset support and Linux is even more barebones, whre it's
not even possible to query the device state, effects etc (something I'm
working on slowly). As such, when games send out RESET to prepare the
device, the device starts autocentering for no good reason and the
effect is not removed once other effect are uploaded and played which
would be the case for MS sidewinder.
tl;dr
Set autocentering to 0 instead of max value when DISFFC_RESET is
reveived to remove the unwanted autocenter behavior.
Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8605
Try to lookup icon information from shell32.dll. If an icon is not
found, default to the file icon.
Instead of defaulting to -1, which was failing for Affinity Photo's
installer.
--
v5: shell32: Try to lookup icon, with fallback on failure
https://gitlab.winehq.org/wine/wine/-/merge_requests/8367