Christoph Oelckers
d253468b22
- scriptified the scraps.
...
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
94a13118b3
- handle nofloorpal for CallAnimate overrides.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
c94d2fb3d0
- made DDukeActor::movflag unsigned.
...
Due to the values it holds it cannot be a signed short as this would wrap around to something negative.
2022-11-14 19:25:28 +01:00
Christoph Oelckers
e867c4603f
- Duke: fixed issues with CON-based movement.
...
Bad integer divisions and one incorrect check for X instead of Z.
2022-11-14 18:48:31 +01:00
Christoph Oelckers
5fea500f92
- flammable actors scriptified.
2022-11-14 16:31:45 +01:00
Christoph Oelckers
190fd1827e
- scriptified Dukes water fountain.
...
That's this thingy in the first corridor of E2L1.
2022-11-14 12:10:13 +01:00
Christoph Oelckers
306db376d9
- added script exports for 'spawn' and 'lotsofglass' and made the spawn variant using class names operational.
2022-11-14 10:30:59 +01:00
Christoph Oelckers
317968c45a
- exported DukeGameInfo.
...
Only the parts that can be considered stable.
2022-11-14 10:25:17 +01:00
Christoph Oelckers
ced22bb0a8
- added onUse virtual to DukeActor.
2022-11-14 10:22:22 +01:00
Christoph Oelckers
36f753df8f
- RR: fixed weapon switching code.
2022-11-13 19:47:10 +01:00
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