Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[d3d9] Don't show/hide a software cursor #3562

Merged
merged 1 commit into from
Aug 2, 2023

Conversation

WinterSnowfall
Copy link
Contributor

@WinterSnowfall WinterSnowfall commented Jul 12, 2023

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 to D3D9DeviceEx::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, only D3D8Device::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.

@WinterSnowfall
Copy link
Contributor Author

WinterSnowfall commented Jul 12, 2023

On second thought, don't use warning for the logger, because some games, such as Age of Mythology, seem to spam it a lot.

@misyltoad misyltoad merged commit b0b46fd into doitsujin:master Aug 2, 2023
@WinterSnowfall WinterSnowfall deleted the d3d9-swcursor branch August 2, 2023 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants