Christoph Oelckers
2bb7cecf27
- eliminated spritetype::clear.
...
Most uses were bad anyway, and the legitimate ones are just clearing the object.
2021-12-30 17:55:17 +01:00
Christoph Oelckers
51abee4351
- eliminated spritetypebase::setpos, which was the last remaining method in this struct.
2021-12-30 17:49:16 +01:00
Christoph Oelckers
7f62df517d
- moved all interpolate* methods from spritetypebase to DCoreActor.
...
The places where it was used on tsprites were redone to use the actor's base coordinate, which at the point of the operation would always be the same.
2021-12-30 17:32:31 +01:00
Christoph Oelckers
c10fb1278a
- moved the backup... methods to DCoreActor.
2021-12-30 17:10:08 +01:00
Christoph Oelckers
6c381d4392
- removed sector() method from low level sprite type.
2021-12-30 16:58:48 +01:00
Christoph Oelckers
5498699faf
- use DCoreActor::sector() wherever possible.
2021-12-30 16:51:56 +01:00
Christoph Oelckers
88e4bb9f79
- moved sectno method to DCoreActor.
2021-12-30 16:39:43 +01:00
Christoph Oelckers
f0b7fe4add
- use setsector from DCoreActor.
...
Also did a bit of cleanup
2021-12-30 16:36:04 +01:00
Christoph Oelckers
af6ca40e3d
- use DCoreActor::insector instead of spritetype::insector.
2021-12-30 16:24:51 +01:00
Christoph Oelckers
eb00fe52db
- more spritetype references eliminated.
2021-12-30 16:11:14 +01:00
Christoph Oelckers
4bc32e2777
- use actors in the sloped sprite utilities.
2021-12-30 16:11:14 +01:00
Christoph Oelckers
50a3089648
- eliminated tspriteptr_t and moved a few polymost-exclusive inlines into polymost.cpp.
2021-12-30 11:51:33 +01:00
Christoph Oelckers
44d2cc1951
- eliminated usectorptr_t.
2021-12-30 11:45:58 +01:00
Mitchell Richters
9bbb54fe2e
- Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries.
2021-12-30 20:30:21 +11:00
Christoph Oelckers
c61d82cead
- made RRRA E1L3 fix a bit more robust by neutralizing the unconnected one of the two walls.
...
Also fix thw 'warning C4456: declaration of 'i' hides previous local declaration' warning.
2021-12-30 10:09:13 +01:00
Christoph Oelckers
4d8028831b
- fixed vertexscan crashing on bad walls.
2021-12-30 09:58:48 +01:00
Christoph Oelckers
69283bfb0c
- tabified several Blood source files.
2021-12-30 09:58:47 +01:00
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
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
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
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
eaac9de1a4
- Added skill selection for user maps.
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
Christoph Oelckers
3be2128b3a
- added utilities to read all usermaps into a directory tree
2021-12-30 09:58:08 +01:00
Christoph Oelckers
ccf50c7812
- fixed user map music lookup for real without disabling other things.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
87a32d9095
Revert "- fixed music lookup for user maps."
...
This reverts commit 9558e7d518c1d5f7a898fcb2564078bd9ec956ac.
2021-12-30 09:58:08 +01:00
Christoph Oelckers
4843cf98d8
- usermap files
2021-12-30 09:58:07 +01:00
Christoph Oelckers
7204b7c616
- fixed music lookup for user maps.
...
This was only looking for real files, but instead needs to check the file system. The game directory's content will always be part of that so other checks are counterproductive.
2021-12-30 09:58:07 +01:00
Christoph Oelckers
99b069d122
- fixed the user map label.
...
TXT_USERMAP does not exist, only MNU_USERMAP does.
2021-12-30 09:58:07 +01:00
Christoph Oelckers
34f14aa4c3
- added vector variants of FindDistance2D and FindDistance3D
2021-12-30 09:58:07 +01:00
Christoph Oelckers
6dcc8761fe
- replaced the last remaining s() calls in Blood's interface and deleted the method.
2021-12-30 09:57:51 +01:00
Christoph Oelckers
9e14b168bb
- addressed more shadowed variables in common code.
2021-12-30 09:57:32 +01:00
Christoph Oelckers
ca9d73ffee
- renamed some shadowing variables in common code.
2021-12-30 09:57:32 +01:00
Mitchell Richters
a1900253e5
- Fix GCC warning warning: "/*" within comment [-Wcomment]
.
2021-12-30 09:57:31 +01:00
Christoph Oelckers
0ebd7532b8
- don't use s() in other getters.
2021-12-30 09:57:30 +01:00
Christoph Oelckers
3992dfae84
- fixed: When merging clip nodes the redundant one needs to be deleted with RemoveRange.
...
Calling Free is not enough.
2021-12-30 09:57:29 +01:00
Christoph Oelckers
b00f197be3
- fixed: RemoveClipRange did not shorten the range if it had to split it up.
2021-12-30 09:57:29 +01:00
Christoph Oelckers
5699488bea
- get rid of spritetype in inactive code. (Search noise removal)
2021-12-30 09:57:20 +01:00
Christoph Oelckers
6766a5922a
- pass actors to calcChaseCamPos.
2021-12-30 09:57:18 +01:00
Christoph Oelckers
40a307650d
- the really final parts of the shared code using s() cleaned up.
2021-12-30 09:57:15 +01:00
Christoph Oelckers
09634c4993
- use actors instead of sprites in the new renderer's API.
2021-12-30 09:57:15 +01:00
Christoph Oelckers
f602cf3806
- deal with s() in shared code.
...
clip.cpp was left alone, except for the actual call.
2021-12-30 09:57:14 +01:00
Christoph Oelckers
d0143db8fe
- got rid of sx() and sm() inlines.
2021-12-30 09:57:13 +01:00
Christoph Oelckers
a2fc415b30
- fixed Exhumed panning setup.
...
Converted it to floating point and removed the nonsensical & with the texture size that was clearing significant bits.
2021-12-30 09:57:09 +01:00
Mitchell Richters
dd0ff465b0
- Replace spritetypebase
oz
with opos.Z
calls and eliminate spritetypebase
opos
union.
2021-12-30 09:57:07 +01:00
Mitchell Richters
a79b4b5ffc
- Replace spritetypebase
oy
with opos.Y
calls.
2021-12-30 09:57:06 +01:00
Mitchell Richters
e0fb92bb01
- Replace spritetypebase
ox
with opos.X
calls.
2021-12-30 09:57:06 +01:00
Mitchell Richters
baf78848eb
- Replace spritetypebase
z
with pos.Z
calls and eliminate spritetypebase
pos
union.
2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e
- Replace spritetypebase
y
with pos.Y
calls.
2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f
- Replace spritetypebase
x
with pos.X
calls.
2021-12-30 09:57:05 +01:00
Mitchell Richters
09e00a69fe
- Replace walltype
y
with pos.Y
calls and eliminate walltype
pos
union.
2021-12-30 09:57:04 +01:00
Mitchell Richters
51b647da87
- Replace walltype
x
with pos.X
calls.
2021-12-30 09:57:04 +01:00
Mitchell Richters
cab4ddb1c8
- Eliminate some stale code out of intvec.h
.
2021-12-30 09:57:04 +01:00
Mitchell Richters
b24f07f281
- Capitalise vec2_16_t
y
variable.
2021-12-30 09:57:03 +01:00
Mitchell Richters
e52c3e6d82
- Capitalise vec2_16_t
x
variable.
2021-12-30 09:57:03 +01:00
Mitchell Richters
b2ab64bb62
- Capitalise vec3_t
z
variable.
2021-12-30 09:57:03 +01:00
Mitchell Richters
68e2691be7
- Capitalise vec3_t
y
variable.
2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276
- Capitalise vec3_t
x
variable.
2021-12-30 09:57:02 +01:00
Mitchell Richters
118ceb18ca
- Capitalise vec2_t
y
variable.
2021-12-30 09:57:02 +01:00
Mitchell Richters
3c9cd926ba
- Capitalise vec2_t
x
variable.
2021-12-30 09:57:02 +01:00
Christoph Oelckers
d9d05e90b5
- globally replaced all occurences of '->s().' with '->spr.'
2021-12-30 09:57:00 +01:00
Christoph Oelckers
56e56e9d2f
- removed the triangulator type visualization.
2021-12-30 09:57:00 +01:00
Christoph Oelckers
beddf1e1ca
- add slope sprite support to the new renderer.
...
Some fudging was needed to avoid positioning problems as the renderer is more sensitive to this than Polymost.
2021-12-30 09:56:55 +01:00
Christoph Oelckers
6fd4d6d550
- ported slope sorite support from NBlood.
...
For Polymost only so far.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
785c7d4ceb
- removed numsectors and numwalls entirely.
...
With Blood's Polymost mirror hack the risk of getting out of sync with the arrays was a genuine issue, so now only the array size counts.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
df0c577cf4
- replaced most of numsectors, too.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
f1c0298825
- replaced numwalls with wall.Size in several places.
2021-12-30 09:56:54 +01:00
Christoph Oelckers
65bc6e6aef
- removed the now redundant wall() and sector() interator helper functions.
...
With both wall and sector now being TArrays they are not needed anymore.
2021-12-30 09:56:53 +01:00
Christoph Oelckers
6608096ea3
- added a bit more debug validation to the new clipper code.
2021-12-30 09:56:53 +01:00
Christoph Oelckers
fd741c4d49
- Disable debug output
2021-12-30 09:56:52 +01:00
Christoph Oelckers
756ed1c14b
- removed the workaround to make Lunatic Fringe not glitch.
2021-12-30 09:56:52 +01:00
Christoph Oelckers
c141c89cfd
- fixed the clipper.
...
* must do proper checks for merged ranges when inserting new ones. The checking code assumes that closed ranges are contiguous.
* when discarding parts of overlapping ranges this may not use merged clip values for its checks.
* ranges that have their clip values altered must be released and reinserted to ensure everything is correct.
2021-12-30 09:56:52 +01:00
Christoph Oelckers
f152a4d9b5
- clipper clean up.
...
The horizontal part of the logic should work now.
2021-12-30 09:56:52 +01:00
Christoph Oelckers
213ed28398
- WindowClipper WIP
2021-12-30 09:56:52 +01:00
Christoph Oelckers
8b427e35c2
- stuff that needs FromInt
2021-12-30 09:56:51 +01:00
Christoph Oelckers
13186cec6d
- the rest of Blood's flags.
2021-12-30 09:56:50 +01:00
Christoph Oelckers
092cb1e5a3
- second set of Blood flags.
2021-12-30 09:56:50 +01:00
Christoph Oelckers
3bc337264a
- flags in blood's actor.cpp
...
plus a few others caught by search&replace.
2021-12-30 09:56:50 +01:00
Christoph Oelckers
8e0b9f7ce6
- some automatic, some manual sprite flag replacements
2021-12-30 09:56:49 +01:00
Christoph Oelckers
82fb03e399
- another batch of search&replace, with smaller results.
2021-12-30 09:56:48 +01:00
Christoph Oelckers
8f012d1beb
- made wall flags type safe
2021-12-30 09:56:47 +01:00
Christoph Oelckers
1883aad7c2
- flag names in SetupGibWallState and TranslateSector
2021-12-30 09:56:47 +01:00
Christoph Oelckers
adbf5177a7
- flag combo stuff.
2021-12-30 09:56:46 +01:00