Commit graph

123 commits

Author SHA1 Message Date
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
0e1de30fe9 enhance neo/sys/sys_public.h enum keyNum_t with some missing keys
turns out that both d3bfg and cegui use direct input scancode numbers
to represent keys internally.. now isn't that fucking convenient!

d3bfg was missing some, though, so I added them
2015-01-06 21:22:05 +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
BielBdeLuna
f77b3b6f71 the engine now supports all the lenguages from steam in sounds and strings 2014-11-06 16:25:25 +01:00
Robert Beckebans
7e49606cc8 Removed ARB endings from OpenGL calls 2014-08-20 11:09:02 +02: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
195b99e39f Removed usage of Sys_GetSystemRam(). refs #164 2014-08-06 11:35:42 +02:00
Pat Raynor
6f65394d97 Removed the useless Sys_GetSystemRam and Sys_GetVideoRam 2014-08-01 02:36:04 -04:00
Pat Raynor
afeab489dd Add more windows versions... 2014-08-01 02:35:12 -04:00
Robert Beckebans
79c4b3ef98 Fixed SDL 1.2 support 2014-05-22 09:55:25 +02:00
Radegast
e1f8597360 Use SDL to find Application Support path. #87 2014-05-22 00:33:58 +01:00
Radegast
c76e9a26ef Removed objective-c++ code. #87 2014-05-22 00:07:34 +01:00
Radegast
4045be32b1 Replaced procfs dependent functions with native calls on OS X. #87 2014-05-21 22:31:18 +01:00
Radegast
b8676a513f Replaced MACOS_X define with standardised __APPLE__. #87 2014-05-20 13:51:53 +01:00
Robert Beckebans
05248cce6d AStyle 2014-05-20 09:29:08 +02:00
Radegast
5304284e90 Added CLOCK_REALTIME support to our custom clock_gettime() function for OS X. #87
The monotonic part was written by Gavin Beatty
https://github.com/gavinbeatty/python-monotonic-time/blob/master/darwin.c
2014-05-19 22:53:46 +01:00
Radegast
ca5c463bbd Added clock_gettime() for OS X which always returns monotonic time. #87 2014-05-19 16:53:20 +01:00
Radegast
764b067825 Avoid 'unknown event' spam when testing with touchpad. #87 2014-05-19 15:52:33 +01:00
Radegast
9b4f849cd5 Get RAM in MB. #87 2014-05-18 23:33:08 +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
5c0fedf190 Patched GLEW to get the extensions with OpenGL >= 3.2 for the case that glGetString(GL_EXTENSIONS) fails 2014-05-11 12:19:10 +02:00
Robert Beckebans
11456a231d Changed Mesa backend to output GLSL ES 3.00 in order to support shadow mapping 2014-05-11 11:30:56 +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
RobertBeckebans
8018378c3c Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/OpenGL/qgl.h
	neo/renderer/OpenGL/wglext.h
	neo/renderer/RenderProgs.cpp
	neo/renderer/RenderProgs_GLSL.cpp
	neo/renderer/RenderSystem_init.cpp
	neo/renderer/tr_backend_draw.cpp
	neo/sys/win32/win_qgl.cpp
2014-04-21 15:01:50 +02:00
Robert Beckebans
3b19aa7991 Added glConfig.vendorType settings for Linux and disabled unused shaders. #90 2014-04-20 17:20:50 +02:00
RobertBeckebans
cce21e0d76 Added GLSL ES 1.0 backend for Mesa drivers #90 2014-04-20 16:29:58 +02:00
Andreas Bergmeier
f66591f244 Force format invocations to be correct (on gcc and clang) and fix them. 2014-02-23 19:16:23 +01: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
Andreas Bergmeier
69f7f0eba6 Fix usage of trigraphs. 2014-02-22 11:54:04 +01:00
Christoph Korn
264ffcb6f7 Fix typos
Just fix some typos.
2013-12-31 02:23:16 +01:00
Robert Beckebans
7690fb4b8e Merge branch 'master' into glew
Conflicts:
	neo/renderer/OpenGL/glext.h
	neo/renderer/RenderSystem_init.cpp
2013-12-24 15:49:06 +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
fe22638fdd Merge branch 'master' into glew and fixed a crash on Intel HD drivers 2013-04-23 00:43:00 +02:00
Robert Beckebans
aefa4ac6e3 Merge branch 'master' into glew and fixed a crash on Intel HD drivers 2013-04-23 00:41:54 +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
Robert Beckebans
75f7fa3aa8 Removed obsolete old renderer SMP code 2013-03-23 21:33:40 +01:00