Commit graph

13377 commits

Author SHA1 Message Date
Christoph Oelckers
ad7aaa8f2a - specify fragment output locations in the shader source.
OpenGL has been supporting this since version 3.3 and Vulkan requires it so it's the way to go.
2018-06-12 23:52:33 +02:00
Magnus Norddahl
832e7818c8 - rewrote the blur shader so that it works the same way as the rest 2018-06-12 22:14:44 +02:00
Christoph Oelckers
cb5caa757b - moved ShaderUniforms to hwrenderer/ . 2018-06-12 22:08:31 +02:00
Christoph Oelckers
f166624eb2 - some fixes to the PP shader interface.
The binding point needs to be part of the ShaderUniforms class because Vulkan will need this value to generate the declaration in the shader source.
There's still one issue here: Since OpenGL has no local render state, the buffer must be bound every time it is used. Once the code is better abstracted this should be moved to a higher level class that knows all associated data and how to set it up.
2018-06-12 21:43:35 +02:00
Christoph Oelckers
4ddd9dde79 Use IUniformBuffer 2018-06-12 17:55:34 +02:00
Christoph Oelckers
20e84fff5a - fixed crash with GL 3.x and fixed colormap active.
This must skip all light processing. On GL 4.5 it will only collect useless data but on GL 3.x it will run into an unmapped buffer situation.
2018-06-12 17:55:20 +02:00
Christoph Oelckers
6fced1865f Moved ScopedViewShifter to hwrenderer/ . 2018-06-12 14:47:05 +02:00
Christoph Oelckers
f33ddd8cce Made the ScopedViewShifter fully inline 2018-06-12 14:44:58 +02:00
Christoph Oelckers
5a20de829b fixed compiler warning 2018-06-12 10:59:17 +02:00
Christoph Oelckers
3385e28611 Make it compile 2018-06-12 10:58:32 +02:00
Christoph Oelckers
b8b5802599 Added a uniform buffer abstraction class
May get some more methods later, this is just a start to get going.
2018-06-12 10:42:03 +02:00
Magnus Norddahl
9155b773cc - change ShaderUniforms so that it just contains the uniform block and not the binding point 2018-06-11 22:33:55 +02:00
Magnus Norddahl
49073489e5 - uniform buffers for the fxaa, blur and bloom shaders 2018-06-11 22:06:46 +02:00
Magnus Norddahl
48f753061a - uniform buffers for the present and shadowmap shaders 2018-06-11 21:42:09 +02:00
Magnus Norddahl
6fcc79d72a - uniform buffers for the tonemap shaders 2018-06-11 21:18:20 +02:00
Magnus Norddahl
2bde741a7e - Uniform buffer for colormap shader 2018-06-11 21:03:55 +02:00
Magnus Norddahl
d22fb24e28 - Uniform buffers for lens shader 2018-06-11 20:58:20 +02:00
Magnus Norddahl
763c5c9769 - change ssao pass to use an uniform block 2018-06-11 20:48:43 +02:00
alexey.lysiuk
29d2e77840 - fixed portal restoration on revisiting level in hub
Added function to FLevelLocals to test if map is being reentered

https://forum.zdoom.org/viewtopic.php?t=60455
2018-06-11 11:55:49 +03:00
Christoph Oelckers
bd1525eb9d - fixed: ADynamicLight's shadowmap index must be reset when loading a savegame. 2018-06-10 22:57:34 +02:00
Magnus Norddahl
a91147a3a5 - move DrawArray and DrawElements to PolyTriangleDrawer 2018-06-10 15:58:01 +02:00
Magnus Norddahl
9ba26a5ece - add support for using FModelVertex as input to the softpoly vertex shader 2018-06-10 15:29:31 +02:00
Magnus Norddahl
c9fd52340e - add GroupMemoryBarrierCommand 2018-06-10 13:35:15 +02:00
Magnus Norddahl
efa434d47b - remove unused VectoredTryCatch 2018-06-10 13:15:31 +02:00
Magnus Norddahl
628f6c32d9 - remove unused DrawerCommand::DebugInfo 2018-06-10 12:54:37 +02:00
Magnus Norddahl
de67393b4e - use the worker threads to clear the stencil buffer 2018-06-10 12:42:19 +02:00
Christoph Oelckers
8486cd2c0e - fixed generation of brightmaps for sprites.
This forgot to take the added empty border for filtering improvement into account.
2018-06-10 08:22:07 +02:00
Rachael Alexanderson
77956fc485 - remove ARM specific gl_es definition since it's not even really much different from the main line definition, anyhow 2018-06-09 13:40:39 -04:00
Christoph Oelckers
ae1fe041ee - ZScript used the wrong variable for compatflags2.
ii_* is merely the storage for info from the compatibility.txt lump.
2018-06-09 17:59:21 +02:00
alexey.lysiuk
4a1f36623b - fixed: flag CVars in ZScript referenced wrong addresses 2018-06-09 17:21:55 +03:00
Magnus Norddahl
85f5f897d7 - enable model rendering in the software renderer 2018-06-09 12:29:33 +02:00
Christoph Oelckers
1fdcacc337 - redirect script access to the compatflags CVARs to their internal shadow variables.
This is needed so that MAPINFO settings for these flags don't get ignored.
2018-06-08 22:55:44 +02:00
Christoph Oelckers
a312f5a7c1 - update version info. 2018-06-07 00:04:53 +02:00
Magnus Norddahl
2abf700c29 - fix missing include 2018-06-06 00:30:59 +02:00
Magnus Norddahl
5464d2a577 - add dynamic lights to softpoly and software renderer models 2018-06-05 22:43:11 +02:00
Magnus Norddahl
61f379c88f - fix null pointer crash in softpoly 2018-06-05 22:42:21 +02:00
Christoph Oelckers
2baed338f7 - flat rendering must check for missing vertex buffer data. 2018-06-05 21:44:38 +02:00
Christoph Oelckers
60b6dbadb2 - fixed autoaiming for unranged attacks.
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.
2018-06-05 20:35:01 +02:00
Magnus Norddahl
f5386a706f - fix software renderer dynamic lights not working properly in mirrors 2018-06-05 20:09:02 +02:00
Magnus Norddahl
b74a9965b8 - draw models in mirrors and portals at the right location in the software renderer 2018-06-05 19:36:57 +02:00
Marisa Kirisame
477cf23fd2 Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding. 2018-06-05 10:06:53 -04:00
Magnus Norddahl
674b6ee85c - avoid using global variables in the inner fuzz drawer loop 2018-06-05 15:43:03 +02:00
Magnus Norddahl
51fd715404 - fix dynlight color not being applied on sprites 2018-06-05 15:32:27 +02:00
Magnus Norddahl
9cd751ae7a - fix softpoly colored fog bug in the new drawers 2018-06-05 15:16:04 +02:00
alexey.lysiuk
7009755c52 - fix crash on dying when player class has no death states
https://forum.zdoom.org/viewtopic.php?t=60815
2018-06-05 11:06:31 +03:00
Marisa Kirisame
fae514f30d BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines 2018-06-04 22:18:51 +02:00
Christoph Oelckers
2f6dc46f14 - fixed FMemArena to always return 16 byte aligned pointers.
Unfortunately this turned out harder than expected because of FSharedStringArena making some strong assumptions about the underlying implementation.
2018-06-04 21:51:16 +02:00
Christoph Oelckers
af3d17af8b Revert "- fix memory arena allocation alignment for 32 bit systems."
This reverts commit 23fce56b5e.

This did not do what it was supposed to because of how the block header was created.
2018-06-04 21:51:16 +02:00
Rachael Alexanderson
780ddd21bd - fixed - sector sounds were not translated through portal groups properly 2018-06-04 13:10:58 -04:00
Magnus Norddahl
e3c78ab838 - use a light array to simplify inner light math 2018-06-04 00:36:14 +02:00
Magnus Norddahl
97f4cc1951 - use affine dynlights in softpoly 2018-06-03 22:24:44 +02:00
Christoph Oelckers
d18f5eecb4 - Fixed: Dehacked must not validate parameters for MBF special functions.
These won't match the conditions.
Additionally this adds disassembly output for the synthesized replacement functions for diagnostics purposes.
2018-06-03 19:28:16 +02:00
Magnus Norddahl
d425fb2d4a - replace the old rect drawers with new ones based on render styles 2018-06-03 18:36:37 +02:00
Christoph Oelckers
23fce56b5e - fix memory arena allocation alignment for 32 bit systems. 2018-06-03 18:20:50 +02:00
Christoph Oelckers
a851a5d151 - fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
alexey.lysiuk
352f93c066 - deleted now useless code from Cocoa backend
Let's rely on cross-platform code to manage window dimensions and screen resolution
2018-06-03 17:48:58 +03:00
alexey.lysiuk
f8f1148c59 - fixed mouse cursor positioning in menu for Cocoa backend
With video resolution scaling enabled engine coordinates of mouse cursor were wrong
2018-06-03 17:48:58 +03:00
alexey.lysiuk
b5274534d7 - fixed linking with sanitizer(s) enabled
no more unresolved references to various functions
2018-06-03 16:05:14 +03:00
Marisa Kirisame
f74e74ac4b Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis 2018-06-03 14:20:42 +02:00
Magnus Norddahl
f03c02df43 - fix gamepic render buffer issues 2018-06-03 13:59:40 +02:00
Marisa Kirisame
dea1d0259d Swap front face culling for GL model drawer (CCW should be the default).
Added mirroring handling to software models.
2018-06-03 07:26:55 +02:00
Magnus Norddahl
a186677092 - removed the 8x8 block drawing code from softpoly 2018-06-03 01:44:56 +02:00
Christoph Oelckers
d0aacd3ba8 - fixed: The translucent border draw list must be rendered with depth writing active.
This gets exclusively used by portal borders which means that for walls the setting is irrelevant but for flats it is needed to cover the portal surface so that translucent parts of the outer scene do not bleed through.
2018-06-02 23:09:51 +02:00
Magnus Norddahl
0dbcdc8a9c - fix negative rotation speed not working 2018-06-02 20:35:51 +02:00
Christoph Oelckers
94d1a73ae8 - pass mirroring info to model drawers.
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.
2018-06-02 13:07:47 +02:00
Christoph Oelckers
decea97a34 - use a linear light ramp on the textured automap for light modes 0 and 1. 2018-06-02 12:34:21 +02:00
Christoph Oelckers
0c5a47ac90 - fixed: MF3_DONTSPLASH disabled all terrain effects, not just the splash.
Untested for now because the report came without any example to check it with.
2018-06-02 12:10:44 +02:00
Marisa Kirisame
58f4af6ded Transform UE1 vertex coords to GZDoom's when importing, rather than leaving it up to the end user. 2018-06-02 10:00:31 +02:00
alexey.lysiuk
81f042f08b - fixed compilation with Clang and GCC
src/gl/scene/gl_flats.cpp:215:3: error: cannot jump from this goto statement to its label
src/r_data/models/models.cpp💯18: error: no member named 'floor' in namespace 'std'
2018-06-02 09:43:33 +03:00
Christoph Oelckers
7d515e72c2 - fixed: FxFloatCast must transfer the outer expression's value type to the inner expression if it performs a float->float cast.
This violated an important rule that a cast may not alter the expression's type and led to failed asserts elsewhere.
2018-06-02 07:50:23 +02:00
Christoph Oelckers
058c5426cd - fixed: OpenGL2 should not use the precalculated vertex buffer data for flat rendering.
This wasn't set up properly anymore because the new index-based buffer code is not efficient on GL2, but the render function forgot to skip the buffer checks and jump right to the fallback path.
2018-06-02 07:25:41 +02:00
Magnus Norddahl
359b13b783 - fix rotationSpeed being ignored after the model interpolation fix 2018-06-01 20:48:24 +02:00
alexey.lysiuk
7b619bc78c - fixed crash with legacy render path
https://forum.zdoom.org/viewtopic.php?t=60727
2018-06-01 12:28:27 +03:00
alexey.lysiuk
edabe43bca - fixed typo in previous commit
https://forum.zdoom.org/viewtopic.php?t=60739
2018-06-01 12:24:29 +03:00
Christoph Oelckers
2d50f535ff - fixed and simplified the vertex counter for wall polygons.
This is now allowed to overestimate the number of vertices to reduce computation time for a rarely occuring special case that was eating most of the time and was causing errors with some walls.
2018-05-31 22:14:57 +02:00
alexey.lysiuk
bff2c8cf74 - limited length of server CVAR name to 63 characters
Due to limitation of network protocol server CVARs with longer names cannot propogate changes of their values properly

https://forum.zdoom.org/viewtopic.php?t=60729
2018-05-31 10:29:58 +03:00
alexey.lysiuk
0546c86716 - fixed Windows XP compatibility for MSVC 2017 targets
Workaround initially implemented for MSVC 2015 is enabled with all Windows XP compatible toolsets regardless of Visual Studio version

https://forum.zdoom.org/viewtopic.php?t=60675
2018-05-31 10:24:16 +03:00
alexey.lysiuk
4f5911da21 - fixed rendering of environment map on mirrors
With temporarily mapped buffer this feature seems to never work correctly
With persistently mapped buffer it was broken in 9a1603b246
2018-05-30 15:46:53 +03:00
Magnus Norddahl
4e6226fc2d - replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
- add dynlights to softpoly pal mode
2018-05-29 23:32:57 +02:00
Magnus Norddahl
ac207cce85 Merge branch 'master' of https://github.com/coelckers/gzdoom into gzdoom 2018-05-29 23:30:38 +02:00
Christoph Oelckers
ad343892f3 - fixed: When deserializing the object list, the array must be nulled before using it so that a premature abort does not end up working on random data. 2018-05-29 19:00:41 +02:00
alexey.lysiuk
f06ee10495 - use proper map section for wall mirror portal
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-29 12:16:20 +03:00
alexey.lysiuk
a0695cbb48 - fixed blinking frame after saving a game
Viewport was not reseted after creation of saved game thumbnail, so one junk frame was rendered right after saving a game

https://forum.zdoom.org/viewtopic.php?t=60412
2018-05-29 12:07:45 +03:00
alexey.lysiuk
0187b0aa5b - fixed mirrors and reflections in hardware renderer
https://forum.zdoom.org/viewtopic.php?t=60671
2018-05-28 11:51:43 +03:00
alexey.lysiuk
36779cf88c - restore startup game state on restart
At least values of custom server CVARs were not restored because of this

https://forum.zdoom.org/viewtopic.php?t=60711
2018-05-27 16:42:48 +03:00
alexey.lysiuk
e085a8d58a - garbage collect static event handlers on restart
Remaining object(s) led to a potential crash on the next garbage collection cycle
Assertion failure was triggered during restarting in Debug configuration
2018-05-27 16:42:48 +03:00
Magnus Norddahl
190b673890 - Modify TriBlendMode enum to match the render styles 2018-05-26 23:06:23 +02:00
Magnus Norddahl
9fb34fd8e6 - add SSE2 version of softpoly span drawer 2018-05-26 16:15:14 +02:00
Magnus Norddahl
7f908ce75d - implement render styles for the softpoly span drawers 2018-05-26 14:27:54 +02:00
alexey.lysiuk
91f440378e - fixed minor issues with new line specials 2018-05-26 10:37:01 +03:00
Cacodemon345
b02736c705 Add missing line specials. 2018-05-26 10:36:16 +03:00
Magnus Norddahl
31f29bbe8a - force model light to be attenuated 2018-05-25 19:23:47 +02:00
alexey.lysiuk
1634b78280 - fixed typo in error message 2018-05-25 11:05:30 +03:00
alexey.lysiuk
a936592cfd - fixed compilation warning reported by MSVC
src\r_videoscale.cpp(105): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
2018-05-25 10:59:48 +03:00
Raccoon
475d3f0829 Adds line specials 2018-05-24 21:46:32 +02:00
Magnus Norddahl
cadc4f2a30 - add #include support to TEXTURES lump 2018-05-24 21:18:20 +02:00
alexey.lysiuk
7576068202 - fixed compilation warning with MSVC 2015
src\polyrenderer\scene/poly_portal.cpp(142): warning C4800: 'line_t *': forcing value to bool 'true' or 'false' (performance warning)
2018-05-24 11:58:51 +03:00
Magnus Norddahl
8098657cf4 - add two-sided culling support in software and poly 2018-05-24 01:39:36 +02:00
Magnus Norddahl
771931db9f - forgot to remove the remarked comment 2018-05-24 01:00:31 +02:00
Magnus Norddahl
fb9cf33af6 - enable #include support in modeldef files 2018-05-24 00:59:45 +02:00
Christoph Oelckers
496e6e2e8f - fixed: The vertex height updater was using the index buffer offsets to access the vertex buffer.
I missed this part when repurposing the vboindex members to store the index buffer offsets.
However, since both indices are needed, they need another set of variables.
2018-05-24 00:01:56 +02:00
Christoph Oelckers
23909d109f fixed: Generating light data for single subsectors should not use the light list of the entire sector but only the one for the current subsector 2018-05-23 08:46:26 +02:00
Christoph Oelckers
044c8a2034 - removed gl_render_subsectors test CVAR and disabled vertex buffer generation for legacy mode
To reduce the performance impact, legacy mode will now always create flat vertex data on the fly instead of relying on the vertex buffer. This makes the CVAR mostly redundant as on anything more modern rendering per subsector will always be slower.
2018-05-23 08:43:52 +02:00
Christoph Oelckers
b612e182b4 Merge branch 'indexbuffer'
# Conflicts:
#	src/gl/data/gl_vertexbuffer.h
#	src/gl/scene/gl_flats.cpp
#	src/hwrenderer/data/flatvertices.h
2018-05-22 22:10:21 +02:00
Christoph Oelckers
df6a50872d Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-05-22 21:36:52 +02:00
Christoph Oelckers
3f6789ecac - moved gl_bsp.cpp to its proper place. 2018-05-22 21:36:42 +02:00
Christoph Oelckers
8987aba4a4 - restored accidentally deleted line of code. 2018-05-22 21:08:00 +02:00
alexey.lysiuk
26ebb938c1 - fixed compilation with GCC/Clang
https://forum.zdoom.org/viewtopic.php?f=2&t=60657
2018-05-22 21:48:31 +03:00
Christoph Oelckers
2514753afb - make the vertex buffer accessible from the hwrenderer code. 2018-05-22 18:48:10 +02:00
Magnus Norddahl
91aec1689e - move modeldef parsing to its own function (ParseModelDefLump)
- rename gl_InitModels to InitModels
- add commented out support for #include in modeldefs (blocked by gene tech having broken #include statements in its modeldef files)
2018-05-22 01:28:57 +02:00
Christoph Oelckers
226e8f84da - most of gl_bsp.cpp moved to HWDrawInfo.
Only the vertex buffer update check needs to be done yet.
2018-05-22 00:27:39 +02:00
Christoph Oelckers
df0b1e8dae - moved the clipper out of GLSceneDrawer and let it be handled by HWDrawInfo.
The precise way the clipper needs to be maintained may differ between APIs, so it is no longer owned by any render structure but instead HWDrawInfo only contains a reference.
For OpenGL there is still only one static clipper because without multithreaded BSP traversal there is no need for more.
2018-05-21 22:54:04 +02:00
Christoph Oelckers
5f87e81b6a - moved CurrentMapSections and in_area from GLSceneDrawer to HWDrawInfo.
Not only are they better placed in the common code, but they are also both per-viewpoint and not per-scene, so this is a far more suitable place and avoids saving and restoring them in the portal code.
2018-05-21 22:04:29 +02:00
Christoph Oelckers
e6a447eb6f - removed more occurences of gl_drawinfo. 2018-05-21 20:28:12 +02:00
Magnus Norddahl
31abe3df7e - avoid reusing the same mVBuf pointer for the different renderers as that causes too many problems when switching between them
- remove gl_ prefix for model functions that are no longer GL specific
2018-05-21 17:52:03 +02:00
Magnus Norddahl
cc4a09a3d2 - fix model interpolation bug 2018-05-21 14:23:30 +02:00
Christoph Oelckers
31263eeac2 - removed gl_drawinfo-> from FDrawInfo member functions and pass it to some other functions as a parameter.
This really shouldn't be handled as a global variable. The mere fact that several member functions used it incorrectly is ample proof of that.
2018-05-21 11:36:07 +02:00
alexey.lysiuk
2cdc9f9dda - fixed applying of alpha to weapon sprites
https://forum.zdoom.org/viewtopic.php?t=60638
https://forum.zdoom.org/viewtopic.php?t=60642
2018-05-21 10:53:02 +03:00
Christoph Oelckers
2d4b8549c6 - per-sector plane rendering needs to be disabled when processing a line portal with hardware that has no working clip plane support.
In this case there are no means to discard the parts of the rendered sectors that lie behind the portal so it should only render the parts that are flagged as visible.
2018-05-20 08:56:29 +02:00
Christoph Oelckers
3069b53804 - disable shader storage blocks if none get reported for vertex shaders. 2018-05-20 00:16:06 +02:00
Christoph Oelckers
5cffa8873a - added a CVAR to disable per-plane rendering.
This will require some comparisons on older hardware. On my Geforce 1060 rendering the full plane with one draw call is clearly faster in all cases I tested.
2018-05-19 19:19:48 +02:00
Christoph Oelckers
cc65490062 - added CVAR to disable WGL_EXT_swap_control_tear.
At least on faster NVidia hardware, setting this to false and gl_finishbeforeswap to true gives a better experience because it reduces screen tearing - but the same setting will reduce frame rate quite dramatically on Intel and can cause bad stalls on some older GPUs when rendering camera textures.
2018-05-19 19:18:38 +02:00
alexey.lysiuk
c6f7d92c76 - added forced automap style to linedef, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
2018-05-19 17:09:26 +02:00
RockstarRaccoon
90cb0b3215 - added 'revealed on automap' linedef flag, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
2018-05-19 17:09:26 +02:00
Marisa Kirisame
0c4a08460f Cleaned UE1 math by using FVector classes.
Reversed winding order on vertex buffer creation as UE1 uses CCW.
2018-05-19 17:09:06 +02:00
Christoph Oelckers
f54cf561ab - missed this. 2018-05-19 15:40:33 +02:00
Christoph Oelckers
3e204080ae - render sector planes in one draw call.
On a fast and modern graphics card this is a lot faster than doing it per subsector but it may not be without drawbacks on older hardware so it will require some testing on older hardware.
For me Frozen Time's view over the bridge went from 46 fps to 51 fps with this change, the time saved was roughly 2 ms.
2018-05-19 15:20:46 +02:00
Christoph Oelckers
352279a52f - removed the non-indexed flat setup.
This won't be needed any longer.
2018-05-19 14:44:16 +02:00
Christoph Oelckers
2125f8b9d1 - use triangles instead of triangle fans to render flats. 2018-05-19 14:42:25 +02:00
Christoph Oelckers
fd3681dae2 - use an indexed vertex buffer to render the flats.
Right now this has no advantage but it allows optimizing the data, e.g. rendering an entire sector in one go instead of per subsector.
2018-05-19 13:33:28 +02:00
alexey.lysiuk
9257c9cc0c - fixed compilation warnings reported by GCC/Clang
src/r_data/models/models.cpp:418:33: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models.cpp:427:38: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models_ue1.cpp:49:37: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
2018-05-19 13:28:53 +03:00
alexey.lysiuk
ace5ee3c41 - fixed crash after saving a screenshot
https://forum.zdoom.org/viewtopic.php?t=60616
2018-05-19 13:19:24 +03:00
Christoph Oelckers
5ec47d8b4f - removed some leftover data in sector_t. 2018-05-19 08:25:26 +02:00
Christoph Oelckers
ab3bacdaf5 - added missing files to project. 2018-05-18 23:00:10 +02:00
Christoph Oelckers
ebbe52082a - fixed vr_enable_quadbuffered for real
I did not consider that this is an init-only option. So changing the CVAR may not affect game behavior at all. Instead its value must be moved to some globally accessible variable on startup that never gets changed again.
2018-05-18 08:44:32 +02:00
Rachael Alexanderson
f2e6ca4ced - add 'vid_showcurrentscaling' ccmd, expanded output for 'vid_scaletowidth' and 'vid_scaletoheight' commands
- made the vid_scaleto____ commands less hacky - after finding out I could route the calls through screen->, found the correct screen-> commands, and do scaling based on the real screen dimensions
2018-05-17 19:25:32 -04:00
Christoph Oelckers
1656bbf9ec - route the BlurScene call in the menu through DFrameBuffer.
Game code should never ever call the renderer directly. This must be done through the video interface so that it can also work with other framebuffers later.
2018-05-18 00:22:57 +02:00
Christoph Oelckers
2962fe9f08 - silence some warnings. 2018-05-18 00:12:58 +02:00
Christoph Oelckers
b197bfc964 - avoid checking for vr_enable_quadbuffered directly.
This option only exists on Windows, so on the other platforms it should not be in the menu and not affect the setup of the VR mode.
2018-05-18 00:12:45 +02:00
Christoph Oelckers
3f56e02352 Revert "- fix compile on non-Windows targets"
This reverts commit 781cc62f89.

This gets in the way of a real fix.
2018-05-18 00:03:58 +02:00
Rachael Alexanderson
781cc62f89 - fix compile on non-Windows targets 2018-05-17 17:47:42 -04:00
Rachael Alexanderson
872cd529c7 - define zdoom.rc as a proper Windows text file, stop Git from mismanaging it 2018-05-17 17:39:18 -04:00
Christoph Oelckers
46a57fdfa1 - moved the postprocessing CVARs to hwrenderer. 2018-05-17 20:51:42 +02:00
Christoph Oelckers
ea98fe3c4d - moved the hardware independent part of custom postprocessing shaders from gl to hwrenderer. 2018-05-17 20:23:01 +02:00
Christoph Oelckers
da1cdf65c3 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-05-17 20:12:44 +02:00
Rachael Alexanderson
bcadd2bf04 - also remove unused forward declarations 2018-05-17 06:30:36 -04:00
Rachael Alexanderson
0f36b9d63f - cleaned up vid_scaleto____ code a bit, also set a sane lower limit for vid_scalefactor, removed some code redundancy 2018-05-17 06:24:21 -04:00
alexey.lysiuk
42668c6a5a - fixed seeking end of file in memory reader
https://forum.zdoom.org/viewtopic.php?t=60611
2018-05-17 10:19:29 +03:00
Christoph Oelckers
c0837f42bd - gl_system.h as well, in particular this has no place in hw_* files. 2018-05-16 23:34:52 +02:00
Christoph Oelckers
401c9ab8ca - moved gl_interface.cpp/h to gl_load folder.
These files are not part of the actual renderer but part of the system code.
This means, for separated modern and legacy GL renderers, there still will only be one set of this, unlike everything else.
2018-05-16 23:21:21 +02:00
Christoph Oelckers
6e20ece3f4 - moved vr_enable_quadbuffered definition to win32gliface.cpp because this is where it gets used. 2018-05-16 23:14:30 +02:00
Christoph Oelckers
fb876852bb - fix warnings. 2018-05-16 22:56:02 +02:00
Marisa Kirisame
1bb00ed4f0 Fix for Unreal meshes that don't have sequential texture numbers 2018-05-16 22:11:24 +02:00
Christoph Oelckers
44dd48c7fa - moved the palette stuff and some remaining scaling code from OpenGLFrameBuffer to DFrameBuffer and fixed GetFlashedPalette 2018-05-16 22:10:24 +02:00
alexey.lysiuk
fc91827900 - trigger WorldThingDamaged event before WorldThingDied
https://forum.zdoom.org/viewtopic.php?t=60597
2018-05-16 20:48:59 +02:00
Jonathan Russell
e9050a38b3 - added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors 2018-05-16 20:47:43 +02:00
Marisa Kirisame
98f279b651 Remove unnecessary checks. 2018-05-16 20:47:11 +02:00
Marisa Kirisame
ffc12eec29 Discarded "UMSH" packed format, now loads _d.3d + _a.3d pairs 2018-05-16 20:47:11 +02:00
Marisa Kirisame
f285e550d6 Add support for packed Unreal Engine 1 vertex mesh format.
(concatenated "UMSH" signature + datafile + anivfile)
This is pretty much 100% functional by now.
Hasn't been tested on platforms other than Linux yet, though.
Code definitely deserves some cleaning.
2018-05-16 20:47:11 +02:00
Rachael Alexanderson
0fae13bab4 - added vid_scaletowidth and vid_scaletoheight to calculate vid_scalefactor to reach a certain value on screen dynamics 2018-05-16 11:54:35 -04:00
alexey.lysiuk
e1e441091d - fixed potential crash on startup, Windows only
At least one version of Windows SDK (10.0.17134.0) has broken _pgmptr/_get_pgmptr()
It points to an empty string for multi-byte character set applications
GetModuleFileName() is now used instead regardless of compiler/toolchain
Added extra guard against unexpected program paths to avoid crashes

https://forum.zdoom.org/viewtopic.php?t=60598
2018-05-16 11:44:49 +03:00
alexey.lysiuk
751e318c4e - fixed wrong line number in error message
Parser of MAPINFO editor number definitions didn't assign line numbers, so 'Unknown actor class' fatal error displayed some garbage
2018-05-14 14:42:31 +03:00
alexey.lysiuk
fa5f936371 - fixed missing saved game picture in software modes
https://forum.zdoom.org/viewtopic.php?t=60574
2018-05-13 16:11:05 +03:00
Christoph Oelckers
8f96729e06 - fixed portal benchmarking and added separate output for 2D and finishing the main scene. 2018-05-13 09:48:19 +02:00
alexey.lysiuk
8a6ae503be - use map axes in bad sound position/velocity warning
https://forum.zdoom.org/viewtopic.php?t=60578
2018-05-13 10:13:59 +03:00
Christoph Oelckers
142368d958 - fixed alpha of weapon sprite. 2018-05-12 18:45:12 +02:00
Christoph Oelckers
c2a7a4bf30 - moved viewport code to DFrameBuffer. 2018-05-12 17:23:56 +02:00
alexey.lysiuk
f17f8c9359 - added end line to various messages
so they don't screw up further output anymore
2018-05-11 18:03:57 +03:00
Magnus Norddahl
643828f5fa - move 3d floor code into functions 2018-05-11 17:00:12 +02:00
Magnus Norddahl
e4d740e586 - more pointless complexity removal 2018-05-11 14:27:09 +02:00
Magnus Norddahl
acf9f55849 - remove pointless code 2018-05-11 13:29:24 +02:00
Magnus Norddahl
b0cc472e85 - fixed sloped drawer crash 2018-05-11 12:28:10 +02:00
alexey.lysiuk
2c2b19bb7f - fixed crash during autoloading of material textures
https://forum.zdoom.org/viewtopic.php?t=60546
2018-05-10 18:01:29 +03:00
alexey.lysiuk
a7e7db1fe9 - fixed calculation of glow color
Width and pitch were mixed up for RGB format texture, pixel data were read outside of designated buffer

https://forum.zdoom.org/viewtopic.php?t=60538
2018-05-10 15:45:29 +03:00
Magnus Norddahl
46e2e0b57c - reduce the number of direct OpenGL calls done by the post processing steps 2018-05-10 14:43:34 +02:00
landfillbaby
ba9a340c1f fix highlighting in snd_listmididevices 2018-05-10 11:51:23 +03:00
alexey.lysiuk
ef536e7b00 - fixed crash in DECORATE parsing
The case with forward declared class used as a parent must be handled explicitly

actor MyWeapon : Weapon { Weapon.AmmoType "MyBaseAmmo" }
actor MyAmmo : MyBaseAmmo { }
actor MyBaseAmmo : Ammo { }
2018-05-10 11:47:16 +03:00
alexey.lysiuk
821cc2a140 - added end line to recursive sound warning 2018-05-10 11:43:27 +03:00
Christoph Oelckers
e1ad4b618d - fixed: The targeter drawer did not check the return value of its setup function.
This caused invalid items to be passed to the renderer.
2018-05-10 09:09:24 +02:00
Christoph Oelckers
50cdcc79c8 - fixed OpenGL2.0 may not call the modern light setup code. 2018-05-10 09:05:26 +02:00
alexey.lysiuk
fd5df6e8d1 - Cocoa: ability to use drag and drop with custom IWADs 2018-05-09 12:47:11 +03:00
alexey.lysiuk
23dcc27542 - Cocoa: proper defaults in .plist 2018-05-09 12:33:19 +03:00
Magnus Norddahl
459f748c4e - added r_debug_draw that shows how the software renderer composes its scene 2018-05-08 22:22:15 +02:00
David Carlier
1b68b69ed8 Needed headers for time and WIF* 2018-05-08 22:04:20 +03:00
Magnus Norddahl
b27655db70 - 3d floor clipping support for models 2018-05-08 01:36:18 +02:00
Magnus Norddahl
49c9de350f - GetTimeFloat is not renderer specific 2018-05-07 00:40:12 +02:00
Magnus Norddahl
bfe6bffd33 - fix hud model clipping 2018-05-07 00:33:16 +02:00
alexey.lysiuk
78c06554af - proper handle pixel format creation errors in Cocoa backend 2018-05-06 17:53:53 +03:00
alexey.lysiuk
7fcefa2ed1 - SDL: clear button state when switching from/to GUI input
https://forum.zdoom.org/viewtopic.php?t=60451
2018-05-06 14:37:04 +03:00
alexey.lysiuk
ce18ff1df3 - use libc++ for all targets on macOS
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
2018-05-06 09:44:13 +03:00
Magnus Norddahl
4642861501 - fixed missing depth for models 2018-05-06 03:23:07 +02:00
Magnus Norddahl
1d929dd79b - fix translucent walls when r_models is enabled 2018-05-06 02:54:03 +02:00
Magnus Norddahl
d667a0192a - fix null pointer crash 2018-05-06 02:31:58 +02:00
Christoph Oelckers
099057b142 - moved the vertex and light data generation back to the render pass for modern OpenGL with persistently mapped buffers.
Having this extra CPU time in there allows for better parallelization with the graphics driver and GPU.
2018-05-05 23:32:55 +02:00
alexey.lysiuk
437b44bafb - serialize 'spawned' object flag, WorldThingDestroyed event relies on it
https://forum.zdoom.org/viewtopic.php?t=60435
2018-05-05 17:55:44 +03:00
Christoph Oelckers
74b624002c - moved the software renderer's drawer to the swrenderer directory. 2018-05-05 11:44:42 +02:00
Christoph Oelckers
de15b589c0 - moved the screen blending code out of the renderer.
This is better be made part of the 2D interface.
That would have been done long ago if it hadn't been for the totally incompatible way this was handled by the purely paletted software renderer.
Now with that out of the way there is no point keeping this code this deeply embedded in the renderer.
2018-05-05 11:20:37 +02:00
Christoph Oelckers
52d73eabbf - weapon drawing code refactor complete.
Setup and drawing are now done separately, this also no longer needs the Quad drawer.
2018-05-04 23:11:37 +02:00
alexey.lysiuk
2be84dc636 - skip rendering when application is not active
Use vid_activeinbackground CVAR to override this behavior
2018-05-04 11:24:37 +03:00
Christoph Oelckers
e0833d5005 - prepared the weapon sprite drawer for full separation. 2018-05-03 23:49:16 +02:00