Commit graph

2590 commits

Author SHA1 Message Date
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