This is part XX1 of cmd engine rewrite.
It covers:
- tests & fixes for success/failure of changing current drive,
- tests & fixes for success/failure when using pipes,
- new implementation of CHOICE command.
Notes:
- CHOICE is not a builtin command in native cmd.exe,
but I kept it builtin for simplicity,
- CHOICE was (partially) implemented using syntax from
MS-DOS days; it has been moved to use Windows' syntax.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6090
This does break compatibility in a few subtle ways. For example, the native
headers do not require COBJMACROS, and they include objbase.h. It's not clear to
me that these differences matter, but if they do, we can add widl extensions to
account for them.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6032
The first two patches here address an issue I encountered when using Wine's d3dx9 with DXVK in the game Command and Conquer 3. The game calls `D3DXLoadSurfaceFromMemory` on a multisampled render target. This ends up going through the `lock_surface()` helper in d3dx9, which eventually calls `UpdateSurface()` in `unlock_surface()` to copy the staging surface back to the multisampled render target. This succeeds on wined3d even though it shouldn't, and fails on DXVK like it should.
The second two patches address an issue reported in Empires: Dawn of the Modern World, where the game expects a device reset to reset the scene state.
--
v3: wined3d: Clear scene state on device state reset.
d3d8/tests: Add a test for device reset after beginning a scene.
d3d9/tests: Add a test for device reset after beginning a scene.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6042