Commit graph

13696 commits

Author SHA1 Message Date
Christoph Oelckers
cecd34efc7 - moved a bit more script parsing functionality into the backend and tried it out on the 'skybox' command. 2021-04-08 14:00:08 +02:00
Christoph Oelckers
4d29cd2df2 - I shouldn't have used WT's skies as reference - they got front and back faces swapped. 2021-04-08 13:54:58 +02:00
Christoph Oelckers
38ecfc8fa5 - added handling for cubemapped skyboxes. 2021-04-08 12:47:31 +02:00
Christoph Oelckers
b68512ef88 - on closer inspection, do not draw skies on intra-sky lines ever - the renderer already takes care of this elsewhere. 2021-04-08 10:10:15 +02:00
Christoph Oelckers
d348377bd8 - when drawing skies on walls where both sides are sky, use the backside's texture.
This fixes a sky anomaly in RR's E1L1.
2021-04-08 09:45:17 +02:00
Christoph Oelckers
e0ee3a6701 - fixed: Vulkan did not define NPOT_EMULATION for its fragment shader. 2021-04-08 09:29:08 +02:00
Christoph Oelckers
4cdc39c9b9 Merge branch 'master' into newrenderer2 2021-04-08 08:55:41 +02:00
Christoph Oelckers
8cc3a81c3b - enable the render backend switch in the menu.
Vulkan is working now so this can be reactivated.
2021-04-07 23:56:01 +02:00
Christoph Oelckers
a80c5db02b - forgot to save the Exhumed part of the last commit 2021-04-07 21:37:01 +02:00
Christoph Oelckers
58fb938aa7 - block opening of the menu in the fade out phase of a screenjob and in Exhumed's map/intermission screens.
At these places there's some inteference that can bring the engine into an unstable state.
This is not a real fix, just a quick workaround. The actual problem requires closer examination why these are the only places where this happens.
2021-04-07 19:39:48 +02:00
Christoph Oelckers
68b7628f56 - RRRA: Sector effector type 156 is not supposed to scroll the floor texture. 2021-04-07 18:12:25 +02:00
Christoph Oelckers
7a03967ceb - fixed clipping info not properly reset when rendering the scene in two passes.
We need to reset the gotsector array for that, but since we also need the accumulate result of both passes there's now two such arrays.
2021-04-07 16:52:17 +02:00
Christoph Oelckers
caa8efd3d5 - fixed renderer to avoid bunches of walls that wrap around behind the camera's back. 2021-04-07 16:09:25 +02:00
Christoph Oelckers
3a34043267 Merge branch 'master' into newrenderer2 2021-04-07 15:12:27 +02:00
Christoph Oelckers
4a6a999f89 - SW: fixed interpolation for sector object sprites.
When checking for an existing interpolation it needs to check the actual sprite, not just the interpolation type.
2021-04-07 15:08:26 +02:00
Christoph Oelckers
4bd44f9d62 - flat sprites use different visibility rules.
Hooray, Build engine, yet another totally nonsensical magic factor with absolutely no reason why...
2021-04-07 12:58:45 +02:00
Christoph Oelckers
6ad0089524 - fixed flat sprites using the sector bit names for checking for being flipped.
Thank you, autocompletion... :(
2021-04-07 12:39:12 +02:00
Christoph Oelckers
59f18f5fa7 - ensure that all HWSprites are oriented with z1 > z2.
This is required by the sorting code to work as intended.
2021-04-07 12:31:47 +02:00
Christoph Oelckers
f9f1d591b3 - must set up fog before textures.
Otherwise the PickTexture callback won't get all needed info.
2021-04-07 10:30:49 +02:00
Christoph Oelckers
3d846f341a - fixed a major clipping issue with the new renderer.
* the bunch drawer can at most process an angular range of 180°. If this gets exceeded it can run into wraparound issues that may cause holes in the geometry.
* there was no clipping to the current field of view so it always checked the full 360°.
2021-04-07 00:02:36 +02:00
Christoph Oelckers
d823ae255e - fixed view clipping for portal sectors.
All lines within the portal must neither be added to the clipper nor checked for obstruction by other parts of the map.
2021-04-06 19:25:40 +02:00
Christoph Oelckers
5c2335bbeb - encapsulate setuptile(range) parsing in separate functions. 2021-04-06 16:22:24 +02:00
Christoph Oelckers
0b79649dc2 Merge branch 'master' into newrenderer2 2021-04-06 16:14:21 +02:00
Christoph Oelckers
d193e199f1 - reorganized hightile offset storage. 2021-04-06 15:55:33 +02:00
Christoph Oelckers
424c0ce3f4 - testing some script parser improvements. 2021-04-06 15:07:12 +02:00
Christoph Oelckers
cbe25d9d6b - Blood: disable look left and look right in the classic key configuration. 2021-04-06 12:06:03 +02:00
Christoph Oelckers
fc314b6616 - allow loading Zips where all content is in a subdirectory.
The same logic as in GZDoom applies: The root must not have any other content and the subdirectory must contain identifiable game content.
Some handling was also added to strip out macOS resource fork folders because they can contain data that can confuse file detection.
2021-04-06 01:06:03 +02:00
Christoph Oelckers
bfcedc2177 - autodetect .inis when loading Blood mods.
This works as long as the loaded mods have one single .ini file in them - in that case it is assumed that it is supposed to replace blood.ini, which will allow dragging & dropping such archives without further user intervention.
2021-04-06 00:57:31 +02:00
Mitchell Richters
5984fda8a1 - PlayerAngle: Repair issues with addadjustment() method following changes in 4ffe004483 that were affecting negative input. 2021-04-06 06:01:54 +10:00
Christoph Oelckers
16ad5f0cc8 - fixed sky rendering in palette emulation mode.
The sky dome drawer cannot work with indexed textures, but since they are fullbright anyway we can just temporarily disable it.
2021-04-05 21:53:19 +02:00
Christoph Oelckers
30c7dbd579 Merge branch 'master' into newrenderer2 2021-04-05 21:25:41 +02:00
Christoph Oelckers
8ea13f7c65 - implemented support for paletted textures to Vulkan backend. 2021-04-05 21:24:29 +02:00
Christoph Oelckers
e098e0ca2e - added VR mode init code as this is actually functional with the new renderer.
Also moved a few things out of gl_texture.cpp as this file is scheduled to go away with Polymost.
2021-04-05 20:12:11 +02:00
Christoph Oelckers
7c4e9ea87e - moved palette manager for indexed textures out of glbackend 2021-04-05 20:00:21 +02:00
Christoph Oelckers
9a46fa7ef0 Merge branch 'master' into newrenderer2 2021-04-05 19:20:56 +02:00
Christoph Oelckers
41072eb020 - fixed uninitialized scale variable in sky code. 2021-04-05 19:20:41 +02:00
Christoph Oelckers
869433ee2e - fixed invalidation of programmatic textures.
This is only relevant for Vulkan because it stores the descriptor sets with the material, not the hardware texture.
2021-04-05 19:18:57 +02:00
Christoph Oelckers
c0f1949fb9 - fixed some swapped parameters in status bar code. 2021-04-05 19:07:59 +02:00
Christoph Oelckers
5030ca50ff Merge branch 'master' into newrenderer2 2021-04-05 18:05:53 +02:00
Christoph Oelckers
ec460df2c0 - always ensure that the global index buffer is not empty.
This needs to be valid for Vulkan, even if it isn't used.
2021-04-05 18:05:44 +02:00
Christoph Oelckers
f6b46e9f63 - added a few missing init calls. 2021-04-05 18:05:44 +02:00
Christoph Oelckers
7a9e58c31e - removed redundant cstat.h file.
Constants are already defined in buildtypes.h
2021-04-05 18:05:43 +02:00
Christoph Oelckers
e30dc82676 - Cleanup of the voxel code.
* moving polymost_voxdraw into polymost.cpp.
* consolidated all remaining voxel code in hw_voxels.cpp. All original Build voxel code is completely gone now, except for polymost_voxdraw, so this got moved out of the build/ folder.
* integrate Blood's voxel init code into the main function.
* some further cleanup was allowed as a result of this, so engineInit is gone now because these parts can now be done outside the games' app_init functions.
2021-04-05 18:05:43 +02:00
Christoph Oelckers
0017b5d9c5 - pad out the StreamData buffer to 16 bytes and avoid any form of conditional compilation here.
Vulkan does not manage to get the shader properly compiled without this.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
f2dd4ceaab - always ensure that the global index buffer is not empty.
This needs to be valid for Vulkan, even if it isn't used.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
96fb96617f - backend update from GZDoom. 2021-04-05 17:59:54 +02:00
Mitchell Richters
ba90f444dd - PlayerAngle: Repair issues with addadjustment() method following changes in 4ffe004483 that were affecting negative input. 2021-04-05 21:41:11 +10:00
Christoph Oelckers
87efc84c84 - enable palette emulation for the new renderer. 2021-04-05 13:05:31 +02:00
Mitchell Richters
be8df3488d - build.h: Remove function prototypes for now static functions within engine.cpp. 2021-04-05 20:28:57 +10:00
Christoph Oelckers
090b52f783 - fixed animatesprites call in Duke.
This passed z instead of angle.
2021-04-05 12:25:09 +02:00