twhl-community / halflife-updated

Half-Life SDK updated to compile under VS2019 and 2022. Check README.md for more information.
Other
382 stars 146 forks source link

Cursor invisible and unmoveable on campaign selection screen #211

Closed RykahKnight closed 1 year ago

RykahKnight commented 1 year ago

It doesn't matter which combo of graphical options I use (software, opengl, 4:3, 16:9, fullscreen, windowed), the issue stated in the title happens. Makes it extremely difficult to use this screen, as I have to keep pausing and unpausing the game to move the cursor around.

I'm using a Ryzen 5 3600 CPU and Radeon RX 5500 XT GPU, probably relevant given AMD's lack of support on legacy OpenGL versions.

SamVanheer commented 1 year ago

This happens because when raw input is enabled the VGUI1 mouse cursor is invisible.

I reported this issue here: https://github.com/ValveSoftware/halflife/issues/1377#issuecomment-1120393032

The engine has to detect mods' SDL2 usage correctly to show the cursor. I tried to work around the issue by forcing the cursor to be visible but it doesn't seem to be possible from client code.

The exact same client code works fine in Half-Life because the engine knows it uses SDL2.

As a workaround you can disable raw input to use VGUI1 menus.

SamVanheer commented 1 year ago

This turned out to be a problem with the workaround for the mouse-stuck-in-box bug (https://github.com/ValveSoftware/halflife/issues/1377).

Raw input uses relative mouse mode which hides the cursor. The engine only enables relative mouse mode when the cursor isn't visible, so this workaround had to be updated to also do that. As a side-effect it seems that mouse movement while paused doesn't carry over anymore either.