Commit graph

14567 commits

Author SHA1 Message Date
Christoph Oelckers
65a219eecc - sorted compatibility.txt so that levels which only have flags set are at the top of the file. 2018-04-10 20:02:41 +02:00
Christoph Oelckers
9daad477c3 - some improvements to compatibility scripts:
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk
03ffb30c39 Enabled custom window title in SDL backend 2018-04-09 20:47:49 +02:00
alexey.lysiuk
e6e2b11167 Set common name for system-specific framebuffer class
Implementation details are hidden as much as possible in platform-specific source files
Reduced number of included header files
2018-04-09 20:47:49 +02:00
alexey.lysiuk
640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03:00
Christoph Oelckers
e50d09ceb2 - removed the render mode settings from the launch popup.
They were already deactivated because with 5 render modes present this was destructive, having only 2 options available.
Since the render mode can now be changed on the fly this isn't as critical anymore as it once was.
2018-04-08 22:03:38 +02:00
drfrag666
80f57dfaf0 - Increased size of the savegame comment area. 2018-04-08 21:56:35 +02:00
Marisa Kirisame
8ff81c93e8 Fix building on GCC7. 2018-04-08 21:53:20 +02:00
Marisa Kirisame
08f3afab0b Separated P_ActivateLine ZScript export into two functions, one with and one without a vector parameter. 2018-04-08 21:53:20 +02:00
Marisa Kirisame
5d0ff4c8ba Exports P_ActivateLine to ZScript (along with constants for activation type) 2018-04-08 21:53:20 +02:00
Christoph Oelckers
551691f42a - made FTexture::GetPixels and FTexture::GetColumn non-pure-virtual.
With the software renderer not being used for 2D anymore it would be quite annoying if every texture class had to implement these.
If done properly, the SW renderer should actually be forced to dynamic_cast any texture to a FWorldTexture before using this stuff, but that'd be some pointless overhead better saved.
2018-04-08 21:19:57 +02:00
Christoph Oelckers
3dc670a0cc - missed this. 2018-04-08 21:02:15 +02:00
Christoph Oelckers
3dcd7d310f Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor 2018-04-08 20:52:30 +02:00
Christoph Oelckers
7c70e0971c - disabled the survey code.
This survey is now closed and new input no longer needed.
2018-04-08 20:51:19 +02:00
Christoph Oelckers
e6ce429ca5 - fixed alpha for hardware rendered weapon sprites in the software renderer. 2018-04-08 20:40:29 +02:00
Christoph Oelckers
a40d85fd41 - fixed: Before aqcuiring the WipeEndScreen, the renderer must be flushed.
Apparently this got previously done implicitly by code that got lost in the refactoring.
2018-04-08 19:54:17 +02:00
Christoph Oelckers
17c18f3367 - fixed typo in texture search function. This caused the crosshairs not to be found. 2018-04-08 19:16:46 +02:00
Magnus Norddahl
c4768441b4 - Fix playersprite offset being wrong in softpoly
- Remove DFrameBuffer::GetCanvas as it always returned null
2018-04-08 15:49:06 +02:00
Magnus Norddahl
4a730f6dd5 - Fix softpoly ignores status bar displacement 2018-04-08 14:28:48 +02:00
Magnus Norddahl
1a5f679d43 - Fix depth values when screenblocks less than 11 2018-04-08 13:45:23 +02:00
Christoph Oelckers
94e8d59dde - implemented shader support for rendering the SW renderer canvas with legacy OpenGL. 2018-04-08 13:05:20 +02:00
alexey.lysiuk
8cd3cf04e7 Fixed a few compilation warnings
src/gl/renderer/gl_renderer.cpp:775:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:776:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:777:39: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:778:45: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:779:40: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]
src/gl/renderer/gl_renderer.cpp:780:45: warning: comparison of two values with different enumeration types ('F2DDrawer::ETextureDrawMode' and 'TexMode') [-Wenum-compare]

src/v_draw.cpp:1144:51: warning: '&' within '|' [-Wbitwise-op-parentheses]

src/textures/texture.cpp:1050:20: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]

src\intermission\intermission.cpp(80): warning C4101: 'lumpnum': unreferenced local variable
2018-04-08 13:55:46 +03:00
alexey.lysiuk
018f5b8d05 Removed deleted virtual functions
They led to link errors with the current Apple's toolchain
2018-04-08 13:55:46 +03:00
alexey.lysiuk
5a4307160e Fixed compilation of SDL backend 2018-04-08 13:55:46 +03:00
alexey.lysiuk
1c89de25dd Fixed compilation of Cocoa backend 2018-04-08 13:55:46 +03:00
alexey.lysiuk
a434f9bc91 Added missing _access() macro for POSIX targets
src/textures/hires/hirestex.cpp:338:8: error: use of undeclared identifier '_access'
2018-04-08 13:55:46 +03:00
alexey.lysiuk
472fdb26ad Removed erroneous function declarations
src/r_data/gldefs.cpp:69:13: error: static declaration of 'ParseVavoomSkybox' follows non-static declaration
2018-04-08 13:55:46 +03:00
alexey.lysiuk
b8ee9d88ba Fixed non-constant condition for static assertion
GCC 7:
src/gl/renderer/gl_renderer.cpp:702:2: error: non-constant condition for static assertion
src/gl/renderer/gl_renderer.cpp:702:2: error: value ‘12’ of type ‘float*’ is not a constant expression
src/gl/renderer/gl_renderer.cpp:703:2: error: non-constant condition for static assertion
src/gl/renderer/gl_renderer.cpp:703:2: error: value ‘20’ of type ‘PalEntry*’ is not a constant expression

Clang:
src/gl/renderer/gl_renderer.cpp:701:16: error: static_assert expression is not an integral constant expression
src/gl/renderer/gl_renderer.cpp:701:23: note: cannot access field of null pointer
2018-04-08 13:55:46 +03:00
alexey.lysiuk
6144ca930d Fixed POSIX definition of rdtsc() function
src/stats.h:121:24: error: expected ';' after top level declarator
2018-04-08 13:55:46 +03:00
Christoph Oelckers
b12a6fded9 - added the code for legacy shaders.
- force texture filtering for 2D to off when in software rendering.
2018-04-08 12:11:51 +02:00
Christoph Oelckers
5eb898107f - now that all 2D is guaranteed to be drawn in true color, the Heretic E2 end pic can be handled with less hacks.
This removes the entire palette switch and all the special checks to ensure that no menu can be drawn over this image.
Instead it gives this texture its special palette in the texture manager so that the proper image is created right away.

I decided against exposing this as an editing feature because it is far too specific to this particular image and the raw page format it uses.
A quick check of /idgames shows no project ever replacing it - especially no ZDoom-based project - so no extended handling is needed to make this work with other texture formats.
2018-04-08 10:10:26 +02:00
alexey.lysiuk
3dd7f17ded Deleted MPL text from docs
It was the last remnant of tmpfileplus
2018-04-08 09:55:48 +03:00
Christoph Oelckers
1897073b60 -fixed: When performing a restart the SW scene drawer's resources should be reset because they are outside the control of higher level containers. 2018-04-08 08:03:46 +02:00
Magnus Norddahl
b1355d472c - Fix model projection matrix 2018-04-08 03:57:05 +02:00
Magnus Norddahl
7f25913b2d - Fix depth values written by sloped planes 2018-04-08 02:22:01 +02:00
Christoph Oelckers
0a2c415dbe - deleted some copypasted but ultimately unused definitions. 2018-04-07 23:52:46 +02:00
Christoph Oelckers
df4f435952 - merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Magnus Norddahl
fde87c40d2 - fix crash when in software truecolor mode - the pitch is in pixels, not bytes 2018-04-07 19:56:54 +02:00
Christoph Oelckers
1fc1fac2c2 - added missing header. 2018-04-07 19:41:21 +02:00
Magnus Norddahl
c15328de2f - Remove include that shouldn't be there (also caused macOS builds to fail) 2018-04-07 19:35:32 +02:00
Christoph Oelckers
adbeb3f251 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor 2018-04-07 18:50:24 +02:00
Christoph Oelckers
cd00f1fb45 - fixed incorrect check for SW texture recreation. 2018-04-07 18:41:25 +02:00
Magnus Norddahl
2d51fa5b43 - Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Christoph Oelckers
5fbc723842 - live switching of the renderer works. 2018-04-07 12:59:04 +02:00
Christoph Oelckers
221beec979 - added palette shader and fixed a few things. 2018-04-07 12:17:23 +02:00
alexey.lysiuk
cb3650ed9e Added message for absent explicitly referenced dialog file 2018-04-07 12:52:38 +03:00
alexey.lysiuk
3239a9eaa6 Added loading of ZSDF lumps by full paths
https://forum.zdoom.org/viewtopic.php?t=60139
2018-04-07 12:43:10 +03: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
alexey.lysiuk
5177868773 Revert "Removed workaround for MSVC 2017 compiler bug"
This reverts commit 9da92facda.
2018-04-07 08:05:50 +03:00