YEah i just found this out too,
Here is my 'fix', workaround or whatever you want to call it. I have used the built in max cursor position report instead of the b3d one. It seems to be pretty smooth.
Here is my 'fix', workaround or whatever you want to call it. I have used the built in max cursor position report instead of the b3d one. It seems to be pretty smooth.
Type T_MouseLook Field resetX% Field resetY% Field speedX% 'not needed externally but may be useful for other things Field speedY% Field pitch:float 'smoother inverse value for rotation Field yaw:float Method Init(rX% , rY%) resetX = rx resetY = ry End Method Method Pollmouse() speedX = resetX - MouseX() speedY = resetY - MouseY() yaw :- Float(-speedX) / 15 pitch :+ Float(-speedY) / 15 MoveMouse(resetX,resetY) End Method Method flush() speedX = 0 speedY = 0 MoveMouse(resetX,resetY) End Method End Type 'Initialise mouselook local mlook:T_MouseLook=New t_mouselook mlook.init(512,350) ' or width/height*.5 etc mlook.flush() 'kills any initial movements While Not KeyDown(KEY_ESCAPE) ;Poll mouse and adjust rotation values. mlook.pollmouse() RotateEntity cam, mlook.pitch, mlook.yaw, 0 (......rest of main loop)