Commit Graph

4404 Commits

Author SHA1 Message Date
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 802a478766 - Heretic doesn't really need dontcrunchcorpses because there was already some alternative handling for that situation. 2014-05-14 14:03:15 +02:00
Christoph Oelckers 85fb8c4326 - fixed: _M_X64 macro was misnamed _M_IX64. 2014-05-14 13:04:47 +02:00
Christoph Oelckers 51ed68dc72 - forgot to save this... 2014-05-14 13:02:04 +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