Christoph Oelckers
faf98684a3
- rewrote cliptrace.
...
Completely new implementation reusing nothing of the original.
# Conflicts:
# source/build/src/clip.cpp
# source/core/gamefuncs.cpp
# source/core/gamefuncs.h
2022-11-07 12:19:54 +01:00
Christoph Oelckers
8415079e32
- fixed compilation.
2022-11-07 12:19:54 +01:00
Christoph Oelckers
fe56d2345d
- always use the float version of keepaway
...
Does not work yet - movement is significantly different that the int version
2022-11-07 12:19:52 +01:00
Christoph Oelckers
66e6d166d6
- floatified part of clipmove that pushes the caller away from obstacles
2022-11-07 12:19:52 +01:00
Christoph Oelckers
b72283e9cb
- updatesector interface cleanup.
2022-11-07 12:19:31 +01:00
Christoph Oelckers
3c72eb43f9
- split off one part of clipmove into a utility function.
2022-11-07 12:19:31 +01:00
Christoph Oelckers
c6e6b7c59d
- got rid of the global compatibility modes and made 'precise' a parameter for clipmove.
...
This better reflects how this stuff gets used.
2022-11-07 12:19:30 +01:00
Christoph Oelckers
7ffa94d417
- move the clip object collection loop into its own function.
2022-11-07 12:19:29 +01:00
Christoph Oelckers
8baf4b539c
- use BFSSectorSearch to drive the clipmove collection loop.
...
This gets rid of another bunch of both code and data.
2022-11-07 12:19:29 +01:00
Christoph Oelckers
fcdafd8a83
- moved the clip object storage into the clip object and floatified it.
2022-11-07 12:19:29 +01:00
Christoph Oelckers
c24251431c
- float version of clipmove's slope sprite collector.
...
This could be simplified quite a bit by leveraging the info returned by GetFlatSpritePosition.
2022-11-07 12:19:18 +01:00
Christoph Oelckers
321eebc89d
- float version of clipmove's floor sprite collector.
2022-11-07 12:19:17 +01:00
Christoph Oelckers
035ffdb733
- new floating point version of clipmove's wall sprite checker.
2022-11-07 12:19:17 +01:00
Christoph Oelckers
f6ad998e6b
- float version of face sprite collector.
2022-11-07 12:19:17 +01:00
Christoph Oelckers
9d56bbdae9
- rewrote the remaining parts of clipmove's wall collector.
2022-11-07 12:19:08 +01:00
Christoph Oelckers
53a9dee485
- reimplemented the wall collision check for clipmove.
2022-11-07 12:18:00 +01:00
Mitchell Richters
33e2de70a2
- Duke: Pitch-adjusted velocity for shootrpg()
when free-aiming.
2022-11-06 21:59:04 +11:00
Christoph Oelckers
93ca75e146
- got rid of the two intermediate functions between clipmove_tweak_pos and InterceptLineSegments.
2022-11-01 09:55:24 +01:00
Christoph Oelckers
01c114787c
- eliminated the deprecated integer wrapper for 'inside'.
2022-11-01 08:38:40 +01:00
Christoph Oelckers
0c87bcb91b
- renamed getzsofslopeptr to calcSlope and removed one redundant inline.
2022-10-30 16:51:40 +01:00
Christoph Oelckers
ce4a6fc7e3
- split off one part of clipmove into a utility function.
2022-10-30 16:51:40 +01:00
Mitchell Richters
914bec7d65
- Deduct the minimum angle epsilon from unclamped pitch ranges.
2022-10-30 16:51:39 +01:00
Christoph Oelckers
a0f18c360a
- made some minor edits to clipmove to get rid of a few deprecated wrapper functions.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
40271e15b3
- minor tweaks to checkOpening
...
mainly some extensions to let it replace cliptestsector.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
2190499d63
- pushmove rewritten.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
902f8c9706
- silenced lots of warnings for deliberate type conversions.
...
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
e83d0930bf
- clean out the unused sintable stuff
2022-10-30 16:51:13 +01:00
Mitchell Richters
0600bf5860
- Negate everything to do with PlayerHorizon::__horiz
where appropriate, including some loose horizoff
members.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
479c732a72
- moved some more things out of build.h
2022-10-30 16:51:10 +01:00
Christoph Oelckers
94b91f6ec3
- build.h cleanup
...
* moved krand and krandf into the games/duke folder because no other game uses them
* moved CVARS to gamefuncs.h.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
8e9ddf370c
- rewrote getzrange
...
Not using any old Build code anymore. Aside from the trivial stuff this uses code from Doom and SW instead.
2022-10-27 16:55:28 +02:00
Mitchell Richters
fc8c0b80aa
- Clean up chase cam backwards scaling since we're now using floats of the same scale.
2022-10-25 07:07:14 +02:00
Mitchell Richters
3db6a38b4b
- Make dragpoint()
inline since its a wrapper for another function anyway.
2022-10-25 07:07:14 +02:00
Mitchell Richters
9dd27ee3a2
- Remove old integer dragpoint()
interface that was used by floats in lots of places.
...
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Mitchell Richters
5cc9774873
- Apply same signedness fix from - fixed signedness issue with slope sprite coefficient.
to spriteGetSlope()
.
2022-10-25 07:07:14 +02:00
Mitchell Richters
2e8e5f99e7
- Fix mixed X/Y pos subtraction in spriteGetZOfSlopef()
and use a bit more of the backend.
...
* Confirmed coordinate mix-up when reviewing commit `- added spriteGetZOfSlopeF for the backend`.
2022-10-25 07:07:14 +02:00
Christoph Oelckers
310eff6e71
- clean out many wrappers.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
f0dc95597b
- deleted several unused wrappers and overloads.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
3c3af06413
- deleted getincangle.
2022-10-25 07:07:02 +02:00
Christoph Oelckers
2ba68df27f
- eliminate int_floorz / int_ceilingz in the backend.
2022-10-25 07:07:00 +02:00
Christoph Oelckers
6b579156aa
- Blood HitScan fixes
...
- changed target parameter of hitscan to a double to simplify its handling.
- HitScan's nRange parameter may be an int, but it is in texel units, not Build units.
2022-10-25 07:06:56 +02:00
Mitchell Richters
1e19b32b59
- Add CVAR to allow unclamping the player's view pitch.
2022-10-25 07:06:55 +02:00
Mitchell Richters
8d3f3c6025
- Cut over to DAngle
from fixedhoriz
and remove the latter.
2022-10-25 07:06:55 +02:00
Mitchell Richters
5851c0f2c6
- Clean up some q16horiz usage and how the view pitch is clamped.
2022-10-25 07:06:53 +02:00
Christoph Oelckers
74cf9a2ff2
- hitscan fully rewritten.
...
No traces of Build code left here! :)
2022-10-22 20:41:27 +02:00
Christoph Oelckers
2991bc752b
- split out the pure math stuff from gamefuncs.h into a utility header in 'common'.
...
Also did a bit of reshuffling on gamefuncs.h to group content better.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
116ba340b2
- further hitscan overhaul.
...
* added floating point sprite intersect handlers for all sprite types. Hopefully this code is more understandable than Build's original variant.
* cleaned up intersectSprite a bit and moved the geometry math into the utility header.
* made some minor corrections to neartag.
* moved SW's testpointinquad to the backend because it was useful here.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
09d66914f4
- LinePlaneIntersect
...
This is for calculating intersections with slope sprites later.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
243c071834
- got rid of bsinf and bcosf.
2022-10-22 12:17:04 +02:00
Christoph Oelckers
6dd7fac902
- eliminated the sine table and moved tilehasmodelorvoxel to a different file to delete engine.cpp.
2022-10-22 12:17:04 +02:00