Hey - just thought I'd let you guys know. I discovered and fixed a bug with the mouse. Just to be clear, I'm not using r114, I'm still using my derivative of r113. I entered this as an "Issue" on the source code repository. I'll just copy to here what I wrote there:
What steps will reproduce the problem?
dbPositionMouse(dbMouseX(), dbMouseY());
What is the expected output? What do you see instead?
As long as the mouse pointer is within the window, it should remain still and under normal user control. But what happens is that it tends to move in a straight line, on its own.
Please provide any additional information below.
I tracked down the cause. The mouse position calculations are scaled according to the current window size (i.e. if the window has been resized by the user, maximized, etc). And the scale is a floating point calculation. However the input and output position information is quantized to integers. So there is continuous truncation of essential precision needed to keep the mouse stable.
Thus, in my own copy of the source code, I changed those mouse position variables (including how they're used and recalculated in the various functions) from ints to floats. This solved the problem. The mouse is now stable whether it's in full-screen, windowed mode, or maximized window mode.
Judging what we see is the greatest blinder and self-limiter in the universe.
What we perceive is never reality. It is only a story we tell ourselves based on our current perspective, which has far more to do with our beliefs about ourselves than with anything else.