Mitchell Richters
ff7e0afa6f
- Use std::fma()
in the interpolation code.
...
* From everything I've read, this more accurate, can be ~5% faster and is heavily optimised on CPUs of the last 10-12 years.
* This homegrown solution can be removed for `std::lerp()` once we go C++20.
2022-11-07 19:28:34 +11:00
Mitchell Richters
88e92a15a6
- Clean up some interpolatedvalue()
calls.
2022-11-07 17:52:53 +11:00
Mitchell Richters
274899c9db
- Get rid of useless lerp()
function I added last night for lack of C++20.
...
* We already have a generic linear interpolator that _I_ added, so let's use it.
2022-11-07 17:31:17 +11:00
Mitchell Richters
043ebadbee
- Remove 2x Normalized180()
method calls on pitch where it's not needed.
...
* Pitch should always be +/- 90 degrees and never need normalization. If it's not, then this shouldn't mask an error caused elsewhere.
2022-11-07 16:53:55 +11:00
Mitchell Richters
c8114e7ed0
- Revert change to TAngle<T>
's /
operator that snuck in.
2022-11-07 15:43:00 +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
0e113dab79
- added true level compatibility map processing and deleted all related map hack code.
2022-10-31 10:45:47 +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
ff71ab14ce
- added a GZDoom-style alternative HUD.
...
So far only implemented for Blood.
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
9c097e1763
- revert to warning level 3.
...
Some stock warnings are far too noisy when level 4 is on.
2022-10-30 16:51:35 +01:00
Mitchell Richters
3f2d970b4f
- Blood: Fix minor issue where player death horizon was being applied at double speed.
2022-10-30 16:51:34 +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
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
4aa765675e
- use a float vector to store the scale.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
fb164450a7
- use MultScale
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
ffc16635b2
- Blood: Make bobPhase
a proper float.
2022-10-30 16:51:24 +01:00
Christoph Oelckers
1c82d19d37
- handled all remaining x/yrepeat in Blood.
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
f5e1709c37
- renamed yet another bunch of repeat variables.
2022-10-30 16:51:22 +01:00
Christoph Oelckers
78bf99434e
- removed some pointless comments.
2022-10-30 16:51:22 +01:00
Christoph Oelckers
4a3ff0bd50
- fixed two bad scale checks in Blood's fat zombie.
2022-10-30 16:51:22 +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
adb3cb888e
- manual repeats in Blood.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
2589e7030c
- more repeats replaced by 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
8c308c8d3e
- added ScaleY method to spritetype and used it to get rid of a large amount of 'yrepeat * REPEAT_SCALE'
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
30112e1289
- deal with clipdist in nnexts
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
84dfe98f17
- replaced all set_native_clipdist in Blood
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
Christoph Oelckers
7cb2545f4b
- let TranslateSector update the player's angle if not in vanilla mode.
2022-10-30 16:51:13 +01:00
Mitchell Richters
cea2b6b428
- Rename PlayerHorizon::__horiz
back to horiz
.
2022-10-30 16:51:12 +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
4af1461ec3
- got rid of int_clipdist.
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
69f27d42aa
- same for Blood's ClipMove
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
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
75047b6ad5
- Eliminate MulScaleF()
.
2022-10-27 16:55:52 +02:00
Mitchell Richters
355860f662
- Blood: Slightly cleaner view bobbing math.
2022-10-27 16:55:52 +02:00
Mitchell Richters
7eda11fa2c
- Blood: Move some effect code into viewUpdateShake()
along with the other effect code.
2022-10-27 16:55:52 +02:00
Mitchell Richters
dbdcdb934f
- Blood: Clamp tangent applied as Z offset in view.
...
* Value of `1.171875` == 150 (value between 180/120 - old min/max) / 128 (Build to pure Tan).
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
Christoph Oelckers
a5afbce59d
- fixed fxSpawnActor calls
2022-10-25 07:07:13 +02:00
Christoph Oelckers
d41e370aad
- angular cleanup.
2022-10-25 07:07:13 +02:00
Christoph Oelckers
65a5394cf0
- only have one version of fxSpawnActor
2022-10-25 07:07:13 +02:00
Christoph Oelckers
10144b0436
- floatified tesla missile offset.
...
This was the last use of inttoworld outside of clipmove.
2022-10-25 07:07:13 +02:00
Christoph Oelckers
c0a628dc7f
- floatified SpawnBulletEject and SpawnShellEject
2022-10-25 07:07:13 +02:00
Christoph Oelckers
d525d41ed2
- floatified smaller stuff
2022-10-25 07:07:13 +02:00
Christoph Oelckers
f3bae2b0b8
- deleted several unused functions.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
7684b64b28
- floatified GENDUDEEXTRA::fireDist and all related things.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
47dff8e656
- added clean handling for the one case where a custom range needs to be passed to actFireVector.
...
This removes one godawful hack that forced an otherwise constant data table to be non-const.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
e52c311592
- added a wrapper for VECTORDATA::maxDist
2022-10-25 07:07:12 +02:00
Christoph Oelckers
f0b9509503
- deleted integer actFireThing version.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
b30c6137d5
- used maptoworld in Quake code.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
2afea7c477
- TranslateSector cleanup.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
c6e8f0bcdb
- merged the TranslateSector wrapper into the main function.
...
No floatification yet.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
3df5fb112e
- remove leftover conversion code.
2022-10-25 07:07:12 +02:00
Christoph Oelckers
ca96a2b41c
- move coordinate conversion from GetClosestSpriteSectors to CheckProximityWall.
2022-10-25 07:07:11 +02:00
Christoph Oelckers
3c2e4a9c59
- deleted integer GetActorExtents version
2022-10-25 07:07:11 +02:00
Christoph Oelckers
5ab75f45e9
- floatified and consolidated throwPower handling.
2022-10-25 07:07:11 +02:00
Christoph Oelckers
a87c4809f5
- deleted unused mulscale30r functions.
2022-10-25 07:07:11 +02:00
Christoph Oelckers
b176ceda38
- floatified playerFireThing
2022-10-25 07:07:11 +02:00
Christoph Oelckers
cab00d05dc
- got rid of the int version of playerFireMissile
2022-10-25 07:07:11 +02:00
Christoph Oelckers
8673d692f0
- floatified genDudeAdjustSlope's dist.
2022-10-25 07:07:11 +02:00
Christoph Oelckers
77d712dbc4
- got rid of the int aiSetTarget variant.
2022-10-25 07:07:11 +02:00
Christoph Oelckers
fbed29e6ca
- bubbletime has no relation to world size so it should not use worldtoint.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
310eff6e71
- clean out many wrappers.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
d013e6fbd9
- eliminate the last 5 Sin calls
2022-10-25 07:07:10 +02:00
Christoph Oelckers
312b96fedc
- floatified aim and relAim
2022-10-25 07:07:10 +02:00
Christoph Oelckers
a9095a5a1e
- floatified all FireSpread functions.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
bd011c69a6
- wrapped most of aim
2022-10-25 07:07:10 +02:00
Christoph Oelckers
1283c4d757
- renamed aim and relAim
2022-10-25 07:07:10 +02:00
Christoph Oelckers
b2dc69ad5d
- floatified dudeSlope.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
27c0a00df6
- use dudeslope wrappers.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
e44759d2ea
- renamed dudeSlope
2022-10-25 07:07:09 +02:00
Christoph Oelckers
f286565abc
- floatifying player::slope, part 2
2022-10-25 07:07:09 +02:00
Christoph Oelckers
1a03c56eec
- floatifying player::slope, part 1
2022-10-25 07:07:09 +02:00
Christoph Oelckers
22cf0ea2ad
-deleted approxDist
2022-10-25 07:07:09 +02:00
Christoph Oelckers
f1b5bba035
- length calculation in teslaHit.
2022-10-25 07:07:09 +02:00
Christoph Oelckers
3814dfcf0e
- floatified distance in AltFireVoodoo
2022-10-25 07:07:09 +02:00