Christoph Oelckers
f23ddc28f0
- Duke: scriptified the crane
2022-11-13 18:55:32 +01:00
Christoph Oelckers
660c546266
- actor interface fixes.
2022-11-13 18:51:23 +01:00
Christoph Oelckers
9bf3642cb8
- named the scrap sprites.
2022-11-13 11:51:44 +01:00
Christoph Oelckers
e3aa1da175
- CallOnanimate
2022-11-13 11:50:28 +01:00
Christoph Oelckers
ba016c7c3a
- added CallOnHit and named spawn.
2022-11-13 10:30:52 +01:00
Christoph Oelckers
bab750c156
- MAXCRANES is obsolete
2022-11-13 10:21:09 +01:00
Christoph Oelckers
9d1ddb72d4
- added some texture names.
2022-11-13 10:13:49 +01:00
Christoph Oelckers
48d1367a7e
- added some VM exports for DukePlayer
2022-11-13 08:59:08 +01:00
Christoph Oelckers
de51b65ead
- reimplemented Duke's scripted actor iterators in a more lightweight fashion.
...
This now works without allocating garbage collected objects.
2022-11-13 08:59:07 +01:00
Christoph Oelckers
c32a695384
- DukeActor scriptification framework.
2022-11-13 08:55:20 +01:00
Christoph Oelckers
ac4be79e96
- implemented cl_weaponswitch for Duke.
2022-11-12 09:34:08 +01:00
Mitchell Richters
bd5d96df10
- Duke: Fix chaingunner spit velocity that was still in fixed point.
...
* Fixes #742 .
2022-11-11 21:34:23 +11:00
Mitchell Richters
60366d298e
- Duke: Use player's pitch sine rather than tangent when throwing a pipebomb while crouched.
...
* Maintains the feel of the weapon by having the pipebomb roll along the ground.
* Sign of sine is correct and allows for an expected throw behavior when looking up/down unlike original code.
* Prevents an infinite tangent value from messing things up.
2022-11-11 21:10:41 +11:00
Christoph Oelckers
53341ee525
- Duke: lower conveyor player carry speed.
...
Still no match to the animation, but these games seemingly never cared.
2022-11-10 08:40:14 +01:00
Christoph Oelckers
a8585d72c7
- fixed velocity for Duke's pipe bomb and RR's dynamite when crouching.
...
These cases may not use the generic free aim adjustment.
2022-11-09 22:50:13 +01:00
Christoph Oelckers
32a447ea54
- RR: fixed velocity of dynamite projectile.
2022-11-09 15:39:16 +01:00
Christoph Oelckers
3c7810a229
- RR: fixed movement direction when throwing a bowling ball.
2022-11-09 15:21:08 +01:00
Christoph Oelckers
5ebf2fef89
- fixed handle_st18's ceiling movement.
2022-11-07 18:16:41 +01: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
0c4ad84c2e
- RR: Pitch-adjusted velocity for operateweapon()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
9a25b1d3f5
- RR: Pitch-adjusted velocity for shootweapon()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
b14525b47b
- RR: Pitch-adjusted velocity for shootmelee()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
24dcd26e64
- RR: Pitch-adjusted velocity for shootwhip()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
211b2cc349
- RR: Pitch-adjusted velocity for shootrpg()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
b9bd02299a
- RR: Pitch-adjusted velocity for shootstuff()
when free-aiming.
2022-11-06 21:59:06 +11:00
Mitchell Richters
7941f3cde3
- Duke: Pitch-adjusted velocity for aim()
.
2022-11-06 21:59:06 +11:00
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
Mitchell Richters
1fb85b0a8d
- Use deltaangle()
in a few places with our DAngle horizon.
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
41bbbd9df5
- Remove all remaining uses of fixedhoriz::asbuild()
.
2022-10-25 07:06:55 +02:00
Mitchell Richters
92798b5a07
- Remove most buildhoriz()
calls.
2022-10-25 07:06:55 +02:00
Mitchell Richters
293a71ed55
- Remove horizon from gi->WarpToCoords()
since we don't even print the horizon in our stats.
2022-10-25 07:06:54 +02:00
Mitchell Richters
ca8f8d6d36
- Remove all remaining q16horiz()
calls, also correcting a long-standing Duke bug.
2022-10-25 07:06:54 +02:00
Mitchell Richters
8697e5f054
- Replace all q16horiz(0)
calls.
2022-10-25 07:06:54 +02:00
Mitchell Richters
22a9f89b64
- Remove all uses of fixedhoriz::asq16()
.
2022-10-25 07:06:54 +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
Mitchell Richters
4ef9ec93ea
- Remove fixedhoriz::asbuildf()
and associated buildf friend.
...
* The new friend `tanhoriz()` is just for the input code for now.
2022-10-25 07:06:53 +02:00
Mitchell Richters
d8a6471680
- Add fixedhoriz::Tan()
and replace most asbuildf()
calls with it.
2022-10-25 07:06:53 +02:00
Christoph Oelckers
40cb2116e0
- restore Duke's cheats.
2022-10-24 23:30:09 +02:00
Christoph Oelckers
9342b7b1a4
- Duke/RR: fixed move_player smart action.
2022-10-24 22:09:34 +02:00
Christoph Oelckers
33002b37a9
- RR: fixed randomization for hitscan weapons.
2022-10-24 21:26:41 +02:00
Christoph Oelckers
e2d0cbf772
- allow entering cheats in the chat editor without using '#'.
2022-10-23 18:46:18 +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
20043f6223
- use symbolic constants in neartag calls.
2022-10-22 12:17:03 +02:00
Mitchell Richters
95cd74bdc0
- renamed slope functions so that the int versions get a special name.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
ac2a3c443f
- got rid of all deprecated updatesector variants.
...
This required a few changes in the map loader and render interface.
2022-10-22 12:17:02 +02:00
Christoph Oelckers
c44fd07f37
- floatified the portal displacement
2022-10-22 12:16:57 +02:00
Christoph Oelckers
375d346ae8
- pass a vector to the processSprites interface.
2022-10-22 12:16:56 +02:00
Christoph Oelckers
0fdc91904d
- replaced getposfromactor
2022-10-22 12:09:54 +02:00
Christoph Oelckers
896c480eb6
- deleted player_int_pos
2022-10-22 12:09:54 +02:00
Christoph Oelckers
b2fd1fdaa4
- second part of final bsin replacement.
2022-10-22 12:09:54 +02:00
Christoph Oelckers
05117f9f5d
- first part of final bsin replacement.
2022-10-22 12:09:54 +02:00
Christoph Oelckers
5f44dcc262
- refactor animatesprites API
2022-10-22 12:09:54 +02:00
Christoph Oelckers
9a4c699f53
- floatify all 3 operateweapon functions.
2022-10-22 12:09:44 +02:00
Christoph Oelckers
eae2e638aa
- floatified all getangle calls.
2022-10-22 11:33:16 +02:00
Christoph Oelckers
c511e5dca9
- eliminated int_xvel
2022-10-22 11:33:16 +02:00
Christoph Oelckers
ad2e984367
- floatified move_r
2022-10-22 11:33:16 +02:00
Christoph Oelckers
eb40f78bd1
- floatified move_d
2022-10-22 11:33:16 +02:00
Christoph Oelckers
9325886e35
- split use of tempang between real angles and other counters.
2022-10-22 11:33:16 +02:00
Christoph Oelckers
ee28c90429
- angle stuff in recon()
2022-10-22 11:33:16 +02:00
Christoph Oelckers
e5d9875ae5
- one inttoworld -> maptoworld
2022-10-22 11:33:15 +02:00
Christoph Oelckers
8d99277b87
- remaining add_int_ang calls.
2022-10-22 11:33:15 +02:00
Christoph Oelckers
62d9a80379
- floatified most simple set_int_ang and add_int_ang calls.
2022-10-22 11:33:15 +02:00
Christoph Oelckers
d994dbd537
- floatified player_orig::oa
2022-10-22 11:33:15 +02:00
Christoph Oelckers
54346d9398
- eliminate all int_ang calls, except the one setting player.oa.
2022-10-22 11:33:15 +02:00
Christoph Oelckers
61a45da964
- floatified all remaining add_int_pos calls.
2022-10-22 11:33:15 +02:00
Christoph Oelckers
6c0e2624e5
- remaining angle wrappers in actors.cpp
2022-10-22 11:33:15 +02:00
Christoph Oelckers
2ea426be38
- handle several int_angle calls.
2022-10-22 11:33:15 +02:00
Christoph Oelckers
e42036d43b
- only use the floatified version of findplayer.
2022-10-22 11:33:14 +02:00
Mitchell Richters
132864ec8d
- Duke: Fix issue stemming from - only use the floatified version of findplayer.
.
...
* This value must be floored.
* Fixes E2L1's space ship projectile timing.
2022-10-22 11:33:14 +02:00
Christoph Oelckers
1096344cae
- only use the floatified version of findplayer.
2022-10-22 11:33:14 +02:00
Christoph Oelckers
201526b53c
- only use the floatified version of findplayer.
2022-10-22 11:33:14 +02:00
Christoph Oelckers
1fdfe4635b
- only use the floatified version of findplayer.
2022-10-22 11:33:14 +02:00
Christoph Oelckers
848d7fc16e
- VM interface cleanup
2022-10-22 11:33:14 +02:00
Christoph Oelckers
b712315ec3
- floatified playerJump
2022-10-22 11:33:14 +02:00
Christoph Oelckers
14b5984664
- removed int_playerheight
2022-10-22 11:33:14 +02:00
Christoph Oelckers
4e9ab67c35
- RR's movement and underwater completed.
2022-10-22 11:33:13 +02:00
Christoph Oelckers
8060813ea8
- floatified large parts of processinput_r
2022-10-22 11:33:13 +02:00
Christoph Oelckers
167e0ecd0e
- merge with processinput_d
...
- floatified processinput_d
2022-10-22 11:33:13 +02:00
Christoph Oelckers
47dc2e6b1f
- hitscan call in operatetripbomb
2022-10-22 11:33:13 +02:00
Christoph Oelckers
89cb29292c
- floatified operateJetpack
2022-10-22 11:33:13 +02:00
Christoph Oelckers
583a5bd0e3
- floatified playerisdead
2022-10-22 11:33:13 +02:00
Christoph Oelckers
4ded343aa5
- floatified SE16
2022-10-22 11:30:24 +02:00
Christoph Oelckers
e4898af11a
- floatified remaining code of SE17.
2022-10-22 09:34:16 +02:00
Christoph Oelckers
671e75ba5f
- eliminate the last int_zvel call
2022-10-22 09:34:16 +02:00
Christoph Oelckers
cd6c524b90
- converted most of the remaining CreateActor calls.
2022-10-22 09:34:16 +02:00
Christoph Oelckers
30a3bba644
- many CreateActor calls converted to true floats.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
5ccefcb77b
- first round of CreateActor calls.
2022-10-22 09:34:15 +02:00
Mitchell Richters
bbdb953eda
- Duke: Fix issue stemming from - handle all remaining set_int_xvel and set_int_zvel.
.
...
* Fixes the Liztrooper sprite angle issues.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
13dd7260f5
- handle all remaining set_int_xvel and set_int_zvel.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
e73a6409bb
- forcesphere stuff
2022-10-22 09:34:15 +02:00
Christoph Oelckers
42f179f675
- GreenSlime stuff
2022-10-22 09:34:15 +02:00
Christoph Oelckers
fdfd8c2a35
- change for pyoff
2022-10-22 09:34:15 +02:00
Christoph Oelckers
2e947fded3
- trivial changes
2022-10-22 09:34:14 +02:00
Christoph Oelckers
9557137b58
- floatified queball
2022-10-22 09:34:14 +02:00
Christoph Oelckers
9f219ce809
- floatified bounce()
2022-10-22 09:34:14 +02:00
Christoph Oelckers
b9d803bc24
- floatified Duke's sound frontend
2022-10-22 09:34:14 +02:00
Christoph Oelckers
6ed157ccdb
- handle all remaining int_pos outside the sound code.
...
SPOTLITE has no handler, so its temp_data is of no use.
2022-10-22 09:34:14 +02:00
Christoph Oelckers
f52b361dfc
- floatified aim()
2022-10-22 09:34:14 +02:00
Christoph Oelckers
b8efc5c563
- floatified RR noise code.
2022-10-22 09:34:14 +02:00
Christoph Oelckers
7ee620628d
- floatified handle_se24
2022-10-22 09:34:13 +02:00
Christoph Oelckers
9cfd56a912
- mathutil is not needed anymore.
2022-10-22 09:34:13 +02:00
Christoph Oelckers
ebb7442370
- floatified hitawall
2022-10-22 09:34:13 +02:00
Christoph Oelckers
b176d94ede
- floatified hitasprite
2022-10-22 09:34:13 +02:00
Christoph Oelckers
062e533b81
- floatified hitasprite's callers.
2022-10-22 09:34:13 +02:00
Christoph Oelckers
d4aaee6274
- floatified hits()
2022-10-22 09:34:13 +02:00
Christoph Oelckers
9591325876
- floatified return value of hits()
2022-10-22 09:34:13 +02:00
Christoph Oelckers
479616a80f
- got new CVar system from GZDoom.
2022-10-22 00:12:17 +02:00
Christoph Oelckers
52dc48d671
- fixed spawn position calculation in shootflamethrowerflame.
2022-10-21 22:20:41 +02:00
Christoph Oelckers
45e2347006
- fixed velocity issues with shoot* functions.
2022-10-21 21:42:00 +02:00
Christoph Oelckers
99ca695333
- floatified the main shoot functions.
2022-10-21 00:00:09 +02:00
Christoph Oelckers
be0eb81c95
- deleted unused utilities
2022-10-21 00:00:09 +02:00
Christoph Oelckers
66b00cfb52
- floatified RR's shootmortar
2022-10-21 00:00:09 +02:00
Christoph Oelckers
d0a890dd15
- floatified RR's shootwhip.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
836d7fea34
- fixed some warnings.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
83fc7a3116
- floatified RR's shootrpg.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
81865969be
- floatified RR's shootstuff
2022-10-21 00:00:08 +02:00
Christoph Oelckers
b105897d9f
- 'effector->GetOwner()' was used a lot in this block...
2022-10-21 00:00:08 +02:00
Christoph Oelckers
4dfba60d99
- eliminated all ldist calls outside the weapon code.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
ef7a6f8c8d
- floatified remaining parts of shootflamethrowerflame.
2022-10-21 00:00:08 +02:00
Christoph Oelckers
9d8685096d
- floatified shootshrinker
2022-10-21 00:00:07 +02:00
Christoph Oelckers
0b58f2ea3c
- floatified shootmortar
2022-10-21 00:00:07 +02:00
Christoph Oelckers
840d1f4793
- floatified shootgrowspark
2022-10-21 00:00:07 +02:00
Christoph Oelckers
cb7c5dc3ac
- floatified tracers
2022-10-21 00:00:07 +02:00
Mitchell Richters
623e0ff30e
- floatified RR's shootweapon.
...
Mostly copy/paste from Duke.
* Edited to fix missed `zvel` change within `if (atwith == SHOTSPARK1)`.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
b706e6276a
- floatified RR's shootmelee.
...
Mostly copy/paste from Duke.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
e224abb949
- silenced warnings.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
977131eb8c
- eliminated all set_int_z calls in Duke.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
933e42eca6
- moved the remaining shoot handlers out of shoot_d.
2022-10-21 00:00:06 +02:00
Christoph Oelckers
7becce8cb6
- floatified shootlaser
2022-10-21 00:00:06 +02:00
Christoph Oelckers
9598468c9a
- floatified Duke's shootrpg
2022-10-21 00:00:06 +02:00
Christoph Oelckers
b5a869b053
- floatified Duke's shootstuff.
2022-10-21 00:00:06 +02:00
Christoph Oelckers
1702491619
- floatified Duke's shootweapon.
2022-10-21 00:00:06 +02:00
Christoph Oelckers
aad2c30af7
- floatified shootknee
2022-10-21 00:00:06 +02:00
Christoph Oelckers
436b8bc50a
- floatified shootfireball
2022-10-21 00:00:06 +02:00
Christoph Oelckers
a226a847bd
- fixed warnings
2022-10-21 00:00:06 +02:00
Christoph Oelckers
9deb1dfa69
- floatified shootbloodsplat.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
4f5dce81f6
- floatifx position in checkhitswitch_d.
2022-10-21 00:00:05 +02:00
Mitchell Richters
2081e270cd
- Duke: Fix bad setup in move_d()
that stopped enforcer working properly in E3L1.
...
* Merge with or above `- eliminated all of add_int_zvel.`.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
1814274124
- eliminated all of add_int_zvel.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
65b6b5ba71
- migrated all simple EGS calls to CreateActor
...
The remaining ones require more work on the weapon code first
2022-10-21 00:00:05 +02:00
Christoph Oelckers
a48ebc51a6
- This makes no sense either way…
2022-10-21 00:00:05 +02:00
Christoph Oelckers
068099cb3e
- floatify glass spawners
2022-10-21 00:00:05 +02:00
Christoph Oelckers
5140baf7c5
- floatified a bunch in move_r
2022-10-21 00:00:05 +02:00
Christoph Oelckers
3e511f33b8
- movetripbomb and movecrack
2022-10-21 00:00:04 +02:00
Christoph Oelckers
facedb6325
- floatified movesprite_ex
2022-10-21 00:00:04 +02:00
Christoph Oelckers
829d06790f
- handle the remaining movesprite_ex calls
2022-10-21 00:00:04 +02:00
Christoph Oelckers
4b184c6d43
- movesprite_ex refactoring, part 2
2022-10-21 00:00:04 +02:00
Christoph Oelckers
5dedce047a
- movesprite_ex refactoring, part 1
2022-10-21 00:00:04 +02:00
Christoph Oelckers
0432930e5b
- converted all dist() calls to vector math and deleted the utilities
2022-10-21 00:00:04 +02:00
Christoph Oelckers
2bcc552ce0
- replace FireProj struct with a second temp_pos vector
...
We’re going to need this anyway for some SE’s.
2022-10-21 00:00:04 +02:00
Christoph Oelckers
dfd098d719
- simple replacements in sector and spawn code
2022-10-21 00:00:04 +02:00
Christoph Oelckers
1c05d80e53
- simple replacements in player code
2022-10-21 00:00:03 +02:00
Christoph Oelckers
f6d06b1326
- simple replacements in actor code
2022-10-21 00:00:03 +02:00
Christoph Oelckers
ada4af8fb7
-consolidated sprite rotation formula in 2 inline functions.
2022-10-21 00:00:03 +02:00
Christoph Oelckers
c066f1754c
- use randomAngle
2022-10-21 00:00:03 +02:00
Christoph Oelckers
b164426dd2
- partial work on processinput_d
2022-10-21 00:00:03 +02:00
Christoph Oelckers
bda3a38ed9
- ported the remaining S_PlaySound3D calls
2022-10-21 00:00:03 +02:00
Christoph Oelckers
4956062b22
- added S_PlaySound3D variant receiving a float vector
2022-10-21 00:00:03 +02:00
Christoph Oelckers
e31f10be8a
- floatify position in all remaining updatesector calls for the player
2022-10-21 00:00:03 +02:00
Christoph Oelckers
3c9a94dba8
- consolidated Duke’s ‚away from wall‘ check in the backend
...
This was also very useful in SW to avoid spawning ‚floating‘ footprints due to lack of an equivalent check in the original.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1a597c4e0b
- fixed and floatified chickenarrow.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
021f7062d1
- ported all simple EGS calls to CreateActor
2022-10-21 00:00:02 +02:00
Christoph Oelckers
dafc1ff2d2
- spawn coordinate in guts
2022-10-21 00:00:02 +02:00
Christoph Oelckers
6bd97e312d
- cleanup of the wall hit checks in hitradius
...
Yes, the z-check was indeed bad.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
3352783be2
- added a Sum function to TVector familiy
...
Duke uses this kind of distance check quite a lot so it makes sense to add it to the vectors.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1d7f2c81b6
- fixed position backup for trip bombs.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
38a8e15ff9
- floatified most of movetripbomb and ovel
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1c50801c64
- floatified furthestangle
2022-10-21 00:00:01 +02:00
Christoph Oelckers
3c1970e9e0
- floatified alterang and changed return type of furthestangle
2022-10-21 00:00:01 +02:00
Christoph Oelckers
45f28f666c
- floatified dodge.
2022-10-20 23:59:28 +02:00
Christoph Oelckers
c7eabe5b55
- gameexec.cpp code cleanup
2022-10-20 23:59:27 +02:00
Christoph Oelckers
3711473194
- gameexec cleanup
2022-10-20 23:59:27 +02:00
Christoph Oelckers
3cefda2983
- simplify some angle stuff
2022-10-20 23:59:15 +02:00
Christoph Oelckers
43e1e3f50f
- floatified SE 32.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
c0e7e6a543
- floatified leftover pieces of some debris-type actors.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
2de1aea4a6
- floatified exit position.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
1a64d18349
- floatified RR hitscan teleporter stuff and other minor things.
2022-10-20 23:08:55 +02:00
Christoph Oelckers
4322a30efb
- unlimited the number of active animations, also fixed a few bugs.
2022-10-20 23:08:54 +02:00
Christoph Oelckers
e3ea4cd55c
- floatified animation code.
2022-10-20 23:08:22 +02:00
Christoph Oelckers
0c7274752c
- falladjustz
2022-10-20 22:25:10 +02:00
Christoph Oelckers
6482fefeb3
- 3x add_int_z.
2022-10-20 22:25:10 +02:00
Christoph Oelckers
fe0a10ed29
- handle neartag calls in checksectors.
2022-10-20 22:25:10 +02:00
Christoph Oelckers
13fc658c1f
-floatified findplayer and findotherplayer.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
68bc812681
- floatify hande_se35
...
This looks broken because the destination height is never set anywhere.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
4196195b89
- floatified handle_se25
2022-10-20 22:25:09 +02:00
Mitchell Richters
8bfcb8c939
- Floatify InputPacket::fvel
and InputPacket::svel
.
...
* Since all velocities are floated, we can now take each game's keymove scaling into its ticker and use a consistent keymove size, making non-mouselook and controller input truly identical across the games without having to try and fudge any values.
2022-10-20 00:48:09 +02:00
Mitchell Richters
a178ef1ff6
- Duke: Floatify player_struct::fric
.
2022-10-20 00:48:09 +02:00
Mitchell Richters
def2b9d483
- Flip svel
around in the input code so we can use proper anti-clockwise vector math.
2022-10-20 00:48:09 +02:00
Christoph Oelckers
9426f42f41
- replaced old refactoring wrapper.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
088699f5c8
- floatified handle_se20.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
471f64cf72
- fixes for player velocity.
2022-10-20 00:48:08 +02:00
Christoph Oelckers
a847b23e7c
- made player.vel a real float vector with proper value range.
2022-10-20 00:48:07 +02:00
Christoph Oelckers
417dc7c330
- floatified gs.gravity and all relations to player.vel.
2022-10-20 00:47:32 +02:00
Christoph Oelckers
6f8d0e7870
- handle all remaining vel uses not related to gravity and clipmove
2022-10-20 00:47:32 +02:00
Christoph Oelckers
3e05acfcc9
- handle ca. half of the remaining use of vel.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
bca4819841
- handle some simple vector additions with velocity.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
c821683bc5
- copy Duke handling of movement code to RR.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
cebecabe66
- search& replace of zero assignments and comparisons.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
2266ae1cd6
- converted vel use in player_d.cpp's main movement functions
...
Still using conversion factors until all code has been processed.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
b46b087e0c
- first round of vel refactoring.
...
VEL_FACTOR is used as a marker that later can be quickly removed once the data type gets changed over.
2022-10-20 00:47:19 +02:00
Christoph Oelckers
50a9ca49f3
- floatified player_struct::hitang
2022-10-20 00:33:31 +02:00
Christoph Oelckers
a5652655db
- floatified gs.playerfriction
2022-10-20 00:20:41 +02:00
Christoph Oelckers
477120923f
- made player.vel and gs.playerfriction floating point.
...
No change in value range yet, but having them as floats now allows easier refactoring.
2022-10-20 00:20:40 +02:00
Christoph Oelckers
8171927c2a
- renamed player_struct::vel
2022-10-20 00:19:56 +02:00
Christoph Oelckers
03a0eb7284
- floatified and consolidated handle_se29.
2022-10-20 00:19:56 +02:00
Christoph Oelckers
9a07dc5b7b
- floatified handle_se21 and most of movetongue
2022-10-20 00:19:33 +02:00
Christoph Oelckers
a9c7a5e62f
- floatified handle_se21
2022-10-19 18:26:16 +02:00
Christoph Oelckers
b0b5dbc55b
- eliminated add_int_ceilingz
2022-10-19 18:26:16 +02:00
Christoph Oelckers
81d4ca71d7
- floatified movetouchplate
2022-10-19 18:26:16 +02:00
Christoph Oelckers
8e4a3f1946
- floatified position in RANDOMSCRAP
2022-10-19 18:26:16 +02:00
Christoph Oelckers
23c529589e
- eliminated add_int_xvel
2022-10-19 18:26:16 +02:00
Christoph Oelckers
a6bf98399c
- fixed inconsistency between angle and intangle use.
...
Angles abused as flag words should always use intangle.
2022-10-19 18:02:05 +02:00
Christoph Oelckers
11735c2963
- floatified handle_se13.
2022-10-18 20:02:30 +02:00
Christoph Oelckers
998d71875f
- floatified handle_se11.
2022-10-18 20:02:30 +02:00
Christoph Oelckers
b62c081d37
- renamed variables in handle_se08
2022-10-18 20:02:30 +02:00
Christoph Oelckers
845287a7ba
- floatified handle_se05
2022-10-18 20:02:30 +02:00
Christoph Oelckers
49125ffed5
- floatified handle_se02
2022-10-18 20:02:29 +02:00
Christoph Oelckers
3898e2fa4c
- floatified handle_se06 (both variants)
2022-10-18 20:02:29 +02:00
Christoph Oelckers
228db5839a
- floatified handle_se30.
2022-10-18 20:02:28 +02:00
Christoph Oelckers
e7ba113402
- use high precision storage for all of SE00's work data.
2022-10-18 20:02:28 +02:00
Christoph Oelckers
2be133aaee
- poolball stuff in Duke
2022-10-18 20:02:01 +02:00
Christoph Oelckers
fe7dfa1c53
- floatify angle stuff for bowling, henstand etc. in RR.
2022-10-18 20:02:01 +02:00
Christoph Oelckers
c30493c344
- floatified handle_se14
2022-10-18 20:02:01 +02:00
Christoph Oelckers
bd3f96e779
- floatified handle_se00
2022-10-18 20:02:01 +02:00
Christoph Oelckers
b5b159f45b
- unlimited and floatified the movesector position array.
2022-10-18 20:02:00 +02:00
Christoph Oelckers
4f9718e8a8
- added velocity checks when attempting to dive or surface.
...
This could misbehave at low velocities that could be misinterpreted as a boundary crossing due to the missing check for the movement direction.
2022-10-18 19:59:07 +02:00
Mitchell Richters
33def4bd6e
- Duke: Clean up some long VecToAngle()
calls.
2022-10-18 19:52:02 +02:00
Christoph Oelckers
c84bf46611
- eliminated add_int_ceilingz in handle_se32.
2022-10-18 19:51:53 +02:00
Christoph Oelckers
b467e6c6cf
- handled a few easy to change distance calculations and nearby assignments.
2022-10-18 19:36:25 +02:00
Christoph Oelckers
4cb214f3ab
- int_vel stuff with constants.
2022-10-18 19:36:17 +02:00
Christoph Oelckers
901728d88f
- int_vel stuff with constants.
2022-10-18 19:31:11 +02:00
Christoph Oelckers
d34a423272
- int_vel stuff with constants.
2022-10-18 19:31:11 +02:00
Christoph Oelckers
eaf8a8ccca
- some minor random changes.
2022-10-18 19:31:11 +02:00
Christoph Oelckers
72dc3d5da9
- use mapangle in more places, mainly constants and random values using special formula
2022-10-18 19:01:45 +02:00
Christoph Oelckers
f4df9a25da
- pass index and angle to movesector as arguments.
...
This allows refactoring the multiple SEs using this function individually.
2022-10-18 18:30:38 +02:00
Mitchell Richters
9eec69d810
- Blood: Floatify position drawing code and clean up now-unused wrappers.
...
* Still work to be done on bob/sway/zView variables.
2022-10-18 18:29:09 +02:00
Christoph Oelckers
32d49cf199
- Duke: fixed bad crusher speed in SE 25.
2022-10-18 07:10:43 +02:00
Christoph Oelckers
db810250c3
- full floatification of handle_se31.
2022-10-17 17:26:00 +02:00
Christoph Oelckers
8e48911723
- very simple replacements
2022-10-17 17:25:58 +02:00
Christoph Oelckers
1ba20c7dce
- wrapped most clipdist assignments
2022-10-17 17:03:53 +02:00
Christoph Oelckers
ef47040630
- renaming stuff for search purposes
2022-10-17 17:03:53 +02:00
Christoph Oelckers
9721d80f44
- more assignment wraps
2022-10-17 17:03:53 +02:00
Christoph Oelckers
3fc592c505
- wrap clipdist copy
2022-10-17 17:03:53 +02:00
Christoph Oelckers
3c498e715d
- wrapped all literal assignments to clipdist - part 3
2022-10-17 17:03:53 +02:00
Christoph Oelckers
a14c37f596
- wrapped all literal assignments to clipdist - part 2
2022-10-17 17:03:53 +02:00
Christoph Oelckers
28a3a8e314
- wrapped all literal assignments to clipdist - part 1
2022-10-17 17:03:52 +02:00
Christoph Oelckers
6b5cbac96a
- consolidate common formula
2022-10-17 17:03:52 +02:00