Commit graph

149 commits

Author SHA1 Message Date
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
Zack Middleton
fb1f629bbc Removed unnessicary "!!". 2012-06-01 19:49:07 +00:00
Zack Middleton
021ce233b2 #5484 - Remove unneeded tr_local.h include from sdl_input.c. Patch by Harley Laue. 2012-04-04 17:16:11 +00:00
Zack Middleton
7a1efc19a4 Support up to 16 joystick axes, select which to use with j_*_axis cvars. 2012-02-15 18:26:08 +00:00
Zack Middleton
4113f63a63 Changed the joystick axis to key remap to start at K_JOY17 (fits better with hat_keys and K_JOY16 is used by button). 2011-09-09 21:46:37 +00:00
Zack Middleton
1469df546e Reverted r2145 per Timbo's suggestion. 2011-08-11 20:57:39 +00:00
Zack Middleton
1609d1c42b - Added r_mode -2 for using display resolution.
- Changed q3_ui's very high video settings use display resolution.
2011-08-11 05:14:42 +00:00
Zack Middleton
a87b059ab7 Don't grab mouse till UI loads. 2011-08-05 19:47:33 +00:00
Thilo Schulz
40dfcee06e Modular rendering system. Patch by use.less01
This might break MSVC builds. I'll take care of it later
2011-08-01 01:19:55 +00:00
Thilo Schulz
dee3724a13 - Improve game_restart:
* differing screen resolutions and network settings are now honoured when changing fs_game
  * Fix hunk memory leak on game_restart
  * Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
  * Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
  * Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
2011-06-21 11:18:35 +00:00
Thilo Schulz
4b9ab42c2c Remove newlines from Com_Error calls, patch by DevHC 2011-05-14 14:32:43 +00:00
Thilo Schulz
c95bd0a684 Remove newlines from Com_Error message format strings, patch by DevHC 2011-05-12 14:02:48 +00:00
Thilo Schulz
9541fca878 Add better support for analog joysticks, patch by use.less01 2011-04-19 13:26:15 +00:00
Thilo Schulz
6b82f4fd09 Consider key states before startup, patch by Zack Middleton (#4950) 2011-04-17 22:09:05 +00:00
Thilo Schulz
bce3848523 Make buffers for device lists a bit longer. Just in case. 2011-03-11 13:53:22 +00:00
Thilo Schulz
37727b892c Rename cvar "in_joystickThreshold" to "joy_threshold" as QVMs use the latter name. 2011-03-08 02:14:39 +00:00
Thilo Schulz
dd0161f475 Add in_availableJoysticks to list usable joysticks, similar to s_alAvailableDevices. Some parts of the patch provided by Zack Middleton 2011-03-07 22:56:03 +00:00
Thilo Schulz
fef4d12d68 Refactoring patch by DevHC 2011-03-05 19:20:37 +00:00
Thilo Schulz
a56e448850 Add minimize command (#4531) 2011-02-10 19:21:13 +00:00
Tim Angus
005f870ebe * Sys_Dialog for more user friendly error reporting
* (bug #3932) Recovery from bad video settings
2010-02-15 16:20:33 +00:00
Ludwig Nussel
6f9b34ef75 avoid setting cvars by name each frame 2010-01-06 13:47:41 +00:00
Tim Angus
c98df5ad58 * Make window centering optional, defaulting to off 2009-11-06 15:34:05 +00:00
Tim Angus
568cf2732a * Fix to GLimp_DetectAvailableModes not sorting the first returned mode 2009-11-05 20:29:26 +00:00
Thilo Schulz
bd2ab9bffd - implement r_noborder, inspired by patch from ensiform (#4289)
- Add Sys_SetEnv for portable setting of environment variables
 - Default ioquake3 to appear on the center of the screen if running in windowed mode.
2009-11-03 20:29:43 +00:00
Tim Angus
968892c61b * Bump the minimum SDL version up to 1.2.10, and remove workarounds for earlier versions 2009-10-25 22:36:32 +00:00
Tim Angus
43d31f7c3a * (bug #4316) Hack to work around suspected driver bug (Lakitu7) 2009-10-25 21:48:48 +00:00
Tim Angus
96a3b4b169 * Remove superfluous f from warning 2009-09-28 12:44:43 +00:00
Tim Angus
0ba8b20305 * Avoid calculating a NaN when failing to compute the display aspect ratio 2009-09-28 11:57:16 +00:00
Ryan C. Gordon
8c04462b34 Handle r_colorbits values better.
Fixes Bugzilla #4244.
2009-09-15 02:51:09 +00:00
Ryan C. Gordon
842f27818b Fix SGI systems choosing an inefficient 36-bit color visual.
Now they'll choose 16 or 32 bit correctly with this magic.

  Fixes Bugzilla #4245.
2009-09-15 01:01:07 +00:00
Ryan C. Gordon
b096ca1d04 Allow optional window resizing.
Fixes Bugzilla #2844.
2009-09-14 22:07:34 +00:00
Tim Angus
64a0a078d2 * Fix warning in cl_main.c
* Fix bug #4026 (SDL dx backend doesn't work on some machines)
2009-09-14 12:34:31 +00:00
Zachary Slater
95060e4fb6 See here:
http://bugzilla.icculus.org/show_bug.cgi?id=4064
2009-06-13 22:00:28 +00:00
Tim Angus
b2d87c4b2a * Add Com_HexStrToInt
* Fixed some whacky indentation in q_shared.c
* Allow single character keys e.g. 'c' to be used in cl_consoleKeys in addition
  to ASCII characters
* Experimental code to ignore dead keys
2008-09-05 23:38:35 +00:00
Tim Angus
56972c5c69 * Update IN_IsConsoleKey so that specifying ascii values/characters for the
console key always results in the character being used as opposed to the key
2008-08-30 19:29:34 +00:00
Tim Angus
19eb906706 * Better condition to test whether to use the character or the key 2008-08-28 23:08:54 +00:00
Tim Angus
c0328ab4f6 * Revert 'Handle dead keys more gracefully by taking a "best guess" rather than
ignoring completely' from r1459; it can't ever work acceptably, especially on
  azerty/qwertz layouts
* Make the ordering of the output from in_keyboardDebug more sensible
* Add cl_consoleKeys cvar, a space delimited list of key names or characters
  that toggle the console
2008-08-28 22:05:34 +00:00
Tim Angus
36a43f2aa1 * Handle dead keys more gracefully by taking a "best guess" rather than ignoring
completely
* When activating or deactivating the mouse flush any pending motion events;
  this should stop the view moving unpredictably in these circumstances
* Add keyname completion to "unbind"
2008-08-25 21:15:25 +00:00
Tim Angus
acbf982689 * Don't set SE_KEY event to ctrl-h; I don't think this makes sense
* Don't warp the mouse on deactivation unless the cursor is in the window
  already; this fixes in_nograb
* Stop grabbing the mouse in windowed mode when there is no sense in
  doing so
* Make sure that IN_Restart is only called on r_fullscreen modification
  if a mode change actually takes place
2008-08-22 22:16:37 +00:00
Tim Angus
e4e0568641 * Really fix backspace on OS X (I hope) 2008-08-22 11:41:54 +00:00
Tim Angus
c1befbda75 * Prevent ~ from generating a character
* Fix backspace on OS X (I hope)
2008-08-22 11:16:35 +00:00
Tim Angus
5b4dc4c743 * Tidy up the keyboard code a bit, add in_keyboardDebug 2008-08-19 21:32:23 +00:00
Tim Angus
d781a25157 * Fix misplaced #endif 2008-08-14 07:59:34 +00:00
Tim Angus
49fa0edd61 * Pass the "best" SDL_PixelFormat (as returned by the initial call to
SDL_GetVideoInfo) to SDL_ListModes; this fixes said function returning an
  empty list when using the "windib" driver
2008-08-13 19:39:38 +00:00
Tim Angus
c29417b42a * Always show the mouse cursor when the mouse is disabled
* Rename IN_StartupJoystick to IN_InitJoystick, add IN_ShutdownJoystick
* Add IN_Restart, which avoids calling IN_DeactivateMouse at the wrong time
* Call IN_Restart when changing r_fullscreen
* Add CVAR_ROM r_sdlDriver for easy checking of the SDL driver in use
* Random README tweaks
2008-08-09 13:20:00 +00:00
Tim Angus
d4d5527a89 * Add Sys_GLimpInit for platform specific GLimp initialisation
* Move Unix specific signal handlers to Sys_PlatformInit
* (Windows only) Don't set the SDL video driver if SDL_VIDEODRIVER is already
  set externally
* (Windows only) Use the "windib" SDL video driver if in_mouse is set to -1
2008-08-08 21:35:33 +00:00
Tim Angus
a87661a1be * Whitespace... 2008-08-03 21:38:54 +00:00
Tim Angus
d56c53abb4 * Report SDL driver used on GLimp initialisation 2008-08-03 21:37:51 +00:00
Tim Angus
0124371c01 * Use Sys_Sleep to limit FPS, which will save CPU
* Add com_maxfpsUnfocused and com_maxfpsMinimized; self explanatory
* Fix reopening of bug 3703, I hope
2008-07-21 22:02:54 +00:00
Tim Angus
42e444ea0b * Revert r1341 as there doesn't seem to be a lot of point to the change and it
potentially will cause input events to be queued in a different order to that
  in which they were received
2008-07-16 17:45:10 +00:00
Ryan C. Gordon
71b196c0dc Fixed compiler warning on Mac OS X. 2008-07-06 18:32:41 +00:00
Zachary Slater
89e0e9d892 Reverting. 2008-07-06 17:16:14 +00:00
Zachary Slater
963aa3e40f Theoretical higher chance of working. 2008-07-06 04:23:13 +00:00
Zachary Slater
3c13c61fa4 It's either the Wu-Tang Symbol or the tango quake3 logo, someone please
test this on Linux.
2008-07-06 03:04:55 +00:00
Tim Angus
2c0861c1ce * (bug 3610) Server sending unnecessary newline with SV_ConSay_F (Tyler Schwend
<TylerSchwend@gmail.com>)
* (bug 3623) COMMAND is mapped to the ALT key (Matthias <Kapffer@macbay.de>)
* (bug 3665) Typo error in FS_FOpenFileByMode function (TsT <tst2006@gmail.com>)
* (bug 3669) Some files left out of Solaris Packages (Vincent Cojot
  <vincent@cojot.name>)
* (bug 3680) server quit messages (Ben Millwood)
* (bug 3682) Maps with >1024 models cause a segfault (misantropia
  <bnoordhuis@gmail.com>)
* (bug 3683) R_FindShader(): negative lightmap indexes cause stray pointers
  (misantropia <bnoordhuis@gmail.com>)
* (bug 3688) q3asm potential segfault fix and other changes (TsT
  <tst2006@gmail.com>)
* (bug 3695) Not allowing to write file with lib extention (.dll/.so/...) (TsT
  <tst2006@gmail.com>)
* (bug 3696) make-macosx-ub.sh outdated by revision 1340; test for Tiger not
   working (Matthias <Kapffer@macbay.de>)
* (bug 3698) #error reported as warning in q3cpp (and no #warning support)
  (Ben Millwood)
* (bug 3703) restoring the valued pre-SDL window behaviour (/dev/humancontroller
  <devhc97@gmail.com>)
2008-07-05 23:50:38 +00:00
Ryan C. Gordon
c923872ca2 Added GL_EXT_texture_compression_s3tc support.
GL_S3_s3tc, which Quake 3 previously supported, is legacy. This new codepath
 is the common, vendor-neutral extension to get the same results.
2008-06-13 02:28:51 +00:00
Ryan C. Gordon
3ad65755f3 Whoops, maybe this is the right header location... 2008-06-09 00:07:14 +00:00
Ryan C. Gordon
a665d822d8 Added #include to fix compiler warning on Mac OS X. 2008-06-09 00:04:45 +00:00
Ludwig Nussel
c45d5403a5 combine all mouse events received in one frame 2008-05-06 20:24:34 +00:00
Thilo Schulz
ae08d1a6d8 This may enable stereo rendering for other devices like shutter glasses, but I don't know whether this works yet. 2008-04-27 19:07:57 +00:00
Ludwig Nussel
89a5a6429e sort video modes only if there are modes to sort 2008-04-13 08:30:48 +00:00
Thilo Schulz
9412316883 Make sure fullscreen does not work for in_nograb when manually Alt-Entering, too. 2008-03-26 16:20:21 +00:00
Tim Angus
50783f1dbb * Disabling r_allowSoftwareGL as per bug 3526 2008-01-31 17:44:33 +00:00
Thilo Schulz
3648af78dc Fix building on MacOSX. 2007-12-14 16:54:13 +00:00
Tim Angus
b9ab949ec7 * Replace "powered by ioq3" text with ui_ioq3 CVAR_ROM
* Guess display aspect based on the desktop resolution
* Sort detected resolutions by...
  + closeness to display aspect
  + ascending width
  + ascending height
* Apply Q3 coding style to resolution detection code
2007-12-11 00:19:23 +00:00
Ludwig Nussel
6b5fbd189d detect available resolutions and offer them in the menu
Store the resolutions detected by SDL in a cvar. The mod code can
then optionally use the cvar to offer a better choice in the menu.

Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de>
2007-12-08 10:08:05 +00:00
Tim Angus
6bd4bb16a0 * Move SDL library version check to sys_main.c as it's proving difficult to
make the Makefile check sufficiently portable
* Remove unnecessary GL PFN... casts from SDL_GL_GetProcAddress calls
* Replace OS X uname workaround with Solaris workaround, as I believe OS X
  uname now behaves the same as GNU name
2007-11-25 23:41:01 +00:00
Tim Angus
31c24bd0d2 * (bug 3393) Blank user names still possible (Michael Jard <kfaust@gmail.com>)
* (bug 3363) Download percentage overflow (Martin Doucha <next_ghost@quick.cz>)
* (bug 3390) MSVC project (Julian Priestley <juzley@gmail.com>)
* For OS X and MinGW ports, don't -I code/SDL when USE_LOCAL_HEADERS is 0
2007-11-02 23:36:23 +00:00
Tim Angus
5692e30fa9 * Fix bug that prevented key up events getting to cgame/ui when not in game
* Use Key_[GS]etCatcher everywhere to set keycatcher
* Clear all key states when the catcher changes
2007-10-02 14:14:45 +00:00
Tim Angus
26641226a4 * Remove some C99isms (f0rqu3)
* Provide Q_snprintf wrapper for snprintf (f0rqu3)
2007-10-01 07:56:32 +00:00
Tim Angus
1d54a9ebe5 * Revert 1176 -- MinGW's headers are too old *sigh*
* Revert to using literal function pointers for GL extensions rather than PFN*
  typedefs as some platforms' headers are broken enough that they prevent
  SDL_opengl.h from fixing things up if the PFN* typedefs are missing
2007-09-12 18:02:38 +00:00
Tim Angus
4f4f0c0dab * Remove use of GL_ARB_multitexture since this has been part of the
core API for many years now
2007-09-10 22:28:58 +00:00
Tim Angus
e56a151a97 * Compile time and runtime checks for SDL >= 1.2.7
* Modified versioning to play nice with the reverted Makefile change
2007-09-06 18:21:10 +00:00
Tim Angus
0951b69be5 * Fix for SMP hack on OS X 2007-09-06 02:16:07 +00:00
Tim Angus
c903576c59 * I R KNWOING HOW COMPUTARS WURK!!!!!!! lOL 2007-09-05 21:46:15 +00:00
Tim Angus
904cce6311 * Replace the ugliness in qgl.h with SDL_opengl.h 2007-09-05 18:56:39 +00:00
Tim Angus
672cfbf16f * Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
2007-09-05 18:17:46 +00:00