Christoph Oelckers
bc56b5a28f
- RR: cleaned up STAT_DESTRUCT init code a bit
2021-11-06 14:19:54 +01:00
Christoph Oelckers
8818a3f1cb
- Duke: added a getSector method to DDukeActor.
2021-11-06 14:19:54 +01:00
Mitch Richters
a2a75fccc2
- Add support for Duke Nukem's Penthouse Paradise as shipped with the Zoom release of Duke Nukem 3D Atomic.
2021-11-06 23:26:56 +11:00
Mitch Richters
8cf115c444
- searchpaths.cpp: Patch in registry detection for Duke 3D Atomic + Expansions from Zoom on Windows.
...
* Fixes #567 .
2021-11-06 22:59:56 +11:00
Mitch Richters
8f37097e1b
- Exhumed: Revert change from edf54b4b0a
that wasn't meant to be committed.
2021-11-06 19:54:12 +11:00
Mitch Richters
edf54b4b0a
- Exhumed: Remove some dead input code that isn't in any usage.
2021-11-06 19:44:59 +11:00
Mitch Richters
3778327818
- Duke: Back up rotscrnang
if script sets target to new value so we can interpolate the changes.
2021-11-06 17:57:37 +11:00
Mitch Richters
5050947dca
- PlayerAngle::applyinput()
: Consolidate some mostly duplicated code into a lambda.
2021-11-06 17:57:00 +11:00
Mitch Richters
1bb0c04e61
Revert "- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage."
...
This reverts commit 276c000f9f
.
* This was added for testing/debugging etc but it really doesn't work unless the QAV is built for it. As such, just get rid of it.
2021-11-06 17:32:55 +11:00
Mitch Richters
ed67d5d395
- PlayerHorizon::applyinput()
: Only run through all the horizon to pitch and back code if we have input to process.
2021-11-06 15:34:10 +11:00
Mitch Richters
8bd2b960ee
- Blood: Consolidate duplicated code in viewUpdateShake()
into a lambda.
2021-11-06 15:14:25 +11:00
Mitch Richters
5f8c8fe0a4
- PlayerHorizon::applyinput()
: Consolidate some mostly duplicated code into a lambda.
2021-11-06 15:07:28 +11:00
Mitch Richters
7499c84d0b
- Add interpolatedhorizon()
inlines to handle interpolating fixedhoriz
objects without having to convert old and new values back to Q16.16 first.
2021-11-06 14:07:58 +11:00
Mitch Richters
5ec5321034
- gameinput.h/cpp: Abstract the angle/horizon adjustment math into a few inlines to avoid repetition and having to cast enums as doubles for C++20 compliance.
2021-11-06 14:07:53 +11:00
Mitch Richters
4c02663842
- PlayerAngle::applyinput()
: Re-add addition of +/- 1. when returning rotscrnang to 0 lost long, long ago.
2021-11-06 14:07:36 +11:00
Mitch Richters
ab99b6b29d
- PlayerHorizon::calcviewpitch()
: Make returning horizoff
to 0 speed uniform across all games.
2021-11-06 13:31:29 +11:00
Mitch Richters
91f6b2954c
- binangle
class: Tidy up missed C++20 warning fixed about enum used in floating-point arithmetic.
2021-11-06 10:27:04 +11:00
Mitch Richters
0eb4ff4ad2
- PlayerHorizon::calcviewpitch()
: Provide commentary on how numeric literals used in function came to be and place into an enum for clarity.
2021-11-06 10:27:00 +11:00
Mitch Richters
1df2ba80ed
- PlayerAngle::applyinput()
: Provide commentary on how numeric literals used in rotscrnang/look_ang/spin math came to be and place into an enum for clarity.
2021-11-06 10:26:54 +11:00
Mitch Richters
8e8dfa9f9a
- PlayerHorizon::applyinput()
: Provide commentary on how numeric literals used in aim/look up/down and return to centre math came to be and place into an enum for clarity.
2021-11-06 09:30:03 +11:00
Mitch Richters
c424f7c8dd
- processMovement()
. Remove cl_exhumedoldturn
CVAR and tidy up numeric literals in use.
...
* In our older codebase before the input code was refactored, Exhumed's turning was broken and was only applying the base factor of 12, significantly slower than the other games.
* Upon doing some testing in PCExhumed, I noticed their turning was faster as when the counter meets its target, the turn value is shifted left by 2, effectively making it 48: b90417ed8e/source/exhumed/src/player.cpp (L336-L337)
* Removed this CVAR because of this.
* Reworked turning code so that pressing left+right together cancel each other out and that pressing both doesn't call `updateTurnHeldAmt(scaleAdjust)` twice.
* Redid turn averages factoring in Exhumed's speeds, rounded off values and stored in an enum for clarity.
2021-11-06 09:28:47 +11:00
Christoph Oelckers
389f760d45
- address C++20 deprecation warnings with enums in floating point arithmetic.
2021-11-02 23:32:31 +01:00
Mitch Richters
59850fa768
- SW: When adjusting horizon in DoPlayerDeathHoriz()
, just use integer horizon values and not Q16.16.
2021-11-02 10:29:31 +11:00
Mitch Richters
523285b9b0
- Duke (RR): Clean up some unnecessary FixedToFloat()
usage with the fixedhoriz
asbuildf()
method.
2021-11-02 10:29:26 +11:00
Christoph Oelckers
86166f5e67
Revert "- xs_Float.h
: Make all inlines return an unsigned value, and change previous unsigned inlines to signed."
...
Revert "- `xs_Float.h`: Add `getint()` getter to `_xs_doubleints` struct."
Revert "- SW: When adjusting horizon in `DoPlayerDeathHoriz()`, just use integer horizon values and not Q16.16."
Revert "- Duke (RR): Clean up some unnecessary `FixedToFloat()` usage with the `fixedhoriz` `asbuildf()` method."
Revert "- `binaryangle.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `m_fixed.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `xs_Float.h`: Convert header to `constexpr`."
This does nor work as it violates the constexpr rules for unions. The code will error out on compilation for accessing an inactive member of a union.
2021-11-01 20:25:38 +01:00
Mitch Richters
d9bbe1fa61
- xs_Float.h
: Make all inlines return an unsigned value, and change previous unsigned inlines to signed.
...
* Removes situations where calling `xs_CRoundToUInt()` and other unsigned inlines would go through extra casts (`uint32_t` > `int32_t` > `uint32_t`).
* Because the native data in the `_xs_doubleints` struct is a union of a double and `uint32_t`, it makes sense to do everything unsigned and convert to `int32_t` if needed instead.
2021-11-01 23:57:40 +11:00
Mitch Richters
d1274e76dc
- xs_Float.h
: Add getint()
getter to _xs_doubleints
struct.
2021-11-01 23:42:49 +11:00
Mitch Richters
3e25637385
- SW: When adjusting horizon in DoPlayerDeathHoriz()
, just use integer horizon values and not Q16.16.
2021-11-01 23:37:32 +11:00
Mitch Richters
1363ed654c
- Duke (RR): Clean up some unnecessary FixedToFloat()
usage with the fixedhoriz
asbuildf()
method.
2021-11-01 23:37:32 +11:00
Mitch Richters
f3a2de92a4
- binaryangle.h
: Use constexpr
on inline functions where it was previously not possible to do so.
2021-11-01 23:37:31 +11:00
Mitch Richters
306c0a3ebb
- m_fixed.h
: Use constexpr
on inline functions where it was previously not possible to do so.
2021-11-01 23:37:31 +11:00
Mitch Richters
a84aa84838
- xs_Float.h
: Convert header to constexpr
.
...
* Allow use of this library in static initialisers.
* Required re-arranging a little bit to order everything so inlines could be used without prototypes.
2021-11-01 23:37:31 +11:00
Mitch Richters
eb8b075727
- binaryangle.h
: Change binangle
bitshift operators to operate on signed value to properly handle angles > 1024.
2021-11-01 22:13:39 +11:00
Mitch Richters
a1570c185f
- Duke: Remove posx
/posy
/posz
variables and replace with points in the previously unionised pos
vec3_t
variable.
2021-10-31 17:52:52 +11:00
Mitch Richters
6ca6d5639b
- SW: Fix horizon of camera screens originating from changes in 09a05f354c
.
2021-10-31 11:06:13 +11:00
Mitch Richters
9495b9e6d0
- SW: Interpolate the player's weapon recoil.
...
* Reported as missing by @nashmuhandes.
2021-10-31 08:53:26 +11:00
Christoph Oelckers
e8f9afb174
- DoScaleSprite.
2021-10-30 17:30:03 +02:00
Christoph Oelckers
e84d61e80a
- redid the iterators in _polymost.cpp.
2021-10-30 17:30:03 +02:00
Christoph Oelckers
d6bdc735d6
- patch up Blood's GetZRange to compile with getzrange_old being gone.
2021-10-30 17:30:03 +02:00
Mitch Richters
f0a347263a
- SW: Replace use of getzrange_old()
inline wrapper with getzrange()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
1d39bb371e
- Exhumed: Replace use of getzrange_old()
inline wrapper with getzrange()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
add3481e40
- SW: Replace use of pushmove_old()
inline wrapper with pushmove()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
bdbe57a6b6
- Exhumed: Replace use of pushmove_old()
inline wrapper with pushmove()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
0ee3b5af1c
- Blood: Replace use of pushmove_old()
inline wrapper with pushmove()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
adcdbdc931
- SW: Replace use of clipmove_old()
inline wrapper with clipmove()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
0ac63fd663
- Exhumed: Replace use of clipmove_old()
inline wrapper with clipmove()
.
2021-10-30 17:30:01 +02:00
Mitch Richters
b793bc8327
- Blood: Replace use of clipmove_old()
inline wrapper with clipmove()
.
2021-10-30 17:30:01 +02:00
Mitch Richters
0fe5ac6a56
- gameinput.h: Correctly use targetset()
in PlayerHorizon
and PlayerAngle
structs.
2021-10-30 17:30:01 +02:00
Mitch Richters
15c4d38694
- gameinput.h: Add initial structure for PlayerPosition
as companion to PlayerAngle
and PlayerHorizon
structs.
2021-10-30 17:30:01 +02:00
Mitch Richters
7ee4f49649
- gameinput.h: Remove some of the verticality from the PlayerHorizon
and PlayerAngle
structs.
2021-10-30 17:30:01 +02:00