[d3d9] Don't show/hide a software cursor #3562
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since dxvk doesn't implement a software cursor, don't attempt to change its visibility.
Not 100% certain if this is the right behavior vs native, but I'm trying to fix [...] AlpyneDreams#59 , and WineD3D simply seems to ignore the game's calls to
D3D8Device::ShowCursor(FALSE)
, which get forwarded toD3D9DeviceEx::ShowCursor(FALSE)
with d8vk, as the game's software cursor remains visible even after these calls. This is the right, or at least expected, behavior in this case.I can hypothesize Cossacks 2 is actually trying to hide a mythical and undefined hardware cursor perhaps, although it doesn't explicitly call
SetCursorProperties()
at all, onlyD3D8Device::ShowCursor(FALSE)
after loading the main menu or starting a new game, which is a rather odd behavior...Age of Mythology also tries to hide/show a software cursor created with Win32, and we end up setting it as nullptr on
D3D8Device::ShowCursor(TRUE)
at the moment, which clearly isn't right. This was causing the missing cursor on the game's main menu.