Christoph Oelckers
5ee626459d
- use model vertex buffer to render voxels.
2014-06-30 18:57:24 +02:00
Christoph Oelckers
f710518903
- use a uniform array to store vertex data to render dynamic stuff on GL 3.x hardware without the ARB_buffer_storage extension.
...
Due to the way the engine works it needs to render a lot of small primitives with frequent state changes.
But due to the performance of buffer uploads it is impossible to upload each primitive's vertices to a buffer separately because buffer uploads nearly always stall the GPU.
On the other hand, in order to reduce the amount of buffer uploads all the necessary state changes would have to be saved in an array until they can finally be used. This method also imposed an unacceptable overhead.
Fortunately, uploading uniform arrays is very fast and doesn't cause GPU stalls, so now the engine puts the vertex data per primitive into a uniform array and uses a static vertex buffer to index the array in the vertex shader.
This method offers the same performance as immediate mode but only uses core profile features.
2014-06-30 18:10:55 +02:00
Christoph Oelckers
6efefd9b7f
- use vertex buffer to render MD3 models.
2014-06-30 18:02:52 +02:00
Christoph Oelckers
54297acde4
- removed obsolete gl_lightbuffer code.
...
This never worked properly and by now far better options are available to solve the problem of dynamic light data uploads.
2014-06-30 13:30:10 +02:00
Christoph Oelckers
9c5cec0056
- draw wipes with buffers
...
Only two things left that still use immediate mode directly: MD3 models and voxels.
2014-06-30 10:05:15 +02:00
Christoph Oelckers
1efc2938b7
- implement model vertex buffer and draw MD2 models using it instead of using the GLCommands from the model.
2014-06-29 23:24:16 +02:00
Christoph Oelckers
dd05e564cf
- this needed more fixes...
2014-06-29 14:32:50 +02:00
Christoph Oelckers
2cd1118aad
Merge branch 'master' into Glew_Version_For_Real
2014-06-29 14:11:03 +02:00
Christoph Oelckers
a33b49c2c2
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-29 14:09:55 +02:00
Christoph Oelckers
9d1dbf4eab
- fixed: FBufferedUniform1f didn'T work because it used an int as its buffered value.
2014-06-29 14:08:44 +02:00
Christoph Oelckers
d0e551060d
- fixed: When the 3D floor init code was updated 5 years ago for Vavoom's latest changes to its 3D-floor implementation it accidentally set the 3D-floor's alpha as its desaturation.
2014-06-29 12:50:42 +02:00
Christoph Oelckers
ffcb6cb70a
- added second vertex coordinate attribute for model interpolation.
2014-06-29 11:00:21 +02:00
Christoph Oelckers
08054ddc34
Merge branch 'master' into Glew_Version_For_Real
2014-06-29 08:53:43 +02:00
Christoph Oelckers
77277f4f75
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-29 01:10:51 +02:00
Christoph Oelckers
7d7f146ce1
- fixed: transferring a translation to a missile needs to check if the missile was spawned successfully.
2014-06-28 15:21:19 +02:00
alexey.lysiuk
65203760a8
Fix incorrect actor flag handling on big endian platforms
2014-06-28 11:00:08 +03:00
alexey.lysiuk
7b69c60af1
Use correct 'true' keyword
2014-06-28 11:00:01 +03:00
alexey.lysiuk
e6d468eb38
Use byte swapping functions from <libkern/OSByteOrder.h> on OS X
...
Remove inclusion of Core Foundation headers to avoid type conflicts with LZMA SDK.
2014-06-28 10:59:56 +03:00
Braden Obrzut
d941203ab0
- Fixed edward-san's typo.
...
- Cleared a warning.
2014-06-26 20:37:11 -04:00
Christoph Oelckers
28afd04aef
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
src/CMakeLists.txt
2014-06-27 01:10:09 +02:00
Braden Obrzut
19415668ec
Merge branch 'gcc_aggressive_optimization' of github.com:edward-san/zdoom into edward-san-gcc_agressive_optimization
2014-06-26 18:11:32 -04:00
Braden Obrzut
1ae53473ff
Merge branch 'edward-san-cmake_gcc_compatible'
2014-06-26 17:54:48 -04:00
Braden Obrzut
cb9877e7ff
- Using USE_WINDOWS_DWORD on other platforms can cause problems.
2014-06-26 17:52:26 -04:00
Christoph Oelckers
0cb1547890
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-26 09:45:27 +02:00
Christoph Oelckers
270541f942
fixed compilation with latest LZMA SDK on Windows.
...
LZMA SDK recently added an #include <windows.h> to its headers, meaning it's no longer safe to include its headers globally in platform independent files.
The following changes were necessary:
- rename DWORD type in zipdir.c
- add USE_WINDOWS_DWORD and reorder includes in file_7z.cpp
- wrap LZMA decoder stream into a local struct that's declared anonymously in files.h and adjust files.cpp for this change.
2014-06-26 09:43:51 +02:00
Edoardo Prezioso
1a3ac9d0b3
- Simplify CMake GCC and Clang checking.
...
Introduce the variable 'ZD_CMAKE_COMPILER_IS_GNUC(XX)_COMPATIBLE' and replace any occurrence of '"${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "Clang"' with it. This makes it possible to add more GCC compatible compilers in just one place.
2014-06-26 01:23:41 +02:00
Edoardo Prezioso
0e3bee6f30
- Enable 'language' feature on unix targets.
...
The sdl version of the function 'SetLanguageIDs' is very limited, comparing to the win32 counterpart, as it will try to accept only the language codes (ie 'enu', 'fr', 'ptb', etc). If a different string is provided, zdoom will default its language to English.
2014-06-23 20:02:40 +02:00
Christoph Oelckers
e15f80f640
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-23 09:27:30 +02:00
Christoph Oelckers
e2e71e072e
removed error suppression code from shader compilation.
...
With GL 2.x support the engine still had something to fall back on, with that removed it needs to abort.
2014-06-23 09:26:29 +02:00
Christoph Oelckers
4f599b7b4d
Merge branch 'master' of https://github.com/binarycrusader/zdoom
2014-06-22 09:00:23 +02:00
Christoph Oelckers
e56e525d0f
- A_FireCustomMissile transfer tranlsation flag, code submission by jpalomo
2014-06-22 08:55:21 +02:00
Shawn Walker
6164807e97
- fix x64 visual studio linking for common controls
2014-06-21 22:49:42 -07:00
Christoph Oelckers
1f0c69a0e9
- some cleanup after GL 2.x code removal
...
- reinstated burn warp with shader based code.
2014-06-21 16:41:45 +02:00
Christoph Oelckers
2925c96b59
removed all GL 2.x code.
...
After thinking about it for a day or so I believe it's the best option to remove all compatibility code because it's a major obstacle for a transition to a core profile.
2014-06-21 15:50:32 +02:00
Christoph Oelckers
d5dceb6874
- changed alpha texture handling to avoid using the deprecated GL_ALPHA8 texture format unless we have a compatibility context of an older GL version.
2014-06-21 12:52:19 +02:00
Christoph Oelckers
ca76c2525e
- more vertex buffer stuff for models, still not tested.
2014-06-19 22:24:33 +02:00
Christoph Oelckers
5944894138
- create vertex buffer data for MD2/DMD models.
2014-06-19 17:06:26 +02:00
Christoph Oelckers
3e9b9c280b
- initialize model data at engine start, not at level start.
2014-06-19 15:22:00 +02:00
Christoph Oelckers
412d6499d9
- removed the voxel vertex buffer because it needs to be gone before implementing a model vertex buffer.
2014-06-19 14:46:55 +02:00
Christoph Oelckers
03916d75de
- cleaned up MD3 rendering and merged RenderFrame and RenderFrameInterpolated into one function.
2014-06-19 13:58:49 +02:00
Christoph Oelckers
59522f7065
- simplified MD2 drawing code as preparation for a buffer based implementation.
2014-06-19 13:37:30 +02:00
Christoph Oelckers
6457ced53f
Merge branch 'master' into Glew_Version_For_Real
2014-06-19 11:57:36 +02:00
Christoph Oelckers
7374cd34cf
Merge branch 'master' of https://github.com/darealshinji/gzdoom
2014-06-19 11:20:47 +02:00
Christoph Oelckers
d30bf6768e
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-19 11:20:38 +02:00
darealshinji
7757755e40
fix detection of libglew library on GNU/Linux
2014-06-19 10:43:37 +02:00
Edward Richardson
2d896d2b47
Added wi_autoadvance
...
- Prevents an absent player from stopping the intermission
2014-06-17 20:26:49 +12:00
Edward Richardson
a3a7ee569f
Multi-intermission waits for all players + changes
...
- Added a segment of code that now makes the intermission wait for all
players before advancing, instead of continuing on any player. A "ready
icon" shows to reflect this.
- The Deathmatch intermisson couldn't show the ready icon (because it
just used the ingame scoreboard), so a proper intermission was added,
which reflects the same design as the coop scoreboard.
- The colour column wasted more space then it should have needed, so it
was replaced with player colour backgrounds.
- Slight y offset adjustments to make everything fit in 320x200
properly.
2014-06-17 19:46:10 +12:00
Christoph Oelckers
13c4e993ba
Merge branch 'master' into Glew_Version_For_Real
2014-06-15 21:57:59 +02:00
Christoph Oelckers
5a0f1a882a
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-15 21:57:06 +02:00
Christoph Oelckers
965a2a2d79
definition for model vertex buffer.
2014-06-15 21:56:37 +02:00
Christoph Oelckers
e6f14b055a
- use buffer based rendering for dynamic light pass and horizon portals.
2014-06-15 20:28:23 +02:00
Edward Richardson
2838c4b25b
Prediction was rebuilding too much thinglist data
...
- Stopped player prediction from rebuilding more sector list data then
the player originally had.
2014-06-16 03:34:33 +12:00
Christoph Oelckers
1aaa1b7bad
- removed gl_usevbo CVAR because with recent code changes it has become useless. If GL_ARB_buffer_storage is present, buffers will always be used.
2014-06-15 12:12:24 +02:00
Christoph Oelckers
ea332383a8
- convert skybox rendering to use the buffer interface.
2014-06-15 11:50:54 +02:00
Christoph Oelckers
6b038a5dae
- fixed: GLPortal::DrawPortalStencil must apply the render state before drawing anything.
2014-06-15 10:30:03 +02:00
Christoph Oelckers
2abf1644a4
- fixed: Plane height changes only updated the first buffered vertex for the respective plane.
2014-06-15 10:18:46 +02:00
Christoph Oelckers
1b91a8f88c
- removed old immediate mode path for generating stencils.
2014-06-15 10:15:44 +02:00
Christoph Oelckers
3644073bbd
- use a software buffer for immediate mode rendering. This allows using the regular buffer code to collect data for both render modes and allows removal of a lot of duplicated code.
2014-06-15 01:14:41 +02:00
Christoph Oelckers
5b302ed3a6
- added benchmarking calls for glDrawArrays to see how well issunig draw calls performs on different hardware.
2014-06-14 15:16:33 +02:00
Christoph Oelckers
0ce6b40672
- fixed compile error in gl_skydome.cpp
...
- disable GL_ARB_buffer_storage when a -glversion parameter less than 4.0 is given. According to the spec this extension requires 4.0 so if emulating something lower it should not be used.
2014-06-14 14:58:17 +02:00
Christoph Oelckers
5e22c82e79
- use buffer for rendering the sky on all GL versions since the differences for making GL2.0 work are rather small.
2014-06-14 10:38:30 +02:00
Christoph Oelckers
4ad1e0b4cb
Merge branch 'master' into Glew_Version_For_Real
2014-06-14 01:24:45 +02:00
Christoph Oelckers
8d9a90cd22
- rewrote sky dome rendering to use a static vertex buffer if not on OpenGL 2.x.
2014-06-14 01:24:28 +02:00
WChrisK
67c6690689
Added a check that doesn't print empty obituary strings, as wad's that hide obituary strings in multiplayer games end up spamming a lot of empty lines.
2014-06-11 23:30:25 -04:00
Christoph Oelckers
3c0ba494f9
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-11 18:58:42 +02:00
Edward Richardson
842ef86e73
Don't reset the inventory of dead players
2014-06-09 19:54:40 +12:00
alexey.lysiuk
20adcecb1d
Remove redundant saving of GL nodes if they were loaded from cache
2014-06-02 10:54:52 +02:00
alexey.lysiuk
3e7b0c2916
Fix crash when GL nodes file cannot be opened for writing
...
Report errors to console if nodes file cannot be opened or written
2014-06-02 10:53:29 +02:00
Christoph Oelckers
9cd074ddf3
- fixed: plane equation vectors must be normalized when being loaded from UDMF.
2014-06-02 10:51:17 +02:00
alexey.lysiuk
96e4cb90b7
Fix crash on attempt to save cached OpenGL nodes on OS X
...
Root permissions are required to be able to create directories inside /Library/Application Support
So user's ~/Library/Application Support is used to store cached nodes
2014-06-01 15:12:41 +03:00
Christoph Oelckers
2ad47935ef
Merge branch 'master' into Glew_Version_For_Real
2014-06-01 12:43:17 +02:00
Christoph Oelckers
7fedaf9221
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-01 12:39:13 +02:00
alexey.lysiuk
a26fbc74f0
Fix compilation errors in latest texture-related changes
...
GCC and Clang complain about non-POD type passed to variadic function.
2014-06-01 10:27:16 +03:00
Edward Richardson
3817bed0b3
Weap scroll could sometimes miss sameslot weapons
...
In rear cases, when using next/prevweap, defined weapons in the same
slot couldn't cycle when looping to another when you only had weapons in
1 slot.
2014-06-01 18:13:47 +12:00
Christoph Oelckers
d925279bef
- fixed texture name handling in GL related texture classes for recent changes in ZDoom to eliminate the 8 character name limit.
2014-06-01 00:04:28 +02:00
Christoph Oelckers
3c5d07e9c6
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-31 11:05:44 +02:00
Christoph Oelckers
c39318f406
- use vertex buffer and reuse of data for stencil drawing. A stencil needs to be drawn multiple times with the same polygons so this is a good place to optimize.
2014-05-31 09:32:17 +02:00
Christoph Oelckers
8f5683e23d
- moved secret found message to string table and removed the CVAR crutch that dates from a time when modifying string table content wasn't as easy as it is now.
...
- added 'showsecretsector' CVAR to show the sector number with the secret found message.
2014-05-29 17:50:14 +02:00
Christoph Oelckers
75cde0b221
- allow locks to check for a key's species so that newly defined keys can open previously defined locks without the need to redefine them.
2014-05-29 17:30:01 +02:00
Edoardo Prezioso
72bbb19cc7
- Shut up GCC aggressive optimizer warnings.
...
From what I can see, GCC would miscompile the involved loops, because the index variable is 'signed int' and the multiplication with an unsigned would cause signed overflow (undefined behavior). Change the index variable type to 'unsigned int' to expect unsigned overflow (conformant to standard).
2014-05-25 10:11:09 +02:00
Edoardo Prezioso
b285cbebe4
- Fixed compiler errors in latest TEXTURES code.
2014-05-25 01:12:16 +02:00
Christoph Oelckers
9d846395bc
- replaced console buffer with a significantly more efficient new version that also can hold a lot more data.
2014-05-24 21:05:00 +02:00
Christoph Oelckers
a1ec6ab1ba
- fixed some Linux warnings.
2014-05-24 16:53:57 +02:00
Christoph Oelckers
e813ddf251
- fixed bad comparison.
2014-05-24 16:47:34 +02:00
Shawn Walker
01e909070a
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-23 19:08:56 -07:00
Christoph Oelckers
12c038a234
Merge branch 'master' into Glew_Version_For_Real
2014-05-21 15:26:22 +02:00
Christoph Oelckers
360e7d17f2
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-21 15:25:56 +02:00
Christoph Oelckers
54425ee2ef
- fixed: Desaturation factor was applied incorrectly.
...
- Also fixed some very strange thing in the shader's desaturate function. For unknown reasons using the 'mix' function there did not work.
- fixed: The fog boundary special shader could not be used.
2014-05-21 13:40:46 +02:00
Christoph Oelckers
0cf37f2e51
- fixed problem with selecting special shaders.
2014-05-21 12:36:29 +02:00
Christoph Oelckers
f5ea31b518
- use vertex buffer for all the common 2D rendering functions.
2014-05-21 00:36:04 +02:00
Christoph Oelckers
09ba62fbef
- put all the common part of buffer based drawing into a separate method of the vertex buffer.
2014-05-20 22:37:38 +02:00
Christoph Oelckers
23fbd69963
- 4 more places where immediate mode drawing has been substituted with a buffer-based alternative.
2014-05-20 22:20:15 +02:00
Christoph Oelckers
261bc77846
- fixed: when bringing up a new weapon the current flash state needs to be removed.
...
Especially when dropping the current weapon it can still be active, this is most easily observed with Strife's crossbow which loops the flash state, but it also can happen with other weapons, right after shooting.
2014-05-20 10:29:27 +02:00
Christoph Oelckers
8ec95dc58e
- fixed a few places in the savegame code where map names were still truncated to 8 characters.
2014-05-20 10:14:44 +02:00
Shawn Walker
582b1990b7
- restore original line endings
2014-05-18 16:00:31 -07:00
Shawn Walker
d2b0596cd4
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-18 15:39:41 -07:00
Shawn Walker
59885b856d
- remove texture name length limits for udmf maps
2014-05-18 15:38:46 -07:00
Christoph Oelckers
6e6be8ed5b
Merge branch 'master' into Glew_Version_For_Real
2014-05-18 12:47:48 +02:00
Christoph Oelckers
e84dc99475
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-18 12:46:28 +02:00
Christoph Oelckers
4acc04ce68
- don't truncate map names stored in demos.
2014-05-18 10:05:35 +02:00
Christoph Oelckers
cfef894867
This can be done better...
2014-05-18 09:41:13 +02:00
Edward Richardson
26b1abe3da
Fix netgame arbitration with long map lump names
2014-05-18 18:38:54 +12:00
Christoph Oelckers
ff7913ace8
- fixed: When a level gets loaded the renderer's sky variables need to be set.
2014-05-17 09:46:58 +02:00
Shawn Walker
ae8995e65b
Merge branch 'master' of https://github.com/rheit/zdoom
...
# By Christoph Oelckers (2) and Edward Richardson (1)
# Via Christoph Oelckers
* 'master' of https://github.com/rheit/zdoom :
- fixed: The map setup code was still truncating texture names in several places.
Fix nettic run-out at end of demo playback
- fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not.
2014-05-16 20:27:57 -07:00
Christoph Oelckers
8443de3f33
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-16 22:50:12 +02:00
Christoph Oelckers
e92032e8ff
- fixed: The map setup code was still truncating texture names in several places.
2014-05-16 22:48:37 +02:00
Christoph Oelckers
76b4ff143f
Merge branch 'upstream' of https://github.com/Edward850/zdoom
2014-05-16 15:56:32 +02:00
Edward Richardson
d3dcc04666
Fix nettic run-out at end of demo playback
2014-05-17 00:36:43 +12:00
Christoph Oelckers
25f4af734f
- fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not.
2014-05-16 10:56:23 +02:00
Shawn Walker
49e0eb03cc
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-15 22:55:35 -07:00
Christoph Oelckers
bf6a193e5b
- fixed: The episode parser was still truncating its map names to 8 characters.
2014-05-15 20:29:36 +02:00
Christoph Oelckers
03d4f23a6e
- made adjustments to the texture loading code to account for the recent changes to handle long texture names.
2014-05-15 19:27:22 +02:00
Christoph Oelckers
4e64ad847b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-15 09:46:47 +02:00
Shawn Walker
bfb5944517
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-15 00:11:52 -07:00
Christoph Oelckers
e3cd144af9
- one last GCC compile problem.
2014-05-14 17:27:22 +02:00
Christoph Oelckers
adcdc11360
- GCC compile fix.
2014-05-14 15:44:05 +02:00
Christoph Oelckers
2944e4f6ae
- fixed some Linux issues with recent changes.
2014-05-14 14:08:14 +02:00
Christoph Oelckers
85fb8c4326
- fixed: _M_X64 macro was misnamed _M_IX64.
2014-05-14 13:04:47 +02:00
Christoph Oelckers
388f09f786
- fixed: In Heretic corpses do not get crunched to gibs, they just get their size reduced to 0. Handled by a new gameinfo flag. This also gets set for Chex quest which has the gib sprite replaced by something different. Using a Crush state will override this global flag.
2014-05-14 12:54:03 +02:00
Christoph Oelckers
47a9dab56d
- allow setting sector planes' plane equations directly from UDMF.
2014-05-14 12:16:33 +02:00
Christoph Oelckers
8c052818b7
- fixed: long texture name lookup did not work with TEXMAN_TryAny.
2014-05-14 10:27:40 +02:00
Shawn Walker
fdfcb728a9
- make it easier to spot patch definition errors in console log
2014-05-13 22:50:39 -07:00
Christoph Oelckers
a375454474
- removed 8 character limit for map names.
2014-05-14 00:52:16 +02:00
Christoph Oelckers
24886b6734
- removed the last static character arrays from FLevelLocals.
2014-05-13 23:16:13 +02:00
Christoph Oelckers
e49e926bd9
- added option to ASectorAction to remove itself upon triggering by setting the STANDSTILL flag on the map thing.
2014-05-13 21:26:51 +02:00
Christoph Oelckers
30f57c0b8e
- added new renderstyles AddStencil and AddShaded.
2014-05-13 21:16:06 +02:00
Christoph Oelckers
ca4179caa3
- allow texture lookup by full path names. Due to technical limitations this may result in double textures if the same graphics lump is also referenced by its short texture name.
2014-05-13 20:51:16 +02:00
Christoph Oelckers
ebd6c18bef
- missed one texture name field in level_info_t.
2014-05-13 15:32:54 +02:00
Christoph Oelckers
a22670626c
- expanded names for view border elements. Also fixed the horribly bad implementation of custom borders which modified the DoomBorder elements without ever checking the game being used.
2014-05-13 13:40:02 +02:00
Christoph Oelckers
a05e62f3f7
- changed storage of lump and texture names in gameinfo to allow long names (with the exception of view border elements.)
2014-05-13 12:44:17 +02:00
Christoph Oelckers
a05e584b81
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-13 12:00:37 +02:00
Christoph Oelckers
60f0ab5f1b
- fixed Linux warning with type cast.
2014-05-13 12:00:11 +02:00
Christoph Oelckers
e718a72b4d
fixed: skies should be loaded into the FLevelLocals struct not into the global variables of the renderer.
2014-05-13 11:53:08 +02:00
Christoph Oelckers
fedf9c6a5b
fixed: if we allow long names for the fade table we must also check for them when the colormap gets loaded.
2014-05-13 11:39:25 +02:00
Christoph Oelckers
65e8563cf4
replaced all character arrays for lump/texture names in the level_info_t and FLevelLocals structures with FStrings as first preparation for allowing long texture names.
2014-05-13 11:33:59 +02:00
Christoph Oelckers
579eff5b96
- add vertex buffer based rendering for decals.
2014-05-12 22:46:30 +02:00
Christoph Oelckers
cf45f2d718
- added missing shader files.
2014-05-12 22:24:26 +02:00
Christoph Oelckers
b514a815f4
- enable use of vertex buffer for sprite rendering.
2014-05-12 20:23:54 +02:00
Christoph Oelckers
9c659b948c
- reactivated texture warping.
2014-05-12 15:13:07 +02:00
Christoph Oelckers
55d4c89753
- fixed: fog density calculation for fixed function was not correct.
2014-05-12 14:58:37 +02:00
Christoph Oelckers
4d005bdfa0
shader rework
...
All those special shaders have been merged together.
Mostly working but the non-shader lighting seems a bit broken.
2014-05-12 14:45:41 +02:00
Christoph Oelckers
98cc7eeb99
pass softlightlevel through render state.
2014-05-12 00:13:19 +02:00
Christoph Oelckers
b9a6fe80a4
Do not use the shader to handle STYLEF_RedIsAlpha.
...
Turns out that the name doesn't accurately describe what it does.
It is correct for images that come with their own palette or are true color.
But for images using the game palette it doesn't use the red channel to determine translucency but the palette index! Ugh...
This means it cannot be done with a simple operation in the shader because it won't get a proper source image. The only solution is to create a separate texture.
2014-05-11 23:56:53 +02:00
Christoph Oelckers
506798f134
allow brightmaps and fullbright objects in fog. The reasons why they were disabled no longer exist.
2014-05-11 23:12:28 +02:00
Christoph Oelckers
c47c7421a3
- route all glColor calls through render state.
...
- add sector links to dynamic lights.
2014-05-11 22:57:42 +02:00
Christoph Oelckers
978ace241c
- removed all code that mixes together the different lighting methods. Now everything goes through the 3 different light parameters in the render state.
...
- removed cm parameter from many functions.
2014-05-11 21:47:54 +02:00
Christoph Oelckers
887d35d559
- remove colormap from texture generation parameters. The one remaining special case, alpha texture on old hardware is now handled by the currently set texture mode at the time of use.
...
- use the cleaned up decal lighting code from the first GLEW branch.
2014-05-11 19:44:19 +02:00
Christoph Oelckers
7793bbbcc9
Further cleanup of lighting code.
...
- remove thing color from lighting calculations.
- implement alpha textures and inverse sprites for infrared as texture modes. This still requires some handling for the alpha texture mode for non-shader rendering because there is no way in the fixed pipeline to do it. The inverted texture effect can be done with a texture combiner.
- fixed: ThingColor for sprites was set in the wrong place. It must be in the Process function, not in the lighting calculation.
- added functions for isolated calculation of sprites' dynlight color.
2014-05-11 17:56:38 +02:00
Christoph Oelckers
607be91c48
- bad copy.
2014-05-11 16:54:11 +02:00
Christoph Oelckers
8ae97bc3e1
-looks like we still need this...
2014-05-11 16:51:33 +02:00
Christoph Oelckers
52056a05bd
- changed handling of DynLight in shader to serve as a global dynamic light color for all lighting modes.
2014-05-11 16:49:17 +02:00
Christoph Oelckers
53f4cd0108
- added objectcolor uniform. This will be used to hold the thingcolor for shader based rendering.
2014-05-11 16:06:25 +02:00
Christoph Oelckers
f3a9cb0cfa
remove special texture creation for fullscreen colormaps.
...
On GL 3.x+ this isn't needed at all and on older hardware it causes performance issues, in particular with hires textures due to impossibility of precaching.
In addition it forces some really awkward handling of lighting for things that have their own color, like stenciled sprites or particles.
With this special case gone it will be possible to handle this case in a saner manner than it is right now.
As compensation for older hardware a fullscreen blend will be drawn over the entire screen. This won't be 100% accurate but it's preferable to keeping the current method.
2014-05-11 14:46:37 +02:00
Christoph Oelckers
5947584bff
Merge branch 'master' into Glew_Version_For_Real
2014-05-11 13:29:37 +02:00
Christoph Oelckers
cd6d653b59
- fixed: the delayed state changer for the alpha function called glBlendFunc instead of glAlphaFunc.
2014-05-11 13:29:06 +02:00
Christoph Oelckers
09f4071436
Ok, it had to be done: Removed shader support for pre GLSL 1.3/GL 3.0 hardware. The compromises needed to accomodate these are just too bad and would block any attempt at streamlining the code.
2014-05-11 13:27:51 +02:00
Christoph Oelckers
92b9814460
Merge branch 'master' into Glew_Version_For_Real
2014-05-11 09:17:46 +02:00
Christoph Oelckers
a42cde0837
- removed #include of glxew.h because it's not used.
...
- removed some unused functions from gl_interface.cpp which were causing problems when compiling on Linux.
2014-05-11 09:17:18 +02:00
Christoph Oelckers
f7404d20fb
- add vertex buffer based drawing for all walls and flats.
2014-05-11 01:23:27 +02:00
Christoph Oelckers
7d3beb665b
- rewrote vertex buffer code to require GL_ARB_BUFFER_STORAGE extension.
...
This means it won't work anymore on anything that doesn't support OpenGL 4.0, but I don't think this is a problem. On older NVidia cards performance gains could not be seen and on older AMDs using the vertex buffer was even worse as long as it got mixed with immediate mode rendering.
2014-05-10 21:47:07 +02:00
Christoph Oelckers
b09405a8bd
- changed rendering of glowing walls so that it doesn't require an additional vertex attribute, just pass the floor and ceiling planes as uniforms.
2014-05-10 17:09:43 +02:00
Christoph Oelckers
64d991b9b3
Merge branch 'master' into Glew_Version_For_Real
2014-05-10 15:29:06 +02:00
Christoph Oelckers
7c180e5094
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-08 11:30:12 +02:00
Christoph Oelckers
458e1b1be2
- changed sound lookup for ZSDF dialogues so that it first checks the svox/ namespace before using the global one.
2014-05-08 11:29:45 +02:00
Christoph Oelckers
a7f8f7c18b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-08 10:35:10 +02:00
Christoph Oelckers
ea7fb936a8
- fixed: memory allocation for file names in 7z archives was broken. Changing it to use TArray instead of alloca makes it work.
2014-05-08 10:33:32 +02:00
Christoph Oelckers
6988156d0f
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-08 09:49:00 +02:00
Christoph Oelckers
1d4ea9f162
- removed the __asm nop breakpoints for debugging. They not only do not work on non-MSVC but also not on 64 bit.
2014-05-08 09:48:39 +02:00
Christoph Oelckers
2223c12938
- added new ChangeActorAngle/ChangeActorPitch ACS functions because the new required 'interpolate' parameter cannot be added to the existing SetActorAngle/SetActorPitch functions without breaking old scripts.
2014-05-08 09:43:58 +02:00
Christoph Oelckers
63a0e01c6a
Merge branch 'interpview_optin'
2014-05-08 09:17:00 +02:00
Christoph Oelckers
67ebbe3ed4
made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic.
2014-05-08 09:15:56 +02:00
Christoph Oelckers
890e9ecddd
- typo in resurrection code.
2014-05-07 17:18:44 +02:00
Christoph Oelckers
fcbb72a4d4
- removed redundant variable.
2014-05-06 09:59:56 +02:00
Edward Richardson
90e9937b71
Stop NetUpdate from corrupting demo playback
2014-05-05 22:47:48 +12:00
Christoph Oelckers
93aa1ea2c4
fixed some issues with reviving monsters
...
- fixed: Thing_Raise didn't properly set the spawn health.
- fixed: Thing_Raise did not the CanRaise state flag.
- fixed: Reviving a monster must also reset the damage type.
- fixed: Thing_Raise reset the actor after calling the raise state, but it should be before, just as the Archvile code is doing.
- consolidated some common code of Thing_Raise and Archvile resurrection into AActor methods.
2014-05-05 11:24:20 +02:00
Christoph Oelckers
a4076ffe38
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-03 12:29:18 +02:00
Christoph Oelckers
a9f1b54d2d
- fixed: since A_LightGoesOut alters a sector's floor plane it must also alter the TexZ for that sector's floor.
2014-05-03 10:12:25 +02:00
Christoph Oelckers
34360e7975
Merge branch 'upstream' of https://github.com/Edward850/zdoom
2014-05-02 17:31:02 +02:00
Edward Richardson
104a07d461
Make sure use_staticrng is false if not needed
2014-05-03 03:27:14 +12:00
Edward Richardson
6183f8125f
Don't change RNG in demos incase they are static
2014-05-03 03:01:49 +12:00
Edward Richardson
d6af8dc352
Added static RNGseed control
2014-05-03 03:01:40 +12:00
Christoph Oelckers
314225f1b0
- don't depend on stdint.h because older MSVC versions do not have it.
2014-05-01 12:30:56 +02:00
Christoph Oelckers
cc4305e86c
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-30 01:29:26 +02:00
alexey.lysiuk
3af7d8a245
Added support for LZMA2 compression method in .7z archives
...
Updated LZMA SDK to version 9.20
http://www.7-zip.org/sdk.html
http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2
2014-04-27 13:05:40 +03:00
alexey.lysiuk
6b26b710b8
Added simple check for unsupported compression method in .7z files
2014-04-27 10:23:20 +03:00
alexey.lysiuk
3fa89b4e9f
Fixed crash on attempt to load corrupted data file
...
Instance of FileReader is no longer destructed when header of data file is valid but complete loading of file fails
Loading of truncated .zip file is the simplest test case
2014-04-27 10:18:50 +03:00
Gaerzi
a0d4bc0a89
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-25 01:30:03 +02:00
Christoph Oelckers
3f8c7239af
Merge branch 'master' of https://github.com/Gaerzi/zdoom
2014-04-24 09:41:54 +02:00
Gaerzi
7c3660087e
Restore shadow renderstyle.
...
It was accidentally lost in r3085.
2014-04-22 13:32:33 +02:00
Gaerzi
265917c923
Add shadow and subtract styles to ACS.
...
There is a matching pull request for rheit/acs.
2014-04-22 13:31:55 +02:00
alexey.lysiuk
1c50b5dd6f
Fixed initialization of Hexen-style things
...
Recently added pitch and roll members were not initialized with zeroes when loading Hexen-style maps
At least, hitscan attack can be fired in random direction because of this
2014-04-20 13:37:59 +03:00
Christoph Oelckers
c7354c571f
Merge branch 'master' into GLEW_VERSION
2014-04-18 12:16:12 +02:00
Christoph Oelckers
97c7f2c5ce
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-18 12:13:29 +02:00
Christoph Oelckers
7cb828d763
Merge branch 'slowstate' of https://github.com/Gaerzi/zdoom
2014-04-18 09:46:23 +02:00
Christoph Oelckers
584dd78ba9
Merge branch 'master' of https://github.com/Edward850/zdoom
2014-04-16 16:42:43 +02:00
Edward Richardson
897d87a6a3
Invisibility would could P_LookForPlayers early
2014-04-17 01:13:18 +12:00
Edward Richardson
d855bd66b3
Fixed P_LookForPlayers scanning redundancies
...
- Players could be scanned multiple times, repeating expensive tests
- Players could be skipped completely and become invisible as a result
2014-04-17 00:46:33 +12:00
Christoph Oelckers
29231fa3b7
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-16 11:34:32 +02:00
Christoph Oelckers
48b926e5b4
- check +logfile explicitly at the start of execution. Due to the custom CVAR rewrite it would get called so late that it'd miss half of the log.
...
- added version check for Windows 8. I also would have liked to add 8.1 but due to some incredibly stupid changes in the version API it's no longer possible to reliably retrieve the correct Windows version for later builds.
2014-04-16 09:53:07 +02:00
Gaerzi
83182b703d
Added slow monsters, the inverse of fast monsters
...
This is a skill setting only, no "always slow" or "never slow" actor
flags, and no DM flags.
2014-04-15 21:01:49 +02:00
Gaerzi
c54f5571ea
Typo.
2014-04-15 17:24:01 +02:00
Gaerzi
6f2fd8edbf
Hexen also needs to init 0 fields.
2014-04-15 17:22:56 +02:00
Gaerzi
8e3360453f
Hexen too.
2014-04-15 17:18:55 +02:00
Gaerzi
e5578934ad
Init new non-0 fields for non-UDMF maps.
2014-04-15 17:16:33 +02:00
Christoph Oelckers
94b06900cb
- got rid of a lot of stuff that's no longer required with GLEW.
...
- replaced GLUs texture scaling with our own function. This is only used to scale down textures larger than what the hardware can handle so we do not need a dependency to an essentially deprecated library for it.
2014-04-15 11:59:41 +02:00
Christoph Oelckers
6a3a159e09
Merge branch 'master' into GLEW_VERSION
2014-04-15 09:37:58 +02:00
Christoph Oelckers
dbefac81d8
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-15 09:26:05 +02:00
Christoph Oelckers
4e683d360d
Merge branch 'master' of https://github.com/Edward850/zdoom
2014-04-15 09:22:50 +02:00
Christoph Oelckers
2205ca606f
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-15 09:18:04 +02:00
Edward Richardson
4270838613
CANRAISE state definition
...
CANRAISE state for allowing a monster to be resurrected without an
infinite frame
2014-04-12 22:02:19 +12:00
Gaerzi
101107b1e5
Updated documentation
2014-04-12 10:55:10 +02:00
Gaerzi
4cac599b88
Less flags, more generic properties
2014-04-11 00:58:59 +02:00
Gaerzi
580094a792
More editing flags
...
PSX-inspired flags to change the render styles of monsters (and other
things).
2014-04-10 12:32:23 +02:00
Christoph Oelckers
bbb41e869c
Merge branch 'master' of https://github.com/Edward850/zdoom
2014-04-07 19:54:30 +02:00
Edward Richardson
ca93e04de3
Added GetActorPowerupTics ACS function
2014-04-07 23:23:55 +12:00
Christoph Oelckers
69af73d9b9
- alternative configuration using GLEW to get extension functions. This requires GL 2.0, though so it won't be promoted to the mainline for the time being.
...
- removed all pre GL 2.0 support.
2014-04-06 14:35:44 +02:00
alexey.lysiuk
878dcdc0a4
Fix loading of lumps from directory on OS X
...
Use POSIX-compliant opendir() / readdir() functions instead fts_open() / fts_read()
Unlike Linux version, on OS X fts_read() inserts extra slash character between source directory and traversed entry paths
2014-04-06 12:56:51 +03:00
Christoph Oelckers
d74f045004
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
game-music-emu/game-music-emu.vcproj
2014-04-05 15:37:10 +02:00
Randy Heit
940794929c
Remove more VC++ warnings
2014-04-03 17:51:15 -05:00
Randy Heit
fc97584c69
Disable warning C4200 on VC++
...
- This warning is about using zero-sized arrays in structs (aka flexible
member arrays). It's standard-enough for our purposes, so don't warn
about it, since neither GCC nor Clang do.
2014-04-03 16:50:20 -05:00
Randy Heit
43fe317dbe
Use flexible array members for structs that end with var-sized arrays
...
- Since Clang++, G++, and VC++ all support this extension (even though it's
technically officially only part of C99), use it. It lets Clang's array-
bounds checker know that these are meant to be accessed out of their so-called
"bounds".
2014-04-03 16:33:33 -05:00
Christoph Oelckers
47406a3406
- I don't think it's a good idea to put a 64 MB lookup table into the static data segment, if it's for a piece of code most people will never use...
2014-04-03 23:02:43 +02:00
Christoph Oelckers
e446a8eb30
Merge branch 'master' of https://github.com/coelckers/gzdoom
2014-04-03 22:56:50 +02:00
Gaerzi
0aba6e09f3
Disambiguate which abs type we want.
2014-04-03 20:14:38 +02:00
Christoph Oelckers
072db7920d
Merge branch 'master' of https://github.com/rheit/zdoom
2014-04-02 23:51:24 +02:00
Christoph Oelckers
59eede6e6c
Merge branch 'master' of https://github.com/coelckers/gzdoom
2014-04-02 23:49:34 +02:00
Gaerzi
7261af1d9f
Don't define HQX_API to anything on Windows
2014-04-02 20:23:17 +02:00
Edward Richardson
546ae759fd
Cleanup old prediction fix development code
2014-04-02 21:25:45 +13:00
Edward Richardson
be33d2894a
Fixed prediction thinglist order restoration
...
Prediction didn't take sector_thinglist and thinglist order into
account.
This notably broke the order in which things were damaged.
2014-04-02 21:25:12 +13:00
Gaerzi
3e41685536
Merge pull request #6 from galtgendo/for-upstream
...
use portable hqx code
2014-04-01 23:57:42 +02:00
Christoph Oelckers
a9bea7d774
Merge branch 'getsectorz_take2' of https://github.com/crimsondusk/zdoom
2014-03-31 19:12:47 +02:00
Christoph Oelckers
edcc257667
fixed: APROP_StencilColor was not implemented for CheckActorProperty.
2014-03-31 16:39:34 +02:00
Christoph Oelckers
bd3bd0ed22
Merge branch 'upstream' of https://github.com/Edward850/zdoom
2014-03-31 16:36:54 +02:00
Christoph Oelckers
e983649731
Merge branch 'master' of https://github.com/rheit/zdoom
2014-03-31 16:02:43 +02:00
Edward Richardson
016cc7ba96
Missed space in flags7 line.
2014-03-31 23:57:43 +13:00
Edward Richardson
79f6e77e2b
Remove garbage characters from info CCMD
2014-03-31 23:51:18 +13:00
Christoph Oelckers
6e87ee80e4
Merge branch 'for-upstream' of https://github.com/galtgendo/gzdoom
2014-03-29 12:04:38 +01:00
galtgendo
8f97e96af1
silence a noisy warning
2014-03-28 01:54:42 +01:00
galtgendo
4909aa750f
Use more portable hqx code from googlecode hqx
...
Conflicts:
src/CMakeLists.txt
2014-03-28 01:49:53 +01:00
crimsondusk
d7a2435703
- the ACS functions GetSectorFloorZ and GetSectorCeilingZ now interpret tag=0 as 'any sector' and return the z height of whatever sector is at those coordinates.
2014-03-27 16:34:32 +02:00
Edward Richardson
697ef02871
Added StencilColor to Set/GetActorProperty
2014-03-28 00:23:12 +13:00
Edoardo Prezioso
5789ac6245
- Fixed new[]/delete mismatch in FNodeBuilder
...
Found with address sanitizer.
2014-03-16 13:21:08 +01:00
Christoph Oelckers
f96f4cb0a2
Merge branch 'master' of https://github.com/rheit/zdoom
2014-03-15 12:24:16 +01:00
alexey.lysiuk
6aa56202b6
Fix two issues with GL nodes handling
...
Fix inability to load GL nodes for maps with names longer than 5 characters.
Fix inability to load GL nodes from external GWA files.
2014-03-15 13:17:22 +02:00
Edward Richardson
40771d22a5
Player prediction fixes in PIT_CheckThing
...
Player prediction could end up executing functions for TOUCHY things or
modify velocities when BLASTED, among other things.
2014-03-15 04:15:30 +13:00
Edward Richardson
55362d2296
Merge remote-tracking branch 'upstream/master'
2014-03-14 20:59:24 +13:00
Edward Richardson
9dad8bdbbe
Clear old camera from previous level
...
The sound code could accidentally reference an old invalid camera during
level spawn
2014-03-13 18:27:39 +13:00
Christoph Oelckers
f44dc926e6
- fixed uniqueTid logic - patch by Edward-San.
2014-03-09 10:02:07 +01:00
Edward Richardson
79abe2d4e9
Made onground a player property
...
"onground" was a global, despite being treated as a player property and
crossed with instances from other players or prediction.
2014-03-03 01:00:47 +13:00
Edoardo Prezioso
1fb757f6f1
- Fixed useless 'array != NULL' check.
...
- 'notranslate != NULL' is completely useless, because 'notranslate' is an array, hence removed.
- I interpreted 'SbarInfoScript != NULL' as a typo, since 1)in the next expression inside the condition there's a dereference to 'SBarInfoScript[SCRIPT_CUSTOM]' and 2)'SBarInfoScript[SCRIPT_CUSTOM]' is checked against 'NULL', in line 352, and then dereferenced when introducing 'cstype'.
2014-03-01 22:27:40 +01:00