Commit graph

14258 commits

Author SHA1 Message Date
Christoph Oelckers
221beec979 - added palette shader and fixed a few things. 2018-04-07 12:17:23 +02:00
Christoph Oelckers
211a7f2569 - made the screen blend work for the software renderer.
It may use the same calculations as the hardware renderer but must use the 2D drawer for display.
It should be investigated if the hardware renderer can do this as well.
2018-04-07 10:53:20 +02:00
Christoph Oelckers
b34d7f9e08 - added a software scene drawer to the GL renderer.
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
Christoph Oelckers
d474b849a5 - removed the remaining calls from the FRenderer interface from the main game code.
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
927b351174 - added missing validation to SetCameraToTexture ZScript function. 2018-04-03 23:01:15 +02:00
Christoph Oelckers
fcc33f0a09 - moved around more stuff from the FRenderer interface. 2018-04-03 22:50:47 +02:00
Christoph Oelckers
91813ec43d - moved part of the fade init for LEVEL_HASFADETABLE to the common colormap initialization to have all of it in one place.
Otherwise this is easily overlooked when changing things later and potentially causing problems.
2018-04-03 20:55:36 +02:00
Christoph Oelckers
9ba32cb994 - with the new order of things we need the software renderer to be always available. 2018-04-03 20:14:26 +02:00
Christoph Oelckers
51bf2eb9fa - took GetMaxViewPitch out of renderer interfaces.
With live switching and both renderers on the same backend the old approach will no longer work.
2018-04-03 19:18:16 +02:00
Christoph Oelckers
9a919960c9 - fixd bad comparators for std::sort 2018-04-03 01:01:10 +02:00
Christoph Oelckers
7589dfda25 - removed test and debug code. 2018-04-03 00:53:45 +02:00
Christoph Oelckers
853903bb7e - removed the border refresh counter.
This was just a relic of DirectDraw as main backend and is no longer needed.
2018-04-03 00:50:40 +02:00
Christoph Oelckers
942460ba55 - changed voxel remapping to make a copy instead of destroying the original.
With live renderer switching both sets of data are needed.
2018-04-03 00:30:02 +02:00
Christoph Oelckers
2f96d3c61a - moved global variable definitions to the top of a few files.
Most of these are not critical because they only get used in non-multithreaded contexts but it's definitely easier to look them up this way.
2018-04-02 23:42:45 +02:00
Christoph Oelckers
821c2ec4c7 - removed access to deleted variable. 2018-04-02 20:38:12 +02:00
Christoph Oelckers
b0460eee19 - regenerated gl_load with full OpenGL 4.5 declarations, mostly to get the direct state access functions. 2018-04-02 20:37:31 +02:00
Christoph Oelckers
6641d65237 - use std::sort to sort the draw lists to avoid having to go through global variables. 2018-04-02 20:10:51 +02:00
Christoph Oelckers
5d94af913a - no, we do not want to use global variables to pass parameters around... 2018-04-02 18:13:18 +02:00
Christoph Oelckers
60aebff4a1 - starting separation of hardware dependent and hardware independent code, starting with aabbtree, because it was easy. 2018-04-02 15:58:28 +02:00
Christoph Oelckers
52c5328412 - made the glow getter functions members of sector_t. 2018-04-02 13:36:28 +02:00
Christoph Oelckers
d01bc452ba - moved all variables not related to the hardware renderer's texture state out of gl_info. 2018-04-02 13:00:33 +02:00
Christoph Oelckers
1fc4c9801b - moved all GLDEFS parsing into a dedicated source file.
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.
2018-04-02 12:28:20 +02:00
Christoph Oelckers
fd6fbc76c6 - moved the ZDoomGL texshader files to 'unused', where they belong. It is very unlikely that this code will ever be revisited. 2018-04-02 10:24:27 +02:00
Christoph Oelckers
7083103a0e - moved dynlightdata to r_data 2018-04-02 09:51:51 +02:00
Christoph Oelckers
8080e039e0 - moved most of gl_setup.cpp to r_data as this is only some data setup in the main map data structures.
- made currentmapsections array something nicer to look at and made it a member of the scene drawer class.
2018-04-02 09:27:40 +02:00
Christoph Oelckers
202d209eb8 - made the MapSectionGenerator a class to remove a global array. 2018-04-02 08:25:07 +02:00
Christoph Oelckers
4357f0dc40 - removed translation hack for alpha textures.
This will cause incorrectly generated textures and the reason for this no longer exists because CreateTexBuffer is doing this as a postprocessing step now.
2018-04-02 03:38:25 +02:00
Christoph Oelckers
524df21d81 - moved portal grouping code out of GL and into r_data. 2018-04-02 00:39:04 +02:00
Christoph Oelckers
d84554f093 - deleting some unused stuff 2018-04-02 00:28:25 +02:00
Christoph Oelckers
64b504ee7f - fixed last commit. This was missing an init call for the portal data. 2018-04-02 00:14:53 +02:00
Christoph Oelckers
248a29bf06 - resorted portal render data.
Compiles but does not work...
2018-04-01 22:26:57 +02:00
Christoph Oelckers
8be788a9b3 - moved portal data into FLevelLocals. 2018-04-01 20:17:39 +02:00
Christoph Oelckers
65e7b6dfaa - moved the code in gl_data.cpp to better fitting places
* the MAPINFO options now get handled in g_mapinfo.cpp and g_level.cpp, just like the rest of them as members of level_info_t and FLevelLocals.
* RecalcVertexHeights has been made a member of vertex_t and been moved to p_sectors.cpp.
* the dumpgeometry CCMD has been moved to p_setup.cpp
2018-04-01 18:45:27 +02:00
Christoph Oelckers
0127a71974 - fixed last commit. 2018-04-01 17:16:53 +02:00
Christoph Oelckers
0ae371f3ce - moved gl_use_hires check back into material class and cleaned up the interface a bit.
The function is supposed to be a worker, nothing more and its result should only depend on its arguments.
2018-04-01 16:32:37 +02:00
Christoph Oelckers
c60c025554 - moved gl_load headers out of the gl folder.
This is mainly to get them out of the way. The place is not optimal but will have to do as long as this remains a separate branch.
2018-04-01 16:30:34 +02:00
Christoph Oelckers
8b79eedfea - moved CreateTexBuffer out of the GL code.
This is merely a buffer creation function with no dependencies on the renderer.
2018-04-01 14:38:48 +02:00
Christoph Oelckers
711a88bab3 - consolidated cycle_t and glcycle_t because aside from glcycle_t's ability to be deactivated when no profiling takes place they did exactly the same thing. 2018-04-01 13:24:03 +02:00
Christoph Oelckers
d6fedd36b1 - moved the Plane class to vectors.h and deleted gl_geometric.h 2018-04-01 12:43:23 +02:00
Christoph Oelckers
cd64655f97 - removed empty header gl_convert.h 2018-04-01 12:00:51 +02:00
Christoph Oelckers
1461059dae - moved contents of gl_templates.h to files outside of gl/ 2018-04-01 11:59:12 +02:00
Christoph Oelckers
e49cd2cb83 - moved the hires replacement and upscaling code out of the GL classes into FTexture.
This theoretically means that the software renderer could access this data as well - if it just had been written with a more flexible texture interface.
However, as things stand, this may require quite a bit of work to achieve.
2018-04-01 10:41:04 +02:00
Christoph Oelckers
3671fd7f97 Merge branch 'master' into 2D_Refactor 2018-04-01 08:44:39 +02:00
Christoph Oelckers
23146c9b18 - made all elements of DehInfo and State read-only.
This data must be immutable, if any mod plays loose here, very bad things can happen, so this hole got plugged, even at the expense risking to break some badly behaving mods.
2018-04-01 08:41:06 +02:00
Christoph Oelckers
0f12fb9d6d - moved the texture file format handlers to a subdirectory for clarity. 2018-04-01 08:25:38 +02:00
Christoph Oelckers
a9d5533603 - integrated GL parts of translation handling into the main module.
Now that this doesn't have to share assets with HW2D it could be simplified a lot.
2018-04-01 00:59:49 +02:00
alexey.lysiuk
ff96980dda Fixed handling of default values in String.Mid()
https://forum.zdoom.org/viewtopic.php?t=60047
2018-03-31 21:45:20 +03:00
Christoph Oelckers
bc485a7f2c - moved a large portion of gl_textures.cpp into the main files for the implementing classes.
The old organization made sense when ZDoom still was a thing but now it'd be better if all pure data with no dependence on renderer implementation details was moved out.
A separation between GL2 and GL3+4 renderers looks to be inevitable and the more data is out of the renderer when that happens, the better.
2018-03-31 19:20:59 +02:00
Simon
4afc538f88 Localize the word “for” in Strife’s trading dialogs
This deals with what seems to be the only hardcoded piece of text in Strife. Also added a translation to the French file and removed a few superfluous line breaks in the English one.
2018-03-31 18:57:00 +02:00
alexey.lysiuk
b36fc82fff Removed check for duplicate IWADs
Skipping of duplicate IWADs seems to serve a cosmetic purpose only but it caused troubles with custom IWADs
https://forum.zdoom.org/viewtopic.php?t=58333
2018-03-31 15:34:55 +03:00