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

Fix #985. #1020

Merged
merged 1 commit into from
Dec 10, 2021
Merged

Fix #985. #1020

merged 1 commit into from
Dec 10, 2021

Conversation

Hoikas
Copy link
Member

@Hoikas Hoikas commented Nov 13, 2021

The problem here is that when the mouse moves quickly, the movement delta is so large that the mouse enters the "left", "right", or "down" arrow regions briefly before the re-center logic is able to reposition the mouse. This triggers the input code to change the cursor to one of those appropriate images. The problem happened in that both the mouse cursor update routine and the cursor creation routine had logic problems that would show the cursor when it changes. The latter would even override forced cursor hides done by plMouseDevice::HideCursor(true).

I elected to NOT make panning the camera a forced hide (see plCameraBrain1::MsgReceive()'s S_SET_FREELOOK handler) because that seems like more of a gameplay oriented feature. It would be a shame if the cursor got stuck force hidden because we accidentally missed a mouse release, mouse-escaping the window, or something like that.

The problem here is that when the mouse moves quickly, the movement
delta is so large that the mouse enters the "left", "right", or "down"
arrow regions briefly before the re-center logic is able to reposition
the mouse. This triggers the input code to change the cursor to one of
those appropriate images. The problem happened in that both the mouse
cursor update routine and the cursor creation routine had logic problems
that would show the cursor when it changes. The latter would even
override forced cursor hides done by `plMouseDevice::HideCursor(true)`.

I elected to NOT make panning the camera a forced hide (see
`plCameraBrain1::MsgReceive()`'s `S_SET_FREELOOK` handler) because that
seems like more of a gameplay oriented feature. It would be a shame if
the cursor got stuck force hidden because we accidentally missed a mouse
release, mouse-escaping the window, or something like that.
@Deledrius Deledrius self-requested a review November 16, 2021 23:41
@Hoikas Hoikas merged commit 26d7018 into H-uru:master Dec 10, 2021
@Hoikas Hoikas deleted the fix_985 branch December 10, 2021 02:32
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.

None yet

2 participants