This reimplements all logic from the server in kernelbase, which is needed because Nt*Key ignores KEY_WOW64_32KEY. Unfortunately this requires a lot of server calls.
The full branch can be found here
https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-new
The old approach that doesn't duplicate code to kernelbase can be found here
https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-old
I ran make_requests by the way, not sure if we should still leave that out with the gitlab workflow.
--
v2: kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Add support for shared registry keys.
ntdll: Add a KeyFlagsInformation query.
kernelbase: Factor out the common parts of open_key() and create_key().
kernelbase: Reimplement create_key() using open_subkey().
kernelbase: Factor out opening a subkey.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1445
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45273
--
v13: gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.
gdiplus: fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
gdiplus: Add support for widen path with GpCustomLineCap.
gdiplus: use GpPointF for drawing in widen_closed_figure
gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
gdiplus: Remove not used LineCustomCap parameter.
gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1297
This video codec is used by games such as Richman 4, and Zwei: The Arges Adventure.
The decoder logic is based on code from the FFmpeg project.
--
v4: loader/wine.inf: Enable ir50_32 video codec.
ir50_32: Implement decompression to 24-bit RGB.
ir50_32: Implement IV50_DecompressGetFormat.
ir50_32: Implement IV50_DecompressQuery.
ir50_32: Implement IV50_GetInfo.
ir50_32: Add stub dll.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1301