Commit graph

60 commits

Author SHA1 Message Date
Eric Womer
f1e650e2c4 Applying KungFuJesus's patch from
https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/398#issuecomment-569442019
2019-12-29 11:12:34 -05:00
Robert Beckebans
eb60a374fe Fixed Linux build under Kubuntu 18.10 2019-10-04 11:56:37 +02:00
Robert Beckebans
a884b08010 Astyle 2016-05-10 09:55:37 +02:00
Ivan Vashchaev
3171686814 Support SDL2 GameController API
On OS X DualShock4 works perfectly
2016-02-12 20:53:24 +03:00
Daniel Gibson
0fbf83fa49 Implemented Sys_[SG]etClipboardData() for SDL backend
SDL2 only, SDL1.2 doesn't have functions to handle the clipboard
2015-08-02 19:23:26 +02:00
Daniel Gibson
90b1ff0b65 Format Code with AStyle 2.05.1 2015-02-09 00:29:57 +01:00
Robert Beckebans
4c596dcf0d Fixed Gamepad LS and RS in PDA screen. refs #214 2015-02-05 20:11:09 +01:00
Daniel Gibson
015748f823 SDL backend: generate SE_MOUSE_LEAVE events
The SDL backend now creates SE_MOUSE_LEAVE events when the mouse leaves
the window (both SDL1.2 and SDL2). For some reason, both the SWF GUI
backend and CEGUI are interested in this.
2015-01-28 17:32:35 +01:00
Daniel Gibson
aa51d38b3c Support up to 16 mouse buttons (SDL-only)
Mostly necessary because SDL doesn't properly return mouse buttons X1/X2
on Linux/X11, see https://bugzilla.libsdl.org/show_bug.cgi?id=2310

Not sure if this is possible with Windows, DIMOFS_BUTTON7 seems to be
the highest constant there.

Also passing sdlevent.wheel.y directly as scroll delta
2015-01-28 17:32:35 +01:00
Daniel Gibson
65d1428dd1 Make Unicode input work for SDL
The d3bfg internal SE_CHAR events were documented as "evValue is an
ascii char", but are actually at least UTF-16, as returned by
Windows WM_CHAR events.
We now assume it's UTF-32 (UTF-16 has the same values mostly)
and the SDL backend now puts UTF-32 chars into SE_CHAR events.

In the Windows backend I make sure that no surrogate UTF-16 chars are
emitted + I added support for WM_UNICODE messages.

Now I can input Ümläuts intö the conßole window \o/
2015-01-28 17:32:35 +01:00
Robert Beckebans
d691002296 Bumped engine version to 1.0.3 to prepare for new release 2015-01-18 12:13:24 +01:00
Daniel Gibson
e37671d6ac Change SDL event-handling, mostly for keyboard input
Sys_GetEvent()
* renamed res_none to no_more_events, because that's what the
  caller assumes when getting that event
* don't return res_none on unhandled events, instead get the next event
  until there is a handled event or no more events
  (=> if -> while, return res_none -> continue)
* Mapping to Doom3 keynum handled differently for SDL1 vs SDL2, see below

For SDL2 we don't use SDL_KeyToDoom3Key on the keysym anymore, but map
the SDL2 scancode to Doom3/Direct-Input scancodes instead (the keynum_t
K_* constants are really used as scancodes!).

This mapping is done in sdl2_scancode_mappings.h scancodeToKeyNum[].
In sdl_events.cpp there are static SDLScanCodeToKeyNum() and
KeyNumToSDLScanCode() functions that use this scancodeToKeyNum[] array.

Sys_GetKeyName() now does something sensible for SDL2 by using
KeyNumToSDLScanCode()

This is also used to implement idKeyInput::LocalizedKeyName() for SDL-targets
(for SDL1.2 the behavior doesn't change much, though, as it doesn't have
consistent scancodes - Sys_GetKeyName() will just return NULL and
idKeyInput::LocalizedKeyName() will fall back to the old default)
2015-01-06 21:22:12 +01:00
Daniel Gibson
b9f5d20e93 improved SDL2 textinput handling
strdup() and free() aren't really the right tool if the size of the
buffer is known anyway (and quite small, currently 32 chars)
while at it, I renamed s and s_pos to str and str_pos for better
readability
2015-01-06 21:21:58 +01:00
Robert Beckebans
940d9f8a06 Formatted Code with AStyle 2014-11-25 11:42:08 +01:00
Wintermute0110
bc6cab3ab0 * SDL joystick/gamepad support implemented and working.
* Tested in Linux with both XBox360 wireless and Logitech F710 gamepads.
Should work with any XBox gamepad clone wired/wireless.
* Works well using SDL 1.2 or SDL 2.0
* SDL scan values are currently hard-coded. Note sure how to implement
remapping at the moment (config file, GUI, ...).
2014-11-21 02:47:21 +09:00
Robert Beckebans
d295a6aea9 Disabled usage of OpenGL 3.2 compatibility profiles for Linux #187 2014-11-12 12:34:07 +01:00
Robert Beckebans
f9ff46d03d Removed include of SDL_syswm.h because it creates problems on Kubuntu 14.04 with Mir 2014-08-20 00:30:39 +02:00
Robert Beckebans
05248cce6d AStyle 2014-05-20 09:29:08 +02:00
Radegast
764b067825 Avoid 'unknown event' spam when testing with touchpad. #87 2014-05-19 15:52:33 +01:00
Radegast
812fb78d52 Initial OS X support. #87 2014-05-18 23:14:28 +01:00
Robert Beckebans
0ca7667fd2 Removed glewExperimental = GL_TRUE hack for SDL 2 2014-05-11 12:28:29 +02:00
Robert Beckebans
12fd563fce Merge branch 'advanced-renderer-upgrades' of github.com:RobertBeckebans/RBDOOM-3-BFG into advanced-renderer-upgrades 2014-05-10 15:30:55 +02:00
Robert Beckebans
ade5c434f8 Replaced QGL with GLEW in sdl_glimp.cpp 2014-05-10 15:30:48 +02:00
Robert Beckebans
485417ab41 Removed obsolete sdl_qgl.cpp and fixed some compile errors 2014-05-10 15:29:59 +02:00
Robert Beckebans
3b19aa7991 Added glConfig.vendorType settings for Linux and disabled unused shaders. #90 2014-04-20 17:20:50 +02:00
Robert Beckebans
a315630d7d Changed astyle-code.sh script to use the system astyle which is 2.03 on Kubuntu 13.10 2014-02-23 15:19:11 +01:00
Christoph Korn
264ffcb6f7 Fix typos
Just fix some typos.
2013-12-31 02:23:16 +01:00
Jonathan Young
b3983e582a astyle 2013-09-21 19:37:12 +10:00
Daniel Gibson
1f5579a697 Fix compilation with SDL2 Release
.. they removed ev.key.keysym.unicode - but checking for
SDL_SCANCODE_GRAVE is better anyway to handle console key
2013-08-13 23:08:48 +02:00
Robert Beckebans
cbd696cc67 Merge remote-tracking branch 'DanielGibson/improve-threading' 2013-03-26 09:58:14 +01:00
Robert Beckebans
dcae311b7f Renamed in_kbd to in_keyboard 2013-03-26 09:56:48 +01:00
Daniel Gibson
ae02bb54a1 Make it compile with SDL2 again
For some reason SDL.h (or headers included by it) need some
string functions (like strncmp) in inline-functions (that we
don't even use).
Str.h has #defines preventing their usage.. so #undef those in
the (few) sourcefiles that need SDL headers
2013-03-24 23:44:13 +01:00
Daniel Gibson
5001b49841 try to fix console deadkey problem 2013-03-16 14:32:47 +01:00
Reto Schneider
f7b532df63 SDL_GetWindowDisplay got renamed to SDL_GetWindowDisplayIndex
SDL2 commit: http://hg.libsdl.org/SDL/rev/7174fb08017a
2013-02-05 07:07:49 +01:00
Daniel Gibson
1d56411f56 Fix console-input in SDL1.2 for lots of unmapped keys
A lot of keys (especially keys not available on US keyboards) just weren't
supported for console input with SDL1.2 (SDL2 uses a different mechanism for
that).

This is fixed now by reordering a few lines in sdl_events.cpp

Please note that still only ASCII characters are supported and those keys
still can not be used in bindings - only for text input!
2013-01-20 04:16:19 +01:00
Daniel Gibson
a405b37f13 Pause when window loses focus, introduce com_pause
If the window loses focus com_pause is set to 1, when it regains focus
it's set to 0.
The behaviour on Win32 stayed the same (the implementation is less
hacky though) and Linux now matchces that.
2013-01-04 14:40:35 +01:00
Daniel Gibson
732d8987d3 support ctrl-g for (un)grabbing mouse
Many Linux Games support that
2013-01-04 14:40:35 +01:00
Daniel Gibson
a1c1f1b6b2 Support resizing windows for SDL1.2
By implementing GLimp_SetScreenParms() for SDL1.2
and enhancing the event handling
2013-01-04 14:40:35 +01:00
Daniel Gibson
d6c32cd49b Support resizing windows + improve fullscreen for SDL2
By implementing GLimp_SetScreenParms() and enhancing the
event handling
2013-01-04 14:40:35 +01:00
Daniel Gibson
ba126dde3a Fixed various warnings from clang 2012-12-23 06:40:47 +01:00
Daniel Gibson
742ef7da83 Fix scrolling in Menus for SDL2
scrolling didn't stop, e.g. in the resolution selection menu
2012-12-22 03:26:01 +01:00
Daniel Gibson
f0dfe7e499 restore SDL1-support in sdl_events.cpp
* add define for SDL_SCANCODE_GRAVE - seems like only SDL2
  has names for the values
* add some missing keys to SDL_KeyToDoom3Key
* add scancode to unmapped-key warning
* backspace needs to be handled the same for SDL1 as in SDL2
  (i.e. a new event must be created for it) to work in console
2012-12-22 03:25:33 +01:00
Daniel Gibson
0be69a3162 Fix console on Linux
* Add support for Console-Key independently of KB Layout (with scancode)
    * add support for TAB key
    * Add hack so console is empty after opening it (SDL-only)
2012-12-21 04:58:50 +01:00
Robert Beckebans
f57d92a1ab Renamed RBDoom3 to RBDoom3BFG 2012-12-19 15:23:57 +01:00
Daniel Gibson
b1dabf3efd Improve R_GetModeListForDisplay()
* Fixed small bug when only one display mode was found by SDL2
* removed some redundant and dead code
* improved warnings
2012-12-18 22:50:59 +01:00
Daniel Gibson
f3c4948b2f R_GetModeListForDisplay() for SDL2 2012-12-18 01:11:21 +01:00
Daniel Gibson
dd987814f7 Fix cursor in menus
it didn't work correctly because the mouse isn't grabbed
(in contrast to dhewm3).
It's fixed now by returning absolute coordinates when a menu
is open, furthermore the cursor is now always hidden.
2012-12-18 01:10:38 +01:00
Daniel Gibson
e42a886b29 remove deprecated glShadeModel stuff
it's only for fixed function opengl, thus it's not needed and deprecated in OpenGL 3.2
AMD's driver complains about this.
2012-12-17 01:02:53 +01:00
Robert Beckebans
63f9d4000f First playable version on Linux. 2012-12-16 17:31:21 +01:00
Robert Beckebans
823ea36ffe Added support for OpenGL 3.2 context debugging using SDL 2.0 2012-12-16 12:22:07 +01:00