Commit graph

16917 commits

Author SHA1 Message Date
Christoph Oelckers
e670cf2786 - re-tabified several files that got mangled by repeated merging 2021-12-30 09:58:47 +01:00
Christoph Oelckers
3fcecedf32 - deleted ClearContent functions from actor classes.
this is a leftover from pre-DObject times and no longer needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
d46a7abb0e - better wall sprite handling.
When they are directly on a wall, project their coordinates onto the wall to eliminate the imprecisions from Build's ad-hoc setup.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
1a2b9d43f7 - fixed check for wallsprites on walls.
This completely ignored the case where a wall was flagged as one-sided which was the main reason with that sneaky sign in E2L1.
The problem is not entirely fixed with this but now it will detect that it's on a wall.
2021-12-30 09:58:46 +01:00
Christoph Oelckers
4f8f85c634 - backend update from GZDoom. 2021-12-30 09:58:46 +01:00
Christoph Oelckers
bf9defc062 - SW: moved some Polymost hack stuff to its proper place. 2021-12-30 09:58:46 +01:00
Mitchell Richters
bf7437c827 - SW: Remove ON pre-processor define and eliminate mytypes.h. 2021-12-30 09:58:46 +01:00
Mitchell Richters
3cf9450bd8 - SW: Remove OFF pre-processor define. 2021-12-30 09:58:45 +01:00
Mitchell Richters
ae49a55fce - SW: Replace the last few remaining TEST() macro uses and remove from mytypes.h. 2021-12-30 09:58:45 +01:00
Mitchell Richters
1439d5f268 - SW: Replace TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\) with ($1 & ($2)). 2021-12-30 09:58:45 +01:00
Mitchell Richters
48b0058d38 - SW: Replace TEST\(([\w\-\>.()]+),\s?(\w+)\) with ($1 & $2). 2021-12-30 09:58:45 +01:00
Mitchell Richters
5316e23737 - SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?([\w\_\|\s]+)\) with !($1 & ($2)) 2021-12-30 09:58:45 +01:00
Mitchell Richters
8df3966d08 - SW: Replace !TEST\(([\w\-\>.()\[\]]+),\s?(\w+)\) with !($1 & $2). 2021-12-30 09:58:44 +01:00
Christoph Oelckers
25f4f49e9a - added render precision menu option and updated texts.
Also enabled Czech for the language option because the translation is complete.
2021-12-30 09:58:44 +01:00
Christoph Oelckers
b1d8f92ded - added wall edge splitting for gl_seamless. 2021-12-30 09:58:44 +01:00
Christoph Oelckers
f7e7476010 - hooking up the vertex map with the rest of the engine. 2021-12-30 09:58:44 +01:00
Christoph Oelckers
27ae8d627b - vertex height map creator for precise render mode like in GZDoom. 2021-12-30 09:58:44 +01:00
Christoph Oelckers
3fee8f3c4e - replaced dragpoint (both the generic and the Blood variant) with a newly written vertexscan function.
This is a template allowing to run any task on a set of walls with equivalent start point.
Code was redesigned from scratch to be more clear than the existing variants.

The idea here is to reuse the base algorithm for other things that need to operate on the equivalent set of a given wall's start point.
2021-12-30 09:58:15 +01:00
Christoph Oelckers
c8b5fa6556 - SW: fixed signed-ness issue with SP_TAG13 2021-12-30 09:58:14 +01:00
Christoph Oelckers
16635e53fc - renamed DDukeActor::picnum to attackertype.
This one having the same name here as spritetype::picnum is just confusing as hell and badly describes this variable's function.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
a15e5399fa - don't use a full sector backup in the triangulator for comparing changes.
Instead use a smaller struct only containing the relevant data.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
fb53f32603 - handle the remaining write accesses to ceilingz and floorz.
Everything is routed through the wrapper functions now.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
059412b75e - first batch of routing all write access to sectortype::ceilingz and floorz through a function interface.
We need this for implementing "precise" rendering to flag vertices as dirty.
2021-12-30 09:58:14 +01:00
Christoph Oelckers
c24aafd3d6 - SW: game.h cleanup
Turned almost all #defines into enums or inline functions, removed unused declarations and all leftover MONO_PRINT fragments elsewhere.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
96396385e7 - more TEST() replacements.
This covers roughly half of the original use.
2021-12-30 09:58:13 +01:00
Christoph Oelckers
61564ab96a - one third of TEST(). 2021-12-30 09:58:13 +01:00
Christoph Oelckers
7727597bd7 - removed FLIP macro
was only used 3 times
2021-12-30 09:58:12 +01:00
Christoph Oelckers
08fcfb382c - the remaining RESET() calls. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
e29d0f50cf - lots of RESET() flags replaced. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
1ae7565a2a - SW macro cleanup. 2021-12-30 09:58:12 +01:00
Christoph Oelckers
d15c3aeff6 - got rid of the DIV2 macro. 2021-12-30 09:58:11 +01:00
Christoph Oelckers
387d65abb4 - the remaining SET()s.
These had to be done manually.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
fe292fce0d - yet more SET flag replacements
90% done.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
12ad85f6f8 - SW: turned flag #defines into enums. 2021-12-30 09:58:11 +01:00
Christoph Oelckers
92ed3fa728 - replaced more SET() macros.
This covers another 30-35%.
2021-12-30 09:58:11 +01:00
Christoph Oelckers
dc3f2473ba - quick search & replace on ~40% of SET( macros in SW. 2021-12-30 09:58:10 +01:00
Christoph Oelckers
8710e76a2d - delete voxel models when shutting down 2021-12-30 09:58:10 +01:00
Christoph Oelckers
dc7082f264 - removed duplicate PClass::StaticInit call. 2021-12-30 09:58:10 +01:00
Christoph Oelckers
12619671e6 - Duke/RR: added fudging to work around aiming randomization issues with the pistol when autoaim is off.
Solution is the same as in RedNukem/EDuke32: do one hitscan directly in aiming order and if that hits a sprite, use it as aiming target.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
1f2abda23c - fixed map ccmd.
Something got lost when implementing user maps.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
913f6e713d - Hack for Exhumed: palette 4 does not fade to black so sprites should not have shades above numshades.
The new renderer will treat such shades as completely black to ensure proper rendering of shadows - but for this palette this must be skipped.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
ce1daa82c2 - Duke: make camera actors temporarily invisible before rendering a scene.
Mainly needed for voxel/model replacements of the security camera sprite.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
eaac9de1a4 - Added skill selection for user maps. 2021-12-30 09:58:09 +01:00
Christoph Oelckers
85e0198b65 - fix triangulation issue with certain doors in Blood. 2021-12-30 09:58:09 +01:00
Christoph Oelckers
e5c9691166 - fixed clipping issue with sloped walls.
The window was calculated too narrow for this case, it needs to use the lower point of a floor slope and the upper point of a ceiling slope.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
50bad91f14 - handle edge case in clipper where adding a new window will remove the entire clipper's content before adding the new range.
This case would have passed the actual logic but not the asserts.
2021-12-30 09:58:09 +01:00
Christoph Oelckers
04f3268893 - silenced the debug output that was still present in the section creator. 2021-12-30 09:58:08 +01:00
Christoph Oelckers
00a7be545d - added a map preview to the user map browser. 2021-12-30 09:58:08 +01:00
Christoph Oelckers
6dfd975f88 - activated the user map menu item in the episode selection. 2021-12-30 09:58:08 +01:00
Christoph Oelckers
ffd23c23ca - implemented user map browser. 2021-12-30 09:58:08 +01:00