Commit graph

137 commits

Author SHA1 Message Date
Robert Beckebans
a3e8b52170 Ported ImGui light editor from OpenTechBFG 2019-10-28 15:39:00 +01:00
Robert Beckebans
eb60a374fe Fixed Linux build under Kubuntu 18.10 2019-10-04 11:56:37 +02:00
Robert Beckebans
8cdc4aa99c Try to run with OpenGL 4.5 core profile by default on Windows 2018-11-02 13:35:02 +01:00
Robert Beckebans
f180da6f63 Merged more Vulkan code from vkneo 2018-10-05 21:43:55 +02:00
Robert Beckebans
a7d5c16e0a Vulkan CreateInstance Hello World 2018-10-04 00:30:20 +02:00
Robert Beckebans
a917b8c258 Stubbed out all OpenGL code 2018-10-03 23:40:35 +02:00
Robert Beckebans
3d9f9b75db Deleted almost all OpenGL code from _VK backend files 2018-10-03 21:14:28 +02:00
Robert Beckebans
2f3169179a Merge branch 'master' into vkdoom3-merge 2017-09-10 13:44:17 +02:00
Robert Beckebans
736ccadcb3 Started to move files so it can be compared to vkdoom3 2017-09-03 10:22:36 +02:00
Caffeine Code
41f1014ed5 read core count correctly 2017-07-09 22:39:20 +01: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
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