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] The Big Secret of a Small Town cursor issues. #4307

Open
Blisto91 opened this issue Sep 30, 2024 · 3 comments
Open

[d3d9] The Big Secret of a Small Town cursor issues. #4307

Blisto91 opened this issue Sep 30, 2024 · 3 comments

Comments

@Blisto91
Copy link
Contributor

Game have an issue with dxvk where as soon as you move the cursor it turns invisible. If you then go in to options and enable "custom cursors" it will show a game cursor with the desktop cursor on top of it.
With wined3d the cursor shows fine in the first scenario and in the second it will shrink the cursor to about the desktop ones size and show it with the game graphic.

A interesting detail is that, before you move the cursor with dxvk so it disappears, it will appear small without the "custom cursors" option. With wined3d it appears big.
With the option enabled it will appear small for wined3d and big for dxvk.

Haven't found configs to affect the issue and the game also doesn't report using a software cursor.

Software information

The Big Secret of a Small Town
Settigns like fullscreen or windowed doesn't matter

System information

  • GPU: RTX 4080
  • Driver: 550.40.71
  • Wine version: Proton Experimental
  • DXVK version: 1.5.5 -> master. 1.5.5 is earliest that runs the game

Apitrace file(s)

https://drive.proton.me/urls/M5VK2ZR6QW#AenBlD6ua3u7
Traces with wined3d and dxvk. Custom cursors is enabled to being with and then disabled.

Log files

steam-409090.log

@WinterSnowfall
Copy link
Contributor

The game isn't calling SetCursorProperties() except on frame 0 and 2, so I'm guessing that custom cursor is loaded via some other means? That has the potential to mess up a lot of things.

D3D wise, I don't think we're handling this incorrectly, although maybe we can try getting the address of the existing win32 cursor pointer instead of generating one ourselves? I'm assuming the game might just overwrite that in its own code and expect it to work? Not really sure.

It is however calling SetCursorPosition() on each frame, so it's definitely expecting to use the d3d cursor throughout the game.

@WinterSnowfall
Copy link
Contributor

@Blisto91 Might want to give this a quick recheck with latest master. If the behavior hasn't changed, I'll eventually explore the dubious avenue I had in mind.

@Blisto91
Copy link
Contributor Author

Forgot to reply for all to see that i did give this a spin on latest master but with no change.
Also checked on Windows with dxvk and there it behaves the same.

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

No branches or pull requests

2 participants