Created attachment 3559[details]
Suggested solution
If you have 1280x960 resolution, for example, each mouse delta in UI_MouseEvent( int dx, int dy ) will be actually doubled from 640x480 and cursor movements will look choppy.
So we should use native display resolution space and then scale all moves to 640x480 virtual UI space. Later, UI will convert them back to screen coordinates in UI_AdjustFrom640()
Created attachment 3559 [details] Suggested solution If you have 1280x960 resolution, for example, each mouse delta in UI_MouseEvent( int dx, int dy ) will be actually doubled from 640x480 and cursor movements will look choppy. So we should use native display resolution space and then scale all moves to 640x480 virtual UI space. Later, UI will convert them back to screen coordinates in UI_AdjustFrom640()