-Creating a new branch to create a mouse input abstraction for different input libraries.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3844 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Initial commit of the MouseInput class.
-Separate SDL mouse input code from the keyboard and window manager event handling and put it into the SDLMouse class.
-Add client cvar mouse_driver which will allow users to select which mouse library to use (default: SDL)

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3845 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add support for raw mouse input in Windows (WM_INPUT messages) when the client cvar mouse_driver is set to 1.
-Add win32inc.h to commonize WIN32 pre-processor defines for Windows platforms.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3846 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Base class's destructor needs to be virtual to ensure child class destructors are executed when deleting a pointer to the base class. Fixes a crash when changing from RawWin32Mouse to SDLMouse.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3847 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Backup pre-existing mouse raw input devices when registering our own for RawWin32Mouse and restore the pre-existing input devices when exiting or changing to a different mouse driver.
-Fixes the issue of broken mouse input after switching from RawWin32Mouse to SDLMouse.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3848 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add mouse_driver to the Mouse Options menu. The availible options are dependent on the user's operating system.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3849 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Update the event hook for RawWin32Mouse to only examine PM_REMOVE messages rather than duplicated PM_NOREMOVE messages.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3850 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Rework input grabbing when the game window goes in and out of focus.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3851 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Add and populate a structure to hold the ID, name, availibility test function pointer, and factory function pointer for each of the mouse driver types.
-The Mouse Options menu tests the availibility of each mouse driver and dynamically updates.
-Added availibility checks to the mouse_driver cvar callback to ensure the user selects a valid mouse driver for their system. SDLMouse is the default fallback.
-Added an availibility test for RawWin32Mouse, which tests the existence of various raw input functions in user32.dll

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3852 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Create a WNDPROC for RawWin32Mouse callback instead of using SetWindowsHookEx. The RawWin32Mouse WNDPROC processes WM_INPUT messages and hands off all others to the SDL WNDPROC.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3853 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Use the Odamex app window handle when registering raw input devices.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3854 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Force I_ResumeMouse or I_PauseMouse when toggling between windowed and full-screen modes.
-Fixed a bug that caused the cursor to be displayed and mouse movement ignored even when the app window has focus when going from full-screen to windowed.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3855 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Make RAW_WIN32_MOUSE_DRIVER the default on Windows platforms.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3856 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Refactor RawWin32Mouse::processEvents to simplify it.
-Refactor installation of WNDPROC and registration of RAWINPUTDEVICE into separate functions.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3857 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Refactor RawWin32Mouse a bit.
-Add a temporary console command mouse_debug to print some debugging information about the current mouse driver internals.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3858 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Remove duplicated code to retrieve information for a registered mouse raw input device.
-Fix a bug that disabled RawWin32Mouse when the mouse is paused and then resumed.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3860 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Removing a RAWINPUTDEVICE requires the dwFlags field to be RIDEV_REMOVE & the hwndTarget field to be NULL.
-Fix some issues pausing and unpausing RawWin32Mouse.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3861 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Call I_PauseMouse prior to SDL_SetVideoMode to disable RawWin32Mouse's input handler. SDL_SetVideoMode reinitializes DirectInput, thrashing RawWin32Mouse's input handler in the process. I_ResumeMouse is called afterwards to reset RawWin32Mouse's input handler.
-This fixes the unresponsive mouse after toggling vid_fullscreen with RawWin32Mouse.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3862 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Merge from trunk.

git-svn-id: http://odamex.net/svn/root/branches/mouse_abs@3893 b0bcef46-2027-0410-bd56-ab726e9a1d04
-Merge from the mouse_abs branch.

git-svn-id: http://odamex.net/svn/root/trunk@3894 b0bcef46-2027-0410-bd56-ab726e9a1d04