Commit Graph

126 Commits

Author SHA1 Message Date
Zack Middleton da8a74d734 Fix variable declaration for C89 compilers 2015-06-28 16:29:10 -05:00
Tim Angus 61825d8e5f Check SDL_GetNumDisplayModes return value for errors 2015-06-28 18:01:03 +01:00
Zack Middleton e5af084211 Remove erroneous new line from error message 2015-06-12 13:08:10 -05:00
Tim Angus 77ad75887f Merge pull request #105 from smcv/sdl-modes
Don't crash if more than 128 modes are available
2015-06-12 16:29:38 +01:00
Zack Middleton 5082548bf5 Horizontal scroll should not cause K_MWHEELDOWN key press 2015-05-29 16:38:43 -05:00
Zack Middleton 148603c951 Don't run vid_restart when "resized" to current size 2015-02-28 18:35:41 -06:00
Ensiform b9e97b3857 Move Event processor call down below the mouse checks.
Only send mouse events if both values are non-zero.

Hopefully this helps with the event overflow spam that can sometimes
happen on loads or laggy situations.
2015-01-26 02:39:58 -06:00
Simon McVittie df7dab721f Don't crash if more than 128 modes are available 2015-01-07 23:39:12 +00:00
Zack Middleton a700b76722 Fix reading 4 byte UTF-8 text input 2014-12-19 21:56:54 -06:00
Zack Middleton 1d016e6ff5 Clear window buffer when it's created
When starting the game in windowed mode, the window buffer used whatever
was on the screen before running the game. Kind of like you could see
through the window, but it doesn't update what happens behind it.

It makes it look like something is broken or non-responsive.

So clear the window opengl buffer to black.

Credit to theinvsblman for the code.
2014-11-07 21:50:00 -06:00
Zack Middleton 24923615b7 Don't add duplicate resolutions to r_availableModes
SDL can give the same resolution with different refresh rates.
The refresh rate isn't used, so only add resolution to mode list once.
2014-09-20 19:23:33 -05:00
Zack Middleton 9fbbf4214d Fix Windows key bind name on non-Mac using SDL2
SDL 1.2 sends SDKL_*META (command) and SDLK_*SUPER (windows key).
SDL2 sends SDLK_*GUI for both.
2014-09-11 20:04:28 -05:00
Zack Middleton 878cda6a20 Fix binding 'context menu' key using SDL2
SDL 1.2 converted Windows' VK_APPS and X11 XK_Hyper_R to SDLK_MENU.
SDL2 has it as a separate SDLK_APPLICATION key, so convert it to K_MENU too.
2014-09-11 20:03:54 -05:00
Zack Middleton 1d95ef210e SDL 2 scroll/caps/num lock keys send KEYUP event when key is released 2014-08-28 20:09:37 -05:00
Zack Middleton 077f6bd068 Fix binding KP_NUMLOCK
Restore mapping SDL numlock to quake3 numlock.
2014-08-26 23:01:18 -05:00
Tim Angus 2a3368481d Merge branch 'master' into sdl2
Conflicts:
	Makefile
	code/renderergl2/tr_image.c
2014-08-25 15:00:48 +01:00
Zack Middleton 1d664a3a10 Remove unused cvar in_joystickDebug 2014-07-03 20:59:54 -05:00
Zack Middleton 5994564537 Remove unused array joy_pressed 2014-06-19 20:48:54 -05:00
Zack Middleton 6a33a69795 Disable key repeat if key catcher is 0
SDL1.2 branch disables key repeat when key catcher is 0.
Presumably to prevent binds from executing multiple times.

SDL2 replaced being able to disabled key repeat using SDL_EnableKeyRepeat
with a non-zero repeat value in the key event.
2014-05-19 03:45:44 -05:00
Zack Middleton 9f22ae9cb2 Fix ctrl-c etc codes for edit fields 2014-03-17 12:46:09 -05:00
Zack Middleton 344ff23164 Fix multisampling on X11
Setting SDL_GL_ACCELERATED_VISUAL was disabled for ioq3 SDL 1.2
for other reasons. However, it causes creating GL context to fail
if multisampling is enabled on X11 for both SDL1.2 and SDL2.

Tested using nVidia proprietary driver on Debian 7.
2014-03-17 12:24:59 -05:00
Zack Middleton 8455b5a833 Don't crash when fail to create SDL window 2014-03-15 17:54:00 -05:00
Zack Middleton ed087bb89e Merge branch 'master' into sdl2 2014-02-07 23:24:12 -06:00
Zack Middleton 7c0491d7fd Add latch to r_centerWindow and r_allowResize 2013-12-06 23:42:23 -06:00
Zack Middleton 952fd0489c Readd backspace char event for UI VM text fields
UI VMs expect a backspace char event, but sdl2 branch only was only sending a key event.
Revert cl_keys.c to master branch (it would cause backspace to happen twice in console).
2013-11-26 17:03:15 -06:00
Zack Middleton 8c1d3c635c Use bundle icon on Mac OS X instead of internal 32x32 window icon 2013-10-19 01:54:58 -05:00
Zack Middleton cb153f2aaa Fix warning that SDL_GetKeyboardState return value is used non-const 2013-10-19 00:39:07 -05:00
Zack Middleton c6a61d212a Fix SDL2 losing event subsystem
Quiting SDL Video or Joystick subsystem implies quiting the Event subsystem in SDL2.
SDL keeps track of number of init and shutdown calls for each subsystem.
Shuting down video or joystick more or equal to number of times they're inited will lead to event shutdown.

Toggling in and out of fullscreen or running in_restart twice causes SDL event subsystem to shutdown, making input not work.

If the console is closed, IN_GobbleMotionEvents gets stuck in a loop. SDL_PeepEvents returns -1 when there is an error, but we assume non-0 means read more events.

IN_ShutdownJoystick needs to check if joystick subsystem was inited before quitting it, otherwise we may cause SDL event subsystem to shutdown.
2013-10-18 16:31:19 -05:00
cmf028 11c3bed74d Send key up events for the mouse wheel
Previous versions of SDL would send SDL_MOUSEBUTTONUP events for the mouse wheel immediately following the corresponding SDL_MOUSEBUTTONDOWN event
2013-09-23 12:21:21 -05:00
cmf028 7d83bba2d0 Set com_minimized to 0 when the window is restored 2013-09-23 12:21:21 -05:00
cmf028 d7444b8ca1 Don't set the window title twice 2013-09-23 12:21:20 -05:00
Tim Angus 58b8cfa0b3 Various fixes from Fuma 2013-09-15 23:54:52 +01:00
Tim Angus fb9270306b Fix initial window position being top left 2013-08-29 19:15:35 +01:00
Tim Angus bde7665462 Merge branch 'master' into sdl2
Conflicts:
	code/sdl/sdl_input.c
2013-08-16 23:34:08 +01:00
Zack Middleton 81909bb266 Fix text getting appended to vid_restart in command buffer
I was getting unknown command "vid_restart-button2" warning on OSX when trying to use alt-return to toggle fullscreen.
2013-08-03 17:40:50 -05:00
Zack Middleton 30fcabec65 SDL Mouse Button clean up
Make 'b' variable an int so that key values more than 255 will work (not currently an issue in ioq3 afaik).
Use SDL_BUTTON_* for easier transition to SDL2.
(SDL2 doesn't have SDL_BUTTON_WHEELUP or SDL_BUTTON_WHEELDOWN, X1/X2 are different values.)
2013-07-09 14:41:56 -05:00
Tim Angus d9d52f0306 Merge branch 'master' into sdl2
Conflicts:
	Makefile
	code/renderercommon/qgl.h
	code/renderergl1/tr_local.h
	code/sdl/sdl_glimp.c
2013-05-08 14:27:15 +01:00
Tim Angus 2da0fd6de8 Add renderercommon/tr_common.h 2013-02-16 20:58:04 +00:00
Tim Angus f6fb9eb602 renderer -> renderergl1, rend2 -> renderergl2 2013-02-15 23:46:37 +00:00
Tim Angus 51df89ab13 Remove the SMP renderer feature 2013-01-24 22:53:08 +00:00
Tim Angus 42586b782b Improve console key situation 2013-01-21 22:20:15 +00:00
Tim Angus 9b8711d2e1 Fix wacky patch for r_ignorehwgamma 2013-01-19 21:39:35 +00:00
Tim Angus aaea838d39 Convert SDL text input to UTF-32 2013-01-19 21:35:09 +00:00
Tim Angus 3105d62027 Allow hardware gamma, in theory 2013-01-18 21:53:37 +00:00
Tim Angus 61ed67bd1a Make the mousewheel work 2013-01-17 19:04:27 +00:00
Tim Angus f478761e07 Use SDL 2 instead of SDL 1.2 2013-01-17 18:20:03 +00:00
Zack Middleton 0167b439c9 Don't include client.h in sdl_glimp.c as it is part of the external renderer lib. 2012-10-13 23:15:02 +00:00
Zack Middleton 1aaf9d3e7b Use correct fallback height and width for r_mode -2. 2012-08-27 15:38:55 +00:00
Zack Middleton 42d3ff8d1d Added r_mode -2, uses desktop resolution. Bug #5408. Patch by Andrei Drexler and myself. 2012-08-27 14:52:41 +00:00
Thilo Schulz 1af9c636a5 r_ignorehwgamma 1 does not actually turn on software gamma (#5511) - patch by Serge Belyshev 2012-07-01 17:01:30 +00:00