Christoph Oelckers
058f1b4233
- handle exclusion of tilenum 0 for sprites in the backend.
2023-05-20 12:55:58 +02:00
Christoph Oelckers
4e6023ea34
add a bit of vertical tolerance to neartag's sprite check.
...
This is not pitch aware and can cause problems with very small sprites on occasion.
2023-05-20 09:01:46 +02:00
Christoph Oelckers
7b4d5eb26d
- scriptified SHRINKEREXPLOSION and WATERBUBBLE.
2023-04-02 13:10:26 +02:00
Mitchell Richters
1ed655e0e7
- Exhumed: Further clean up updatePlayerWeapon()
.
...
* Rename a few variables for better clarity as to what's going on.
* Add new inline to the backend `getWrappedIndex()` that properly wraps around negative values based on the supplied maximum using modulo.
* Directly set the weapon when doing the next/prev tests to avoid unnecessary tests to see whether the player has the weapon or not.
2023-03-27 18:47:05 +11:00
Christoph Oelckers
20edd800f9
- big texture system refactor.
...
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Mitchell Richters
c3f276a08a
- Tidy up remaining Build angle constants in gamefuncs.h
.
2022-12-11 19:46:27 +01:00
Mitchell Richters
de8353f085
- Eliminate BAngToDegree
constant.
2022-12-11 19:46:26 +01:00
Christoph Oelckers
faeb19a485
- do the handling of 90° rotated wall textures in the renderer instead of duplicating the texture.
...
Aside from less resource use this also works with hires replacement - which the old code was incapable of.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Mitchell Richters
25de63ffb5
- Cleanup of render draw code to use new angle getter.
2022-12-11 18:41:59 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Mitchell Richters
e9dcffc5ec
- Duke: Route all clipmove()
/pushmove()
calls through a new interface that accepts a separated Z coordinate.
2022-12-11 18:41:39 +01:00
Christoph Oelckers
7d9a4ea70d
- eliminated wallsofsector.
2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53
- eliminate wall_count.
2022-11-15 14:59:28 +01:00
Christoph Oelckers
c23db8ea35
- wrapped all reads of sectortype::wallnum and renamed all other wallnum variables.
2022-11-15 12:21:21 +01:00
Christoph Oelckers
b7a7584059
- renamed wallnum and sectnum functions.
...
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +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