entryway Posted June 15, 2010 Grader said:So you are saying that when WINDIB is used there's no way around to "free" the cursor? It's possible to make it differently. PrBoom uses that method and that's because its behavior is different.prboom.bat SET SDL_VIDEODRIVER=windib prboom.exe But if you do not use this (current) technique: SDL_GetRelativeMouseState(&x, &y); D_PostEvent(ev_mouse, x, y); SDL_WarpMouse(centerx, centery); then mouse movements will be awful. PrBoom still has it. After I discovered why SDL mouse movement is so laggy in some situations (more correctly: I discovered how to fix, not why it happens) I recoded it in current way and most (all?) SDL-based ports have stolen that. You can find few topics about that here. Current behaviour is much better, because mouse movement is smoother. 0 Share this post Link to post
entryway Posted June 15, 2010 Grader said:So you are saying that when WINDIB is used there's no way around to "free" the cursor? http://prboom-plus.sourceforge.net/prboom-plus-2.5.0.7.test2-win32.zip sdl_videodriver "default" // default means windib for WinXP mouse_accumulate_motion 1 // this variable will be created after first run Do you still have the issue? glboom-plus -geom 120x200w works at least much better 0 Share this post Link to post
Grader Posted June 16, 2010 entryway said:http://prboom-plus.sourceforge.net/prboom-plus-2.5.0.7.test2-win32.zip Do you still have the issue? glboom-plus -geom 120x200w works at least much better Yep. It's still has it. But I guest it's fine, since you always can set 1280x1024 and/or lower mouse resolution... And maybe add this to FAQ... 0 Share this post Link to post
Grader Posted June 16, 2010 Grader said:Yep. It's still has it. But I guest it's fine, since you always can set 1280x1024 and/or lower mouse resolution... And maybe add this to FAQ... My bad :( Misunderstood you. mouse_accumulate_motion is added and set to 0 by default. Setting it to 1 DID help! You did it, man, thanks! :) 0 Share this post Link to post
Grader Posted June 16, 2010 My guess is - you changed the code so that calling SDL_GetRelativeMouseState(&x, &y) and centering the mouse is done more often and results are accumulated untill next calling of D_PostEvent(&ev), right? 0 Share this post Link to post
entryway Posted June 16, 2010 Grader said:My guess is - you changed the code so that calling SDL_GetRelativeMouseState(&x, &y) and centering the mouse is done more often and results are accumulated untill next calling of D_PostEvent(&ev), right? Yes. I do it each frame in case of uncapped framerate and instead of sleep(ms_to_next_tick) in case of capped framerate http://pastebin.org/335903 0 Share this post Link to post