Commit graph

306 commits

Author SHA1 Message Date
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
08cacdfe17 Added utility functions for dmap 2014-05-10 15:03:06 +02:00
Robert Beckebans
277964f074 Because I can :)
- Implemented soft shadows using PCF hardware shadow mapping

  The implementation uses sampler2DArrayShadow and PCF which usually
  requires Direct3D 10.1 however it is in the OpenGL 3.2 core so it should
  be widely supported.
  All 3 light types are supported which means parallel lights (sun) use
  scene independent cascaded shadow mapping.
  The implementation is very fast with single taps (400 fps average per
  scene on a GTX 660 ti OC) however I defaulted it to 16 taps so the shadows look
  really good which should you give stable 100 fps on todays hardware.

  The shadow filtering algorithm is based on Carmack's research which was
  released in the original Doom 3 GPL release draw_exp.cpp.

- Changed interaction shaders to use Half-Lambert lighting like in HL2 to
  make the game less dark

- Fixed some of the renderer debugging/development tools like r_showTris
2014-05-10 14:40:01 +02:00
Robert Beckebans
b983156829 Updated GLEW to version 1.10.0 2014-05-10 12:12:32 +02:00
RobertBeckebans
e1661f8cde Merge branch 'master' into glew 2014-04-30 12:05:30 +02:00
RobertBeckebans
6b2793ed6a Removed null characters from RenderProgs_embedded.h 2014-04-28 11:29:11 +02:00
RobertBeckebans
853eaa5a00 Added missing neo/premake/embed.lua 2014-04-26 14:28:09 +02:00
Robert Beckebans
34025e08cb Added cmake-linux-release.sh Bash script 2014-04-26 14:26:26 +02:00
RobertBeckebans
cacf1bb46b Embedded Cg renderprog sources into the renderer using Lua/Premake. Now the renderer can export the renderprogs to any GLSL version without having the user to copy the renderprogs/* shaders to the Doom 3 BFG installation directory. fixes #95 2014-04-26 14:13:25 +02:00
RobertBeckebans
7008c661a5 Removed obsolete includes 2014-04-25 20:29:36 +02:00
RobertBeckebans
60ccf3567b Merge branch 'master' into glew 2014-04-25 20:24:30 +02:00
RobertBeckebans
055cc09c8b GLEW fixes 2014-04-25 20:23:34 +02:00
Robert Beckebans
740cc0d2e8 Merge pull request #94 from dekadenZ/size-format-macros
Attempt at removing the kludge concerning non-standard printf format references
2014-04-25 19:48:48 +02:00
dekadenZ
e4605633f0 Move format specifier macros to idlib/sys/sys_defines.h 2014-04-25 15:22:15 +02:00
Robert Beckebans
d326d49cf0 Merge pull request #93 from dekadenZ/fix-renderer-string-cmp
Fix length error in prefix comparison
2014-04-25 11:07:12 +02:00
dekadenZ
69f26fbe11 Replaced sizeof format references with macro 2014-04-25 03:30:03 +02:00
dekadenZ
27e25cfb08 Macros for format references to size_t 2014-04-25 03:23:34 +02:00
dekadenZ
20e5cf5ae2 Fix length error in prefix comparison 2014-04-25 02:39:49 +02:00
Robert Beckebans
8943a6d4a2 Fixed FFmpeg video timings and crashes. Also fixes the black screen problem with Ubuntu 14.04 #92 2014-04-21 23:56:46 +02:00
Robert Beckebans
e47429f532 Disabled FFmpeg by default because there are some serious issues with ffmpeg on Ubuntu 14.04 which cause a black screen after the intro video #92 2014-04-21 20:33:19 +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
RobertBeckebans
b0b0d8ed76 gfxInfo Typo 2014-04-20 17:55:03 +02:00
Robert Beckebans
a8cda090c1 Disabled timing queries when using the Mesa driver #90 2014-04-20 17:50:37 +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
RobertBeckebans
e61eae499c Replaced sizeof format references %lu with %zu (GCC, Clang) and %Iu (MSVC) #88 2014-04-16 11:08:05 +02:00
Robert Beckebans
1115b52dd2 Fixed another crash in cinametic code. Now it should be stable 2014-04-11 10:28:53 +02:00
RobertBeckebans
647a3ebad8 Fixed crashes in cinematic code 2014-04-06 12:15:27 +02:00
RobertBeckebans
899982b0b2 Made FFmpeg optional and fixed potential crashes 2014-04-06 11:38:38 +02:00
Robert Beckebans
1e443f6857 Bink support on Linux with CMake 2014-04-05 17:38:42 +02:00
RobertBeckebans
17ff91664b Added FindFFMPEG.cmake 2014-04-05 16:30:41 +02:00
RobertBeckebans
730a1f2baa Merged FFmpeg Bink video support from DOOM-3-BFG-VR fork 2014-04-05 15:41:19 +02:00
RobertBeckebans
c9249bd05c Added ffmpeg win32 dev libs 2014-04-05 15:40:20 +02:00
Robert Beckebans
5d390301d6 Suppress warnings about multichar literals 2014-02-23 20:04:24 +01: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
RobertBeckebans
70108766d4 Updated astyle.exe to AStyle 2.03 2014-02-23 15:23:10 +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
Robert Beckebans
4a124390a4 Merge pull request #75 from abergmeier/fix_trigraphs
Fix usage of trigraphs.
2014-02-23 15:15:14 +01:00
Andreas Bergmeier
be49ad4151 Add format analysis to format functions in Common. 2014-02-22 18:24:25 +01:00
Andreas Bergmeier
4d9970b148 Properly handle format analysis
Rename ATTRIBUTE_PRINTF to
- ID_STATIC_ATTRIBUTE_PRINTF
- ID_INSTANCE_ATTRIBUTE_PRINTF
since for instance functions, this has to be taken into account, too.
Add format analysis to idLib, DeclManager and idTokenParser functions.
Add support for clang.
2014-02-22 17:02:06 +01:00
Andreas Bergmeier
69f7f0eba6 Fix usage of trigraphs. 2014-02-22 11:54:04 +01:00
RobertBeckebans
7b6ceb48c8 Formatted code with AStyle 2014-02-18 11:57:59 +01:00
Robert Beckebans
47cc4f37b6 Merge pull request #72 from abergmeier/fix_constr_order
Correct initialization order of idSoundVoice_OpenAL constructor.
2014-02-18 10:03:37 +01:00
Robert Beckebans
3d1d78e528 Merge pull request #71 from abergmeier/fix_array_access
Fix accessing array in PrintFloat by char instead of int.
2014-02-18 10:03:28 +01:00
Robert Beckebans
8bd15e6f55 Merge pull request #70 from abergmeier/fix_64_bit
Handle st_lwPolygon::surf for 64bit.
2014-02-18 10:02:58 +01:00
Robert Beckebans
71a62beaac Merge pull request #65 from ckorn/typos
Fix typos
2014-02-18 09:56:44 +01:00
Andreas Bergmeier
beed9b7b4c Correct initialization order of idSoundVoice_OpenAL constructor. 2014-02-17 15:54:00 +01:00
Andreas Bergmeier
bf283af184 Fix accessing array in PrintFloat by char instead of int. 2014-02-17 15:41:33 +01:00
Andreas Bergmeier
a7b258ac2b Fix multiple compiler warnings and properly handle st_lwPolygon::surf for 64bit.
Changed surf member to now be a union of a intptr_t index and a lwSurface*.
Index member has to be signed to prevent overflow (by assigning a possibly negative short).
For most platforms, sizeof(int*) should be the same as sizeof(lwSurface*), though this might still be a race condition.
2014-02-17 14:22:01 +01:00
Robert Beckebans
dd22a2a85a Merge branch 'master' into glew 2014-02-15 11:53:30 +01:00
Robert Beckebans
cb2754884d Updated credits 2014-02-15 11:45:27 +01:00
RobertBeckebans
c710c9577f Merge branch 'master' into glew 2014-02-13 13:51:36 +01:00
RobertBeckebans
4a865cbbe5 Added .bat files for quick VS 2013 projects creation 2014-02-13 13:50:31 +01:00
Robert Beckebans
573905e295 Compile fix 2014-01-09 17:53:30 +01:00
Christoph Korn
cf9ae278f9 Fix another typo
Small typo fix.
2013-12-31 02:37:42 +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
Robert Beckebans
223b7ee527 Merge pull request #63 from felixrg/doomclassic
Add 64-bit and OpenAL support for Doom Classic
2013-11-16 10:28:42 -08:00
Felix Rueegg
502b9fa180 Fixed doomclassic compiler warnings 2013-11-16 16:22:42 +01:00
Felix Rueegg
41d44b38d5 Added OpenAL for doomclassic to CMake and fixed the sound stub problem 2013-11-13 18:36:15 +01:00
Felix Rueegg
ad2a82ebb2 Added OpenAL support for doomclassic 2013-11-13 18:20:39 +01:00
Robert Beckebans
aaed5dd0b7 Added major contributors to the credits menu 2013-11-04 16:33:20 +01:00
Felix Rueegg
513fc0ee8f Added doomclassic for Linux to CMake 2013-10-31 21:25:05 +01:00
Robert Beckebans
a92a49dc2f Astyle 2013-10-30 09:42:24 +01:00
Jonathan Young
db626df078 Fixed the autosave dialog being stuck on the screen when starting a map (map or devmap) via the command line, or before selecting Doom 3. 2013-10-19 16:43:39 +10:00
Jonathan Young
2555b804d6 Fixed ERR_DROP resulting in a glitched screen with only the console accessible - show the main menu instead. 2013-09-29 21:03:32 +10:00
Robert Beckebans
9e7230de34 Disabled tunnel vision. Fixes #33 Red screen flash on damage does not dissapear until load or full health 2013-09-25 09:19:21 +02:00
Robert Beckebans
c603add210 Reverted fs_resourceLoadPriority. Be aware to keep this changed if you work on mods or standalones. fixes #59 Player starts out with Soul Cube in Doom 3 2013-09-25 09:09:09 +02:00
Jonathan Young
c925f05f85 Fixed warp effect not being centered when r_useVirtualScreenResolution was 0. 2013-09-22 13:50:49 +10:00
Jonathan Young
bb2e41b5d7 Added r_useVirtualScreenResolution cvar to control whether to do 2D rendering at 640x480 and stretch to the current resolution (default), or render at the current resolution. 2013-09-21 22:12:42 +10:00
Jonathan Young
b3983e582a astyle 2013-09-21 19:37:12 +10:00
Jonathan Young
4c7a2c5de3 Prioritize source SWF and image (for SWF atlas) files over their binary equivalents in resources files when not in production mode. Now you can replace individual menus without having to extract and delete all the base/*.resources files first. 2013-09-21 19:35:00 +10:00
Jonathan Young
adf2b63e88 Skip some common SWF tags (FileAttributes, Metadata and SetBackgroundColor) instead of failing to load a SWF file if any of them are encountered. 2013-09-21 19:27:03 +10:00
Jonathan Young
a1776a22d0 r_vidMode sanity check was off by 1. 2013-09-18 12:39:31 +10:00
Jonathan Young
45ea17fd70 Removed unused FileSystem variables. 2013-09-17 20:36:18 +10:00
Jonathan Young
1c500b710b Mirror source code directory structure in generated MSVC projects. 2013-09-16 17:54:14 +10:00
Daniel Gibson
9372fddabb Fix compile when system GLDEBUGPROCARB signature is without const
.. by just casting our DebugCallback to GLDEBUGPROCARB.
It shouldn't make a difference ABI-wise, if there is a const at
a parameter or not.

Fixes #61
2013-08-31 19:23:45 +02:00
Robert Beckebans
d3ddf61d9c Changed signature of GLDEBUGPROCARB to match OpenGL GL_ARB_debug_output specs 2013-08-29 09:38:52 +02:00
Robert Beckebans
bc45492d9c Fixed typo that hid the sys/*.h files in the VS solutions 2013-08-14 02:48:07 +02: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
Daniel Gibson
88b23611f9 Fix DEBUG_THREADS on FreeBSD
There was a typo in an #include, furthermore FreeBSD has no
pthread_getname_np equivalent.

I added Sys_GetThreadName() so the code is a bit cleaner.
2013-06-23 19:16:23 +02:00
Dmitry Shapovalov
e6b4326f86 Code duplication in idWeapon::Clear 2013-06-03 14:56:25 +06:00
Robert Beckebans
3b67eabf79 Fixed critical bug in the generic C++ code of DotProduct_SIMD that caused massive errors in the physics system 2013-06-01 18:29:12 +02:00
Robert Beckebans
2a4970c86c Added CMake batch file for OpenAL 2013-06-01 15:15:18 +02:00
Robert Beckebans
db715535cc Merged generic C++ fallbacks for SSE optimized code to allow support for non-x86 based platforms like ARM 2013-06-01 15:13:00 +02:00
Robert Beckebans
e510691c36 Changed model loader to not generate binary files for defaulted models. closes #39 2013-05-24 19:27:18 +02:00
Robert Beckebans
bdfc2aadb1 Allow slow-motion sound effect for OpenAL sounds 2013-05-24 18:55:56 +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
e7ffc153c2 Added back workaround in RB_DrawElementsWithCounters 2013-04-10 02:40:09 +02:00
Robert Beckebans
d176bca1e7 Fixed critical out of bounds bug in RB_DrawShaderPasses() 2013-04-10 02:13:27 +02:00
Robert Beckebans
3023533e57 Added pthread priority code but it is disabled by default because it requires root privileges 2013-03-26 13:43:30 +01: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
3c755e490b change threadnames so they fit into 15chars
+ terminating null byte - that's the limit of threadnames on linux

Furthermore: idJobThread::Start used va() to create the threadname.
va() isn't threadsafe... so I replaced it with a local buffer and
idStr::snPrintf()
2013-03-26 00:36:04 +01:00
Daniel Gibson
da9ab07e9c Refactor setting threadname on POSIX systems
* setting threadname is now done in a seperate function
* if setting the threadname fails, it just prints a warning now
  instead of terminating the game with a FatalError
2013-03-26 00:36:04 +01:00
Daniel Gibson
fe18a49303 Improve POSIX threading code
* setting threadname is now done in a seperate function so it's a bit
cleaner (it's different for every platform..)
* replace/refactor signaling code (based on my SDL threading branch and
  the old pthread signaling code from RB):
  - The interface is like on win32 now (Sys_Signal* functions instead of
    overwriting idSysSignal class)
  - created a custom signalHandle_t struct for that, which contains all
    needed information
  - Mimic Windows functions used in win32 implementation more closely,
    e.g. signal all waiting threads on manualReset signalRaise, count
    waiting threads etc. I'm pretty sure the behavior on Win32 and POSIX
    now is identical (as far as possible).
2013-03-25 22:05:02 +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