stoping code because I don't like the way it was done, I'll work on
implementing a better version next.
* Use of poll() is not standard. I replaced it with usleep(),
which I think is more portable. I know linux supports usleep() and all
BSD's. Another option would be to use select(), which is much more
widely supported than poll().
* Modified in_x11.c to stop sound and turn on keyboard repeat
when the Quake window loses focus. It turns them back on/off when the
window gains focus. I often play quake and leave the window to do
something else, and the lack of repeat and quake sounds were annoying.
* Fix the -nomouse option so it still allows keyboard actions.
The current code skips keyboard setup when -nomouse is used.
* Fix so config.cfg option "confirm_quit" works under X11.
And of course the very slight rework of the input system, at least
in_x11 gets shifts right for different keymaps.
Oh, by the way, ALL other input targets are broken in a very 'will not
compile' way.
Lots of changes, more then I can cover quickly.
Things now look, different, and probally much better!
Note, SOFTWARE RENDERING IS BROKEN with this commit!
int. Cleaned up prototypes to not include variable names.
dga_check.c: Fix bug in DGA detection that lead to segfault.
in_x11.c: Better DGA input support for X targets; The -nodga parameter is
gone, it is now the in_dga Cvar, which is dependant on the _windowed_mouse
Cvar. in_dga is archived.
input.h: Use int_val for freelook
cl_input.c: Use freelook macro instead of in_mlook.state
in_svgalib.c: freelook support and whitespace
in_win.c: whitespace and minor optimization in mouse support
in_x11.c: freelook support
vid_ggi.c: joystick support and minor opt in mouse support
vid_sdl.c: joystick support, freelook support, minor mouse opt, spaces->tabs
support are built with joy_null.c. To create a joystick driver for a new
system, take a look at joystick.h and joy_null.c for the driver
interface. I'd like to see a Windows driver using this interface, it would
probably simplify in_win.c greatly.
Some minor changes to DGA code I couldn't be bothered to back out before
I committed. They don't hurt anything, but they don't really improve
matters much either. The mouse cursor still doesn't get warped off the
screen, but it's no longer bright blue - now it's black and white like
normal. I'm rewriting the damned DGA code from scratch to Get It Right
this time.
caused Voodoo3 users to get a black mouse cursor that kept getting warped
to the center of the screen.. It was rather ugly and hard to play. So
I added DGA. That made the mouse cursor blue and stay where it was. So
I moved the XGrabPointer to after the XWarpPointer, problem seems to be
fixed. I hope this works for someone other than me. =p