Commit graph

2603 commits

Author SHA1 Message Date
Mitchell Richters
f2674e95d3 - Duke: Pitch-adjusted velocity for operateweapon_ww() when free-aiming. 2022-11-06 21:59:06 +11:00
Mitchell Richters
3a1f1c7580 - Duke: Pitch-adjusted velocity for operateTripbomb() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
3908ec0c42 - Duke: Pitch-adjusted velocity for operateweapon() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
fe7c49fcac - Duke: Pitch-adjusted velocity for shootlaser() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
9e60284ff6 - Duke: Pitch-adjusted velocity for shootlaser() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
1b499520a5 - Duke: Pitch-adjusted velocity for shootweapon() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
63917fd158 - Duke: Pitch-adjusted velocity for shootknee() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
a200db6f3a - Duke: Pitch-adjusted velocity for shootstuff() when free-aiming. 2022-11-06 21:59:05 +11:00
Mitchell Richters
73477a722c - Duke: Pitch-adjusted velocity for shootshrinker() when free-aiming. 2022-11-06 21:59:04 +11:00
Mitchell Richters
9f32eae1a7 - Duke: Pitch-adjusted velocity for shootflamethrowerflame() when free-aiming. 2022-11-06 21:59:04 +11:00
Mitchell Richters
64f55726c9 - Duke: Pitch-adjusted velocity for shootfireball() when free-aiming. 2022-11-06 21:59:04 +11:00
Mitchell Richters
33e2de70a2 - Duke: Pitch-adjusted velocity for shootrpg() when free-aiming. 2022-11-06 21:59:04 +11:00
Mitchell Richters
8ec475aec8 - Replace clamped off tangent values with a linear interpolation of the player's pitch.
* Gives a tangent-like ramping where it's noticeable without having to use the tangent at all.
* Had to do homegrown lerper since we're not C++20 yet.
2022-11-06 21:59:04 +11:00
Christoph Oelckers
b4a49ea228 - fixed movement speed for SE25 (Piston) 2022-11-05 16:00:39 +01:00
Christoph Oelckers
77ae3b3b71 - RR: fixed bad angle math in shootmortar 2022-11-03 11:08:40 +01:00
Christoph Oelckers
f5ce60fa6e - fixed issues with negative values being passed to sqrt für calculating RRRA's motorcyle and boat. 2022-11-02 13:32:07 +01:00
Christoph Oelckers
0e113dab79 - added true level compatibility map processing and deleted all related map hack code. 2022-10-31 10:45:47 +01:00
Christoph Oelckers
06c9296932 - added a quick hack to move a misplaced vertex in RR E1L1's barn. 2022-10-30 16:51:41 +01:00
Christoph Oelckers
0f57685f48 - updatesector interface cleanup. 2022-10-30 16:51:41 +01:00
Christoph Oelckers
c5523a99ee - fixed issues with Duke's poolballs. 2022-10-30 16:51:41 +01:00
Christoph Oelckers
09df4da241 - fixed scaling issue with Duke's green slimer. 2022-10-30 16:51: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
32b2e84fdc - added episode and total episode time display to alt HUD 2022-10-30 16:51:40 +01:00
Christoph Oelckers
ffd284d233 - Duke: use player palette only on the foot weapon.
This is the only one showing Duke's clothes - the translation may cause discoloration on the others.
2022-10-30 16:51:39 +01:00
Mitchell Richters
79a1110d5f - Duke: Create new flag SFLAG2_INTERPOLATEANGLE and use for the bearing plate on gears.
* Fixes #719.
2022-10-30 16:51:39 +01:00
Mitchell Richters
65acafc2bd - Duke: Move new blood spat code into function for use in RR code as well. 2022-10-30 16:51:39 +01:00
Mitchell Richters
f149410750 - Duke: New setup for blood splatters against walls, taking full account of the float precision. 2022-10-30 16:51:38 +01:00
Christoph Oelckers
35f6ece473 - renamed RR’s weapon sprites to match their weapons 2022-10-30 16:51:38 +01:00
Christoph Oelckers
88d421300a - made DukeActor::timetosleep unsigned.
Although mostly theoretical it is possible for this to overflow and render the actor non-functional.
If the value is unsigned the overflow will wrap around to 0 which is not critical.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
15fc9e47fd - use symbolic STAT_ constants in spawninit where available. 2022-10-30 16:51:37 +01:00
Christoph Oelckers
98e2fecd37 - another bunch of type conversion warnings fixed.
the ones in the findplayer functions are not critical in singleplayer.
2022-10-30 16:51:35 +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
5a045a6232 - deleted deprecated zrand variant 2022-10-30 16:51:35 +01:00
Mitchell Richters
2fc115a23d - Duke: Remove only place rotatepoint() is called where no pivot is used. 2022-10-30 16:51:34 +01:00
Christoph Oelckers
4df875e860 - use setfloorz/setceilingz in a few places where it wasn't done.
This isn't critical in any way so no need to merge, but let's be consistent, in case future changes rely on it.
2022-10-30 16:51:34 +01:00
Mitchell Richters
e07785e85b - Duke: Use pitch difference between player and shrunken actor to adjust horizon.
* Works a lot better, and is uncapped pitch compatible unlike the old setup.
2022-10-30 16:51:34 +01:00
Mitchell Richters
e099a19f03 - Duke: Fix bad x/yrepeat scaling.
* Merge with or above `- use Scale wrappers in global code and parts of Duke.`.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
3c6b64d621 - renamed everything back 2022-10-30 16:51:33 +01:00
Christoph Oelckers
81341ce4a6 - unwrapped SetScale as well.
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
15db7a7143 - unwrapped SetScaleX/Y. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d - removed AddScale wrappers. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
85b52b1c77 - removed Scale(), CopyScale() and MultScale wrappers. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9 - started removing wrappers. ScaleX() and ScaleY() done.
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
558eaf38e1 - the last repeats in Duke
Mostly constants in the spawn code
2022-10-30 16:51:27 +01:00
Christoph Oelckers
bda616eb01 - fixed warning 2022-10-30 16:51:27 +01:00
Christoph Oelckers
2a4483e860 - all remaining repeats in Duke except spawn_d and spawn_r 2022-10-30 16:51:27 +01:00
Christoph Oelckers
38f7935ee9 - repeats in actors_d.cpp and actors_r.cpp 2022-10-30 16:51:27 +01:00
Christoph Oelckers
bc26f16ed5 - refactoring CreateActor - part 2 2022-10-30 16:51:26 +01:00
Christoph Oelckers
1a22127123 - refactoring CreateActor - part 1 2022-10-30 16:51:26 +01:00
Christoph Oelckers
44f0a6ae67 - handle the bolts
These used temp_data which was remapped to temp_pos for being floats.
2022-10-30 16:51:26 +01:00
Christoph Oelckers
dd3346cbc5 - mostly comparisons and code surrounding them 2022-10-30 16:51:26 +01:00
Christoph Oelckers
fb164450a7 - use MultScale 2022-10-30 16:51:25 +01:00
Christoph Oelckers
e749a0e9a4 - a bunch of repeats in actor_d.cpp 2022-10-30 16:51:25 +01:00
Christoph Oelckers
4c151ef15a - the remaining repeats in Duke’s actor.cpp 2022-10-30 16:51:25 +01:00
Christoph Oelckers
5700d25120 - minor cleanup on scaling code 2022-10-30 16:51:25 +01:00
Mitchell Richters
befa5a933c - Duke: Fix questionable setup in previous commit to interpolate SE_20_STRETCH_BRIDGE. 2022-10-30 16:51:25 +01:00
Mitchell Richters
05a05c6406 - Duke: Fix interpolation for SE_20_STRETCH_BRIDGE, such as curtains in E1L1/2/3.
* I'm not sure if there's a better way to handle this, but I had to do the nested `twoSided()` checks to ensure all walls of E1L3's curtains in the execution chair viewing room interpolated as expected.
2022-10-30 16:51:24 +01:00
Mitchell Richters
b3943a0c04 - Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct. 2022-10-30 16:51:24 +01:00
Mitchell Richters
7e7c1b1179 - Duke: Fix hitching going up/down on SE17 elevators, and Z interpolation while jumping, etc. 2022-10-30 16:51:24 +01:00
Mitchell Richters
80f4124b17 - Duke: Fix integer division in shootrpg().
* Stems from initial floatification in `- floatified Duke's shootrpg`.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
520d838a8c - use Scale wrappers in global code and parts of Duke. 2022-10-30 16:51:23 +01:00
Christoph Oelckers
1d48b0776e - cleanup in Blood plus repeats in aiunicult.cpp
* removed the picWidth/Height functions because their one use can be easily inlined
* deleted the unused initvals in GENDUDEEXTRA
2022-10-30 16:51:23 +01:00
Christoph Oelckers
8a8ef22e53 - mostly '>' comparisons with scale values. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
a11a366697 - some automatic replacements. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
730c0ef66d - lots of repeats in RR's spawn code. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
91c318b708 - renamed most non-sprite xrepeat and yrepeat as refactpring aid.
These will be renamed back later but now they create too much search noise.
A few local variables have been permanently renamed to scale*.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
cf5d787f40 - manual repeats in Duke. 2022-10-30 16:51:20 +01:00
Christoph Oelckers
2589e7030c - more repeats replaced by SetScale. 2022-10-30 16:51:19 +01:00
Mitchell Richters
b004de9fb0 - Remove leftover x/y repeats from - several manual replacements with SetScale.. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
71d61b26df - 34 more uses of SetScale. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
e60fafec52 - got rid of most REPEAT_SCALE factors. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
8d1626de02 - yet more SetScale uses. 2022-10-30 16:51:18 +01:00
Christoph Oelckers
e6a97157d7 - several manual replacements with SetScale. 2022-10-30 16:51:18 +01:00
Christoph Oelckers
d8fac32459 - more simple SetScale replacements. 2022-10-30 16:51:17 +01:00
Christoph Oelckers
86d6ba43d4 - more automatic SetScale replacement, plus all of SetScale(0.5, 0.5); 2022-10-30 16:51:17 +01:00
Christoph Oelckers
c7c3b2a20c - added a SetScale method to spritetype and used it for all places setting x/yrepeat to 0. 2022-10-30 16:51:17 +01:00
Christoph Oelckers
9f19a1315b - replaced most native_clipdist() calls
Only those in nnext using internal int storage remain.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
a6e35edc6c - replaced all set_native_clipdist
Note that truncation has to be preserved here to ensure the size stays the same as before so the MulScales were not resolved into their factors.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
d22c473c31 - manual set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
03d6826fce - first batch of set_const_clipdist replacements 2022-10-30 16:51:14 +01:00
Christoph Oelckers
4af4983d3e - floatified clipdist and replaced fClipdist wrapper.
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Mitchell Richters
94941adce8 - Duke: Fix sign on 4x tangent offsets. 2022-10-30 16:51:12 +01:00
Mitchell Richters
cea2b6b428 - Rename PlayerHorizon::__horiz back to horiz. 2022-10-30 16:51:12 +01:00
Mitchell Richters
ff1d51b4fe - Fix 4x horiz negation issues. 2022-10-30 16:51:11 +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
Mitchell Richters
619b8005ac - Rename PlayerHorizon::horiz in prep for negating this angle throughout code. 2022-10-30 16:51:11 +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
Mitchell Richters
29eb729cd3 - Fix multiple bad calls to pushmove(). 2022-10-30 16:51:09 +01:00
Christoph Oelckers
7d3babd678 - ported all pushmove calls to the float version. 2022-10-30 16:51:08 +01:00
Christoph Oelckers
600c2a0243 - map all clipmove calls to the version with a full float interface. 2022-10-30 16:50:48 +01:00
Christoph Oelckers
a4dd5bb4ce - rewrote the model storage code.
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
8bc34f3dac - Handle all remaining VecToAngle() calls. 2022-10-27 16:55:53 +02:00
Mitchell Richters
e7dff22095 - Duke: Fix some badly negated angle setups. 2022-10-27 16:55:53 +02:00
Mitchell Richters
1e7cce28af - VecToAngle() with delta() inside to .Angle() replacements. 2022-10-27 16:55:53 +02:00
Mitchell Richters
9b98388215 - VecToAngle() with XY() inside to .Angle() replacements. 2022-10-27 16:55:53 +02:00
Mitchell Richters
c00c8d196e - Simple VecToAngle() > .Angle() replacements. 2022-10-27 16:55:52 +02:00
Mitchell Richters
13d643deb5 - Duke: Move Duke-exclusive code from PlayerHorizon struct into displayweapon_d() and clamp tangent to handle high pitches.
* Clamped range is slightly higher than original (200 vs. 256), however when tested with idle knuckle cracking, etc, hands were drawn not above the screen unlike unclamped tangent.
2022-10-25 07:07:15 +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
Christoph Oelckers
22ccf33569 - floatified walldist parameter of getzrange 2022-10-25 07:07:14 +02:00
Mitchell Richters
bb6e12a2b1 - Eliminate remaining calls to TAngle<T>::fromBuildf(). 2022-10-25 07:07:03 +02:00