Commit graph

6812 commits

Author SHA1 Message Date
Mitchell Richters
01e326df9d - SW: Pitch-adjusted velocity for InitTurretFireball(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
462576bc51 - SW: Pitch-adjusted velocity for InitTurretRocket(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
9299e5f813 - SW: Pitch-adjusted velocity for InitTurretMicro(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
86a7f7ca2c - SW: Pitch-adjusted velocity for InitTankShell(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
b99dac1e56 - SW: Pitch-adjusted velocity for InitUzi(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
319c1533b3 - SW: Pitch-adjusted velocity for InitTracerTurret(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
25e0b9a073 - SW: Pitch-adjusted velocity for InitTracerUzi(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
7ae21a27cc - SW: Pitch-adjusted velocity for InitMicro(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
7658d8772d - SW: Pitch-adjusted velocity for InitNuke(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
393553780b - SW: Pitch-adjusted velocity for InitBunnyRocket(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
26460bc6aa - SW: Pitch-adjusted velocity for InitRocket(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
8da5b096c0 - SW: Pitch-adjusted velocity for InitRail(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
283f8d208a - SW: Pitch-adjusted velocity for InitLaser(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
51c0fbcca1 - SW: Pitch-adjusted velocity for InitShotgun(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
3fd397e384 - SW: Pitch-adjusted velocity for InitHeartAttack(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
a27e5a0ed2 - SW: Pitch-adjusted velocity for InitStar(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
bcf09c3037 - SW: Pitch-adjusted velocity for InitFistAttack(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
2577ea21f2 - SW: Pitch-adjusted velocity for InitSwordAttack(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
2b4149b70e - SW: Pitch-adjusted velocity for InitSpellMirv(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
b7a1e699f6 - SW: Pitch-adjusted velocity for InitSpellNapalm(). 2022-11-30 10:03:46 +01:00
Christoph Oelckers
1d39e1edc1 - fixed bouncing of freezer's projectile. 2022-11-30 09:57:27 +01:00
Mitchell Richters
098542de69 - Duke: Call movetransports() before processing any player movement.
* This simply works much better. In addition to being able to revert commits like `- Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct.`, transitioning from above water to underwater and vice-versa is interpolated, smooth and seamless, something that I was unable to hack in without this change.
2022-11-30 09:53:51 +01:00
Mitchell Richters
641b22addf Revert "- Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct."
This reverts commit 1cb57a813948a494197e7df67dd6f58ae987b7db.
2022-11-30 09:53:51 +01:00
Mitchell Richters
ec16fd9310 - Duke: Soften the blood splats in Duke when the timer is at the end. 2022-11-29 21:08:49 +11:00
Mitchell Richters
537e9df6ec - Duke: Repair Z height when dead. 2022-11-29 20:59:35 +11:00
Christoph Oelckers
c9a94a4899 - fixed bad angle use in move_d. 2022-11-27 11:56:27 +01:00
Christoph Oelckers
ec48b91730 - fixed the last remaining z/inttoworld mismatches.
The one in clipmove was critical, the other ones not so much.
2022-11-27 10:21:47 +01:00
Christoph Oelckers
dc60c643c9 - Duke: added an ammo check to the chaingun firing loop
With weapon switching disabled it would not stop firing.
2022-11-26 17:59:22 +01:00
Christoph Oelckers
0e1121ed51 - reinstated original distance math for SE20.
This one's a catastrophic combination of a bad algorithm depending on equally bad math to calculate distance.
It simply does not do what one would expect - it should have calculated the distance to a wall's center to be robust.
2022-11-26 15:58:55 +01:00
Christoph Oelckers
4aad87cf83 - fixed Exhumed sound indices. 2022-11-25 11:26:24 +01:00
Christoph Oelckers
d43ebd22ae - fixed merge errors from backend update. 2022-11-24 18:05:47 +01:00
Christoph Oelckers
ed4f49ac86 - fixed sound code for backend update. 2022-11-24 17:46:39 +01:00
Mitchell Richters
f1bfaac301 - Duke: Minor fixes to some angle checks. 2022-11-24 23:08:28 +11:00
Mitchell Richters
4f59e8a3d1 - Duke: Fix delta angle setup in alterang(). 2022-11-24 22:03:47 +11:00
Mitchell Richters
fb74ece44b - Duke/RR: Fix up 2x missed Z changes. 2022-11-24 19:41:58 +11:00
Christoph Oelckers
4d6920e80b - fixed failiure to initialize the ambient tags array.
Also adding range checks to all places where it gets used. This is from CON code so proper values are never guaranteed.
2022-11-24 09:01:44 +01:00
Christoph Oelckers
13e19bad36 - fixed handling of bad class assignment to map picnums. 2022-11-24 08:12:18 +01:00
Christoph Oelckers
6cb3e2f457 - Duke: fixed operator precedence in scrap spawning code. 2022-11-21 10:48:47 +01:00
Christoph Oelckers
ae37461feb - one more stat constant. 2022-11-21 10:24:42 +01:00
Christoph Oelckers
29c4c77e55 - fixed bad StopSound implementation. 2022-11-21 09:25:46 +01:00
Mitchell Richters
fd8ac602f0 - Duke: Fix a few missed names from the last commit. 2022-11-21 13:22:25 +11:00
Christoph Oelckers
49055f1bfd - named a few more of RR's items. 2022-11-20 21:39:56 +01:00
Christoph Oelckers
1e421af8bc - renamed one more sprite.
Unused, non-functional, but it got some text on the actual sprite, which was used for naming it.
2022-11-20 21:29:39 +01:00
Christoph Oelckers
476dd138c9 - renamed several of RR's sprites, mostly related to the chicken processing plant. 2022-11-20 21:22:04 +01:00
Christoph Oelckers
a76d166966 - scriptified tongue actor.
This seems to be develpment garbage. No proper sprites exist for this.
2022-11-20 20:40:46 +01:00
Christoph Oelckers
5528725985 - got rid of deletesprite, plus one new flag. 2022-11-20 19:25:23 +01:00
Christoph Oelckers
65a5e5e29a - unlimized two map resources - cyclers and ambient tags. 2022-11-20 14:13:11 +01:00
Christoph Oelckers
b069904be1 - scriptified the remaining controller sprites. 2022-11-20 13:57:51 +01:00
Christoph Oelckers
cb005062cd - scriptified activators and locators. 2022-11-20 12:43:24 +01:00
Christoph Oelckers
9fa2fb75cf - scriptified the respawn controller.
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
31b1898c30 - deleted movecanwithsomething native function.
This was already scriptified.
2022-11-20 08:52:58 +01:00
Christoph Oelckers
d44b637f1b - fixed touchplate initialization
This was still using older code - the current native version was also not removed from the spawn function.
2022-11-20 08:51:09 +01:00
Christoph Oelckers
f515939fde - scriptified the sound controller. 2022-11-20 08:46:49 +01:00
Christoph Oelckers
714a2ef70e - scriptified canwithsomething, the last internal STAT_STANDABLE item. 2022-11-19 19:01:17 +01:00
Christoph Oelckers
c6b3cf3e0a - Duke: fixed long standing problem that pressing Escape or walking backwards does not switch off the camera view. 2022-11-19 18:26:17 +01:00
Christoph Oelckers
dee33ba4dd - scriptified viewscreen and camera. 2022-11-19 17:35:04 +01:00
Christoph Oelckers
046ba1ae0c - scriptified touchplate 2022-11-19 15:40:35 +01:00
Christoph Oelckers
63a8c3148c - scriptified doorshock 2022-11-19 15:40:21 +01:00
Christoph Oelckers
15cd80cad3 - scriptified the waterdrip 2022-11-19 15:40:09 +01:00
Christoph Oelckers
11acb92553 - scriptified the bolts. 2022-11-19 12:54:50 +01:00
Christoph Oelckers
676ca73983 - scriptified the trash actor. 2022-11-19 12:54:15 +01:00
Christoph Oelckers
9cf6f5dabc - fixed handling of actor defaults.
Order of application with map sprites was not correct.
This also simplifies how the defaults are stored - the separate data is gone, they now use the regular defaults.
2022-11-19 11:24:47 +01:00
Christoph Oelckers
5ae7011e41 - converted the masterswitch. 2022-11-19 11:24:39 +01:00
Christoph Oelckers
b106fb693a - scriptified OozFilter + Seenine
Also fixing the default handling for onHit.
2022-11-17 21:46:24 +01:00
Christoph Oelckers
26ba1f601e - scriptified the fire extinguisher. 2022-11-17 20:19:22 +01:00
Christoph Oelckers
f9826241ef - scriptied the cracks. 2022-11-17 20:18:46 +01:00
Christoph Oelckers
8ce358fc24 - scriptified the trip bombs. 2022-11-17 18:38:25 +01:00
Christoph Oelckers
c69e86d119 - Blood: unlimited the tracking conditions. 2022-11-16 11:55:41 +01:00
Christoph Oelckers
ef54579104 - Blood: updated nnexts with the parts not related to the condition rewrite. 2022-11-16 11:14:31 +01:00
Christoph Oelckers
e776e76ebf - Blood: applied all changes outside of nnexts.cpp from the latest modern update. 2022-11-16 07:53:21 +01:00
Christoph Oelckers
42e02d2956 - eliminated firstWall as well. 2022-11-15 15:44:33 +01:00
Christoph Oelckers
5798fa067f - cleaned up all -> accesses through firstWall(). 2022-11-15 15:33:35 +01:00
Christoph Oelckers
af60408e63 - sector wall access cleanup.
lastWall was only used twice and firstWall() + index can be done better now.
2022-11-15 15:31:52 +01:00
Christoph Oelckers
7d9a4ea70d - eliminated wallsofsector. 2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53 - eliminate wall_count. 2022-11-15 14:59:28 +01:00
Christoph Oelckers
bfae5ce1bc - use a TArrayView to store the wall references in a sector.
This is a lot more scripting friendly than hacking around the indices.
2022-11-15 14:53:39 +01:00
Christoph Oelckers
34333302f9 - wrapped all reading wallptr references. 2022-11-15 12:37:14 +01:00
Christoph Oelckers
c23db8ea35 - wrapped all reads of sectortype::wallnum and renamed all other wallnum variables. 2022-11-15 12:21:21 +01:00
Christoph Oelckers
b7a7584059 - renamed wallnum and sectnum functions.
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +01:00
Christoph Oelckers
a2683559ce - refactored Duke's cactus. 2022-11-15 10:44:06 +01:00
Christoph Oelckers
ad7cf290d2 - restricted use of gs.firstdebris to the only place where it is really needed.
Also no script export for this, it is only needed for converting CON parameters to propr indices.
2022-11-15 08:28:05 +01:00
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
f7a2fd29ba - Blood: fixed incorrect underwater movement speed
The 'posture == 1' case has gotten lost while consolidating the redundant code.
2022-11-12 10:19:15 +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
cfb9ebf8e5 - fixed bad velocity assignment in DoLaser, causing an endless loop. 2022-11-10 10:00:44 +01: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
e88b24bce7 - SW: fixed clipdist for brown rippers. 2022-11-09 20:16:47 +01:00
Christoph Oelckers
d2f0981091 - SW: fixed distance check in DoGet. 2022-11-09 19:03:23 +01:00
Christoph Oelckers
870801b8ac - SW: explicitly initialize sector object turn angle values.
The integer code relied on the memset to -1, but with floats that sets it to -NaN.
2022-11-09 18:35:03 +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
Christoph Oelckers
fd1864bb48 - fixed bad iterator setup in SpriteSetupPost 2022-11-07 13:48:01 +01:00
Christoph Oelckers
3444991e4e - fixed VSpriteBusy coordinate adjustment. 2022-11-07 10:31:10 +01:00
Mitchell Richters
d892fa10d2 - SW: Fix ladder speed with unnecessary amplification applied.
* Fixes #745.
2022-11-07 20:23:14 +11:00
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
143f691c06 - SW: Try to fix up the camera drawing a bit.
* Slight pitch adjustment, plus factoring in that values of 0 constituted 100 under original game.
* View screens in game are not actually 1:1 AR but 1.12:1
2022-11-06 21:59:07 +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
99753fd03a - fixed bad scaling factor in girlninj.cpp. 2022-11-04 18:18:23 +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
2fbee8faf5 - Exhumed alt hud. 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
ff71ab14ce - added a GZDoom-style alternative HUD.
So far only implemented for Blood.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
f4c8ac0140 - made AnimSet's vel parameter an actual double.
This does not affect any outcome, it just avoids pointless type conversions.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
4ac3820511 - deleted two unused local variables. 2022-10-30 16:51:36 +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
Christoph Oelckers
5a045a6232 - deleted deprecated zrand variant 2022-10-30 16:51:35 +01:00
Christoph Oelckers
0c8a76dc9c - use ActorVect… functions in a few more places 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
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
Christoph Oelckers
e5efb5c15f - fixed seeker missile aiming
merge to "floatified VectorMissileSeek"
2022-10-30 16:51:34 +01:00
Christoph Oelckers
c159953ac6 - use normalangle(). 2022-10-30 16:51:33 +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
da523eb8e3 - unwrapped vector SetScale. 2022-10-30 16:51:32 +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
4aa765675e - use a float vector to store the scale. 2022-10-30 16:51:31 +01:00
Christoph Oelckers
2df12e7961 - these are the final repeats 2022-10-30 16:51:31 +01:00
Christoph Oelckers
854c42e4ca - handle all remaining repeat constants. 2022-10-30 16:51:31 +01:00
Christoph Oelckers
42b36d97b9 - half of the remainint repeats in weapon.cpp. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
391b8ffc34 - batch of repeats in weapons.cpp 2022-10-30 16:51:30 +01:00
Christoph Oelckers
0e8594628e - did the messier parts of weapon.cpp's repeats. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
ce0a40320c - handle all 'notreallypos' places. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
8a455aa09b - all remaining repeats outside weapon.cpp plus a few more. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
60782efd01 - some odd repeats. 2022-10-30 16:51:29 +01:00
Christoph Oelckers
33aed76977 - random scale stuff in jweapon.cpp 2022-10-30 16:51:29 +01:00
Christoph Oelckers
8cb40291f2 - lots of repeat literals in SW 2022-10-30 16:51:29 +01:00
Christoph Oelckers
8ede08ce69 - mostly coolie related scaling factors. 2022-10-30 16:51:29 +01:00
Christoph Oelckers
abf5c9feee - all repeats in SW’s draw code 2022-10-30 16:51:29 +01:00
Christoph Oelckers
509d56d042 - handle bunny scaling in SW 2022-10-30 16:51:29 +01:00
Christoph Oelckers
2ceb41fcf4 - BuildAnim in Exhumed 2022-10-30 16:51:28 +01:00
Christoph Oelckers
f30a76dfc9 - BuildAnim wrapper 2022-10-30 16:51:28 +01:00
Christoph Oelckers
43b8f92f91 - all of Exhumed except BuildAnim 2022-10-30 16:51:28 +01:00
Christoph Oelckers
62427f8260 - handle xrepeat abuse in Exhumed’s energy blocks 2022-10-30 16:51:28 +01:00
Christoph Oelckers
42679d58bb - lots of repeats in Exhumed 2022-10-30 16:51:28 +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
ffc16635b2 - Blood: Make bobPhase a proper float. 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
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
1085752e01 - added more Scale wrappers to spritetype. 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
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
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
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
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
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
35fbc634de - silence some warnings 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
e80c32cfd4 - handle magic clipdist values 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
84dfe98f17 - replaced all set_native_clipdist in Blood 2022-10-30 16:51:16 +01:00
Christoph Oelckers
ed5b35453a - ';;' cleanup 2022-10-30 16:51:15 +01:00
Christoph Oelckers
7ed45d713a - refactor all oclipdist uses 2022-10-30 16:51:15 +01:00
Christoph Oelckers
d22c473c31 - manual set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
48fda0cafd - second batch of 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
88dcc37e94 - got rid of the wrappers for the SO angles. 2022-10-30 16:51:13 +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
215fc7d407 - SW: Optimise DoPlayerDeathHoriz() a bit. 2022-10-30 16:51:12 +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
Christoph Oelckers
a928a99328 - adjusted Exhumed's gun code to the horizon sign flip 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
a6b55dca74 - removed handling for Exhumed clipping mode.
All this does is disable slopes in a few places and use extremely less precise math. Nothing critical is guarded by it.
2022-10-30 16:51:10 +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
Christoph Oelckers
679e029c6d - do not save randomseed twice. 2022-10-30 16:51:09 +01:00
Christoph Oelckers
4af1461ec3 - got rid of int_clipdist. 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
f45acdc2a8 - floatified two SOP clipdist variables 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
9257fe0078 - fixed clipmove factors. 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
75047b6ad5 - Eliminate MulScaleF(). 2022-10-27 16:55:52 +02:00
Mitchell Richters
d15e1017bd - Exhumed: Restore original tangent-based slope tilting code.
* Pitch-based version just doesn't work, and hasn't since it was changed to pitch before the fixedhoriz > DAngle changeover.
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
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
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
Mitchell Richters
9dd27ee3a2 - Remove old integer dragpoint() interface that was used by floats in lots of places.
* Cannot wait until all the narrowing warnings can be re-enabled...
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
3c3b602989 - made getzrangepoint slope sprite aware. 2022-10-25 07:07:13 +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
Christoph Oelckers
b2bf137d72 - floatified UpdateAimVector
the biggest mess of all.
2022-10-25 07:07:09 +02:00
Christoph Oelckers
a843c0bdb6 - removed some unnecessary factors. 2022-10-25 07:07:09 +02:00
Christoph Oelckers
8ac5884232 - the first HitScan_ variant is gone. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
fcc0d3bfea - deprecating HitScan_. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
702553d65e - floatified HitScan call in nnextCanMove. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
7f5ae54f93 - 3x use proper HitScan call. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
e793b878c1 3 HitScan fixes 2022-10-25 07:07:08 +02:00
Christoph Oelckers
b7c63e08ec - floatified DoSectorPanning 2022-10-25 07:07:08 +02:00
Christoph Oelckers
580bbccdf5 - handle angles in voodooTarget 2022-10-25 07:07:08 +02:00
Christoph Oelckers
56429ebbba - floatified MGunFireSeqCallback 2022-10-25 07:07:08 +02:00
Christoph Oelckers
32ed2dd596 - some trivial things. 2022-10-25 07:07:08 +02:00
Christoph Oelckers
0577b678d2 - all of int_ang in aizombf.cpp
Note that the z-offset in ThrowSeqCallback was not correct - eyeHeight is in pixels, but this was passed as a Build-z-parameter which is scaled by 256, effectively rendering the offset almost ineffective.
2022-10-25 07:07:07 +02:00
Christoph Oelckers
e4f8178947 - all int_ang() in aiunicult.cpp 2022-10-25 07:07:07 +02:00
Christoph Oelckers
049220239c - get rid of vel wrappers for nnext conditions.
The fixed point conversion here is unavoidable, so make it explcit.
2022-10-25 07:07:07 +02:00
Christoph Oelckers
5dc2d467ee - the last remaining approxDist calls in nnexts. 2022-10-25 07:07:07 +02:00
Christoph Oelckers
cf2d29e921 - floatified aiFightGetFineTargetDist 2022-10-25 07:07:07 +02:00
Christoph Oelckers
139f68c804 - deleted unused GetDistToLine 2022-10-25 07:07:07 +02:00
Christoph Oelckers
2692684e73 - floatified distance checks in unicultThinkChase 2022-10-25 07:07:07 +02:00
Christoph Oelckers
2eb068e4a6 - deleted unused CheckProximityPoint and cleaned up earthquake calculations. 2022-10-25 07:07:07 +02:00
Christoph Oelckers
d99ed7676b - reroute player firing functions directly to the floating point variants of the actor versions. 2022-10-25 07:07:06 +02:00
Christoph Oelckers
607f119bad - floatified aiPatrolAlarmFull 2022-10-25 07:07:06 +02:00
Christoph Oelckers
99da5d78ab - floatified GetZRangeAtXYZ 2022-10-25 07:07:06 +02:00
Christoph Oelckers
9b9116986b - removed redundant function call. 2022-10-25 07:07:06 +02:00
Christoph Oelckers
6e03f87671 - floatified GetZRange 2022-10-25 07:07:06 +02:00
Christoph Oelckers
60e9e4d93a - floatified EnemyBubble 2022-10-25 07:07:06 +02:00
Christoph Oelckers
caf6dacbb5 - floatified PlayerBubble 2022-10-25 07:07:06 +02:00
Christoph Oelckers
a63527c892 - floatified fxDynPuff 2022-10-25 07:07:06 +02:00
Christoph Oelckers
24f4e1894c - floatified fxFlameLick 2022-10-25 07:07:05 +02:00
Christoph Oelckers
d349eabcbc - floatified dudeLeechOperate 2022-10-25 07:07:05 +02:00
Christoph Oelckers
e54719e6f5 - floatified coordinate stuff in ThrowThing 2022-10-25 07:07:05 +02:00
Christoph Oelckers
e8718826ba - renamed Heardist to HearDist.
This had to wait until the variable was refactored out.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
94403684b2 - changed 2 seeDist references to the SeeDist() wrapper.
Although not necessary this makes it easier later to refactor DUDEINFO.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
f0dc95597b - deleted several unused wrappers and overloads. 2022-10-25 07:07:05 +02:00
Christoph Oelckers
9cd5766cd0 - deleted unused GetWallAngle function and comment cleanup 2022-10-25 07:07:05 +02:00
Christoph Oelckers
89cdd17cc2 - floatified PukeSeqCallback 2022-10-25 07:07:05 +02:00
Christoph Oelckers
8dd646a24f - floatified HackSeqCallback 2022-10-25 07:07:04 +02:00
Christoph Oelckers
8edd0530cb - renamed two functions. 2022-10-25 07:07:04 +02:00
Christoph Oelckers
7ae1d6fdc1 - floatified another Tchernobog callback. 2022-10-25 07:07:04 +02:00
Christoph Oelckers
65d696c2bb - floatified sub_71BD4 2022-10-25 07:07:04 +02:00
Christoph Oelckers
dcde92d629 - floatified cerberusThinkGoto 2022-10-25 07:07:04 +02:00
Christoph Oelckers
8c00af40d0 - eliminated the last set_int_bvel call in fxZombieBloodSpurt 2022-10-25 07:07:04 +02:00
Christoph Oelckers
d213f7c92f - floatified useUniMissileGen 2022-10-25 07:07:04 +02:00
Christoph Oelckers
0999ffd5c0 - floatified fxSpawnEjectingBrass/Shell and got rid of the inlines. 2022-10-25 07:07:03 +02:00
Christoph Oelckers
ee255b533d - floatified SpidBirthSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
4376bd6581 - floatified SpidBiteSeqCallback and SpidJumpSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
3abd6aa996 - floatified ratBiteSeqCallback 2022-10-25 07:07:03 +02:00
Christoph Oelckers
c58e0d84ad - floatified podAttack 2022-10-25 07:07:03 +02:00
Christoph Oelckers
c2fbbfbefe - floatified the remaining parts of aihound.cpp. 2022-10-25 07:07:03 +02:00
Christoph Oelckers
0a2274a41d - the remaining bits in aigilbst.cpp 2022-10-25 07:07:03 +02:00
Mitchell Richters
bb6e12a2b1 - Eliminate remaining calls to TAngle<T>::fromBuildf(). 2022-10-25 07:07:03 +02:00
Christoph Oelckers
b7afaf3ed5 - floatified most of aiPatrolSearchTargets 2022-10-25 07:07:02 +02:00
Christoph Oelckers
769565997f - floatified zombfThinkChase 2022-10-25 07:07:02 +02:00
Christoph Oelckers
5ba2eb4f64 - floatified myThinkTarget 2022-10-25 07:07:02 +02:00
Christoph Oelckers
211c77138b - floatified most of unicultThinkChase 2022-10-25 07:07:02 +02:00
Christoph Oelckers
8382f12af2 - floatified sub_725A4 2022-10-25 07:07:02 +02:00
Christoph Oelckers
2620a8f644 - floatified ratThinkChase 2022-10-25 07:07:02 +02:00
Christoph Oelckers
edf6c69159 - floatified gillThinkChase 2022-10-25 07:07:02 +02:00
Christoph Oelckers
523400772e - floatified zombaThinkChase and zombaThinkPonder 2022-10-25 07:07:01 +02:00
Christoph Oelckers
4388401e6e - floatified unicultThinkGoto 2022-10-25 07:07:01 +02:00
Christoph Oelckers
6b72414038 - floatified tchernobogThinkChase 2022-10-25 07:07:01 +02:00
Christoph Oelckers
0385897be4 - floatified spidThinkChase 2022-10-25 07:07:01 +02:00
Christoph Oelckers
9586a2f16d - floatified aiPodChase 2022-10-25 07:07:01 +02:00
Christoph Oelckers
6b6ab4e81e - floatified innocThinkChase. 2022-10-25 07:07:01 +02:00
Christoph Oelckers
648ff00caf - floatified houndThinkChase. 2022-10-25 07:07:01 +02:00
Christoph Oelckers
71c1840566 - floatified handThinkChase 2022-10-25 07:07:01 +02:00
Christoph Oelckers
21afef19e9 - floatified gillBeastSwimChase. 2022-10-25 07:07:00 +02:00
Christoph Oelckers
5d78c81acb - 11x replacing the same pattern. 2022-10-25 07:07:00 +02:00
Christoph Oelckers
e3cc9879eb - floatified ghostThinkGoto 2022-10-25 07:07:00 +02:00
Christoph Oelckers
d3e8db8861 - floatified ghostThinkTarget 2022-10-25 07:07:00 +02:00
Christoph Oelckers
babb45318f - floatified ghostBlastSeqCallback 2022-10-25 07:07:00 +02:00
Christoph Oelckers
491c5628ff - floatified ghostThrowSeqCallback 2022-10-25 07:07:00 +02:00
Christoph Oelckers
fbf49bc247 - floatified ghostSlashSeqCallback 2022-10-25 07:07:00 +02:00
Christoph Oelckers
81456e4d33 - floatified wave parameters for TranslateSector 2022-10-25 07:06:59 +02:00
Christoph Oelckers
12bfd830c9 - removed the wrappers. 2022-10-25 07:06:59 +02:00
Christoph Oelckers
4eeeb00c1b - floatified VDoorBusy 2022-10-25 07:06:59 +02:00
Christoph Oelckers
55dea1d348 - floatified VSpriteBusy 2022-10-25 07:06:59 +02:00
Christoph Oelckers
d96c7c64c7 - floatified VCrushBusy 2022-10-25 07:06:59 +02:00
Christoph Oelckers
b9f192d6ee - floatified plane stuff in ZTranslateSector 2022-10-25 07:06:59 +02:00
Christoph Oelckers
23f2e5a7b2 - use floats for floor/ceiling conditions. 2022-10-25 07:06:59 +02:00
Christoph Oelckers
3b88f7db3e - floatified the variables. 2022-10-25 07:06:58 +02:00
Christoph Oelckers
4114f21323 - added wrapper function for these variables. 2022-10-25 07:06:58 +02:00
Christoph Oelckers
6dbb5a0b8c - renamed 4 fields in XSECTOR 2022-10-25 07:06:58 +02:00
Christoph Oelckers
9c698c6044 - 3 minor changes. 2022-10-25 07:06:58 +02:00
Christoph Oelckers
89cfb87072 - floatified 2 functions in aigarg.cpp 2022-10-25 07:06:58 +02:00
Christoph Oelckers
9d19b61cf9 - 4 functions in aicult.cpp 2022-10-25 07:06:58 +02:00
Christoph Oelckers
64619478fa - floatified 2 functions in aicaleb.cpp 2022-10-25 07:06:58 +02:00
Christoph Oelckers
1c23a2aa32 - floatified SeqAttackCallback 2022-10-25 07:06:58 +02:00
Christoph Oelckers
37ca106417 - floatified gargThinkTarget 2022-10-25 07:06:58 +02:00
Christoph Oelckers
8d18c005de - floatified ThrowSSeqCallback 2022-10-25 07:06:57 +02:00
Christoph Oelckers
a7b23fe9ea - floatified BlastSSeqCallback 2022-10-25 07:06:57 +02:00
Christoph Oelckers
8b2ddfadf6 - restore code as it was, buggy as it may be. 2022-10-25 07:06:57 +02:00
Christoph Oelckers
0399cf17fe - floatified cerberusBurnSeqCallback2 2022-10-25 07:06:57 +02:00
Christoph Oelckers
6c77d1d5d3 - floatified cerberusBiteSeqCallback 2022-10-25 07:06:57 +02:00
Christoph Oelckers
ca1e9efbea - 2 functions in aicaleb.cpp. 2022-10-25 07:06:57 +02:00
Christoph Oelckers
5e2e53d684 - more CanMove fixes, plus salvaging the rest of the old commit.
CanMove twice uses the texel-based nRange as a Build-unit value, this caused strange problems with the initial floatification.
2022-10-25 07:06:57 +02:00
Christoph Oelckers
138ba53ace - fix the HitScan call in CanMove.
This was picking an unexpected overload because the second parameter was a float but with an integer-range value.
2022-10-25 07:06:57 +02:00
Mitchell Richters
180d020620 - Blood: Floatified CanMove(). 2022-10-25 07:06:56 +02:00
Christoph Oelckers
2af18ec277 - remap all easy HitScan calls with zero range to the new base function. 2022-10-25 07:06:56 +02:00
Christoph Oelckers
6b579156aa - Blood HitScan fixes
- changed target parameter of hitscan to a double to simplify its handling.
- HitScan's nRange parameter may be an int, but it is in texel units, not Build units.
2022-10-25 07:06:56 +02:00
Christoph Oelckers
1d8dccca04 - floatified HitScan and use a proper vector calculation for hitscangoal.
This should be on the trace, not use a totally different direction.
2022-10-25 07:06:56 +02:00
Christoph Oelckers
a4ec938526 - renamed HitScan to HitScan_ as a refactoring aid. 2022-10-25 07:06:56 +02:00
Christoph Oelckers
049ced83f6 - floatified cerberusBurnSeqCallback 2022-10-25 07:06:56 +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
a952c35669 - SW: Convert DoPlayerDeathHoriz() to work on pitch and remove now-unused buildhoriz(). 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
06a9a7b1a7 - SW: Change all weapon recoils to work on pitch. 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
Mitchell Richters
f6f88f587d - SW: Consolidate random range applied to weapon vel.Z into an inline. 2022-10-25 07:06:53 +02:00
Mitchell Richters
d00108b9cf - Blood: Repair life leach turret mode where target's position and not velocity was used. 2022-10-25 07:06:52 +02:00
Mitchell Richters
ef4b72d18e - Blood: Floatify LifeLeechOperate().
* These divscales hurt my soul...
2022-10-25 07:06:52 +02:00
Christoph Oelckers
1255fda4c1 - two more functions in aibeast.cpp.
Note that the eyeHeight adjustment was removed because it was applied incorrectly and essentially non-functional.
eyeHeight is in world coordinates but was used as if it was Q24.8, resulting in a value too small to be significant.
2022-10-25 07:06:52 +02:00
Christoph Oelckers
e9fc0d09a9 - renaming things in StompSeqCallback 2022-10-25 07:06:52 +02:00
Christoph Oelckers
0ed4b8b01a - Blood: floatified SlashSeqCallback 2022-10-25 07:06:52 +02:00
Christoph Oelckers
c1da02de8a - Blood: floatified calebThinkSwimChase 2022-10-25 07:06:52 +02:00
Christoph Oelckers
c85a95ca03 - Blood: floatified cultThinkChase
Welcome to spaghetti-land, this is one 400 line monstrosity. :(
2022-10-25 07:06:52 +02:00
Christoph Oelckers
3055a1e5a7 - Blood: renamed functions and floatified cultThrowSeqCallback3 2022-10-25 07:06:52 +02:00
Christoph Oelckers
fd7c47ce2b - Blood: floatified cultThrowSeqCallback 2022-10-25 07:06:51 +02:00
Christoph Oelckers
c1e0e04016 - Blood: floatified cerberusThinkChase 2022-10-25 07:06:51 +02:00
Christoph Oelckers
79d17dc645 - floatified cerberusThinkTarget 2022-10-25 07:06:51 +02:00
Christoph Oelckers
d3c3363e92 - Blood: floatified calebThinkChase 2022-10-25 07:06:51 +02:00
Christoph Oelckers
9394691601 - Blood: floatified burnThinkGoto 2022-10-25 07:06:51 +02:00
Christoph Oelckers
3c2239533b - Blood: floatified burnThinkChase 2022-10-25 07:06:51 +02:00
Christoph Oelckers
f2f74fc239 - Blood: floatified eelThinkChase 2022-10-25 07:06:51 +02:00
Christoph Oelckers
beefa700b7 - Blood: floatified eelThinkPonder 2022-10-25 07:06:51 +02:00
Christoph Oelckers
0672a1a958 - replaced mapangle(85) with DAngle15. 2022-10-25 07:06:50 +02:00
Christoph Oelckers
2c46d66c1e - Blood: floatified beastThinkChase 2022-10-25 07:06:50 +02:00
Christoph Oelckers
105e20a32d - eliminated lots of approxDist calls.
Only the really simple ones.
2022-10-25 07:06:50 +02:00
Christoph Oelckers
dcfac1c930 - handle a few nAccel values that do not match the generic pattern 2022-10-25 07:06:50 +02:00
Christoph Oelckers
9927d5e25d - always use FrontSpeed() access function for nAccel.
This gets rid of a large amount of FixedToFloat calls.
2022-10-25 07:06:50 +02:00
Christoph Oelckers
8b96a93e80 - turned TurnRange calculation into a subfunction.
This formula was used in 36 places
2022-10-25 07:06:50 +02:00
Christoph Oelckers
e309d05161 - use literal constant for this. 2022-10-25 07:06:50 +02:00
Christoph Oelckers
6a0b552352 - floatified first half of aibat.cpp.
Note: The scale factor for actFireVector calls with XY set per ToVector is 64. The vector being passed to it uses the same scale for Z as for XY.
This means that XY is 1/16384 of the fixed point vector and Z is 1/256, meaning the scale for XY must be 64x higher.
2022-10-25 07:06:50 +02:00
Christoph Oelckers
ca58e3fc6b - the rest of ai.cpp. 2022-10-25 07:06:49 +02:00
Christoph Oelckers
48cadbd392 remaining floatification on aiLookForTarget 2022-10-25 07:06:49 +02:00
Christoph Oelckers
fafb4cfc29 - remaining floatification on aiThinkTarget 2022-10-25 07:06:49 +02:00
Christoph Oelckers
298d029d55 - found one last place where an integer wrapper was called in actor.cpp 2022-10-25 07:06:49 +02:00
Christoph Oelckers
6c98a07a60 - elininated the actSpawnThing wrapper. 2022-10-25 07:06:49 +02:00
Christoph Oelckers
f7fe24b19e - some remaining cleanup on actor.cpp 2022-10-25 07:06:49 +02:00
Christoph Oelckers
b0160bb87c - removed the int vector in actCheckExplosion. 2022-10-25 07:06:49 +02:00
Christoph Oelckers
080d6969ec - Blood: floatified some smaller parts in actor.cpp 2022-10-25 07:06:49 +02:00
Christoph Oelckers
b29000c9e1 - this wasn't really a fixed point value - just some scaling factor, so it shouldn't use FixedToFloat. 2022-10-25 07:06:48 +02:00
Christoph Oelckers
0ef9527209 - eliminated the last uses of int_hitpos. 2022-10-25 07:06:48 +02:00
Christoph Oelckers
a655b3835f - like actFireVector, the direction vector needs to have unit length in 2D for actFireMissile as well.
May later be turned into a 3D unit vector for pitch correct missile movement.
2022-10-25 07:06:48 +02:00
Christoph Oelckers
5e4d45f6b8 - floatified actFireMissile 2022-10-25 07:06:48 +02:00
Christoph Oelckers
a070342f0c - floatified actFireThing 2022-10-25 07:06:48 +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
f9d8763ed5 - Exhumed: fixed wasp's death animation 2022-10-24 20:56:41 +02:00
Christoph Oelckers
c2e5bdbdce - Exhumed: fixed grenade bouncing. 2022-10-24 20:41:15 +02:00
Christoph Oelckers
5fa27c2a72 - replaced the last set_int_ang calls. 2022-10-23 18:47:17 +02:00
Christoph Oelckers
4500fe6325 - Blood: replaced all calls to randomAngle with RandomAngle 2022-10-23 18:47:17 +02:00
Christoph Oelckers
a8cc6c1189 - floatified angles in useSectorWindGen plus two other set_int_ang. 2022-10-23 18:47:17 +02:00
Christoph Oelckers
a618161387 - floatified nnExtSpawnDude. 2022-10-23 18:47:16 +02:00
Christoph Oelckers
8505757d74 - floatified most of ProcessMotion. 2022-10-23 18:47:16 +02:00
Christoph Oelckers
a90eb853d5 - floatified fxBouncingSleeve and fxPodBloodSplat 2022-10-23 18:47:16 +02:00
Christoph Oelckers
e2d0cbf772 - allow entering cheats in the chat editor without using '#'. 2022-10-23 18:46:18 +02:00
Christoph Oelckers
c23d23ea60 - Blood: floatified fxBloodBits 2022-10-22 20:41:27 +02:00
Christoph Oelckers
fdb31fc2cc - missing declaration. 2022-10-22 20:41:27 +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
babbad83af - fixed FAFhitscan to not pass the hitpos back into hitscan.
This will overwrite the scan's start and cause the function to malfunction.
2022-10-22 20:41:27 +02:00
Christoph Oelckers
116ba340b2 - further hitscan overhaul.
* added floating point sprite intersect handlers for all sprite types. Hopefully this code is more understandable than Build's original variant.
* cleaned up intersectSprite a bit and moved the geometry math into the utility header.
* made some minor corrections to neartag.
* moved SW's testpointinquad to the backend because it was useful here.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
6c6fdaf332 - floatified actSpawnDude and removed its unused last parameter.
All callers left it at 0.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
aa0b6bb077 - changed parameters in a few HitScan calls in condCheckSprite 2022-10-22 20:41:26 +02:00
Christoph Oelckers
fc011e847f - Blood: floatified actCheckTraps 2022-10-22 20:41:26 +02:00
Christoph Oelckers
8d1938b363 - Blood: cleaned up various angle and distance checks in AI code 2022-10-22 20:41:26 +02:00
Christoph Oelckers
e6cfb165f8 - converted all remaining add_int_bvel* calls. 2022-10-22 20:41:26 +02:00
Christoph Oelckers
068feae64e - floatified actFireVector. 2022-10-22 20:41:25 +02:00
Christoph Oelckers
5c6cac49c8 - changed a few vel setter calls. 2022-10-22 20:41:25 +02:00
Christoph Oelckers
e00eda6cb8 - Blood: floatified VectorScan.
The texture checks in here definitely need some more verification, though.
Doing a quick test looked ok, but I do not think this was enough.
2022-10-22 20:41:25 +02:00
Christoph Oelckers
3b76de7b7d - Blood: renamed actFireVector's arguments.
No way this can be refactored with names like a2, a3, a4 etc...
2022-10-22 20:41:25 +02:00
Christoph Oelckers
d1d68f1570 - handled the last remaining set_int_bvel* calls in nnexts.cpp. 2022-10-22 20:41:25 +02:00
Christoph Oelckers
88feac4272 - floatified useVelocityChanger 2022-10-22 20:41:25 +02:00
Christoph Oelckers
044b9e555b - floatified a bit more of nnExtProcessSuperSprites 2022-10-22 20:41:25 +02:00
Christoph Oelckers
fd5bbbedaf - floatified aiPatrolMove 2022-10-22 20:40:42 +02:00
Mitchell Richters
0993799967 - Blood: Use sprite angle radians in GameInterface::UpdateSounds(). 2022-10-22 19:45:10 +02:00
Mitchell Richters
633fb01487 - Blood: Rename some weapon function variables to give us half a chance of refactoring it. 2022-10-22 19:45:10 +02:00
Mitchell Richters
cea0e74299 - Blood: Floatified remaining bits of playerProcess(). 2022-10-22 19:45:10 +02:00
Mitchell Richters
32c784cd0f - Blood: Floatified remaining bits of ProcessInput(). 2022-10-22 19:45:10 +02:00
Christoph Oelckers
781c2492a9 - Blood: floatified aiFightDudeCanSeeTarget + aiPatrolMarkerReached 2022-10-22 19:45:10 +02:00
Christoph Oelckers
ead39cb010 - Blood: floatified parts of condCheckDude 2022-10-22 19:45:09 +02:00
Christoph Oelckers
92f958ded0 - Blood: floatified debrisBubble 2022-10-22 19:45:09 +02:00
Christoph Oelckers
39d100c970 - Blood: floatified debrisConcuss 2022-10-22 19:45:09 +02:00
Christoph Oelckers
549f062973 - Blood: floatified windGenDoVerticalWind 2022-10-22 19:45:09 +02:00
Mitchell Richters
ef03e64025 - Blood: Floatified ActionScan(). 2022-10-22 12:17:04 +02:00
Mitchell Richters
b8b5fe9162 - Blood: Floatified playerStart() and ZONE::ang. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
243c071834 - got rid of bsinf and bcosf. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
6dd7fac902 - eliminated the sine table and moved tilehasmodelorvoxel to a different file to delete engine.cpp. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
ef2f781e09 - rewrite from scratch of neartag. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
600648939a - removed some unnecessary distance checks.
These are the same as the specified max distance and redundant.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
aae468e2b2 - migrated all of SW's neartag calls to the fully floatified version 2022-10-22 12:17:03 +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
Mitchell Richters
2e4996e8fc - floatified nnextCanMove and deleted most deprecated updatesector variants. 2022-10-22 12:17:02 +02:00
Christoph Oelckers
c5a5e3cef5 - deleted some unused deprecated functions. 2022-10-22 12:17:01 +02:00
Christoph Oelckers
9b84a510da - Blood: floatified debrisMove 2022-10-22 12:17:01 +02:00
Christoph Oelckers
d9453138f9 - fixed FAFcansee not working in some edge cases where one actor is very small and poorly placed.
Instead of directly going to the alternative, let's just do a regular cansee anyway and only run the fallback if this fails. hitscan is not good enough to perform sight checks.
2022-10-22 12:17:01 +02:00
Mitchell Richters
ef3be6181e - Blood: Floatified GibThing(). 2022-10-22 12:17:01 +02:00
Mitchell Richters
2e202a022c - Blood: Floatified GibFX(). 2022-10-22 12:17:01 +02:00
Mitchell Richters
3d16b76c9a - Blood: Floatified ghostThinkChase(). 2022-10-22 12:17:01 +02:00
Mitchell Richters
8025682334 - Blood: Floatified gargThinkChase(). 2022-10-22 12:17:00 +02:00
Mitchell Richters
ad8fbc51de - Blood: Floatified batThinkChase(). 2022-10-22 12:17:00 +02:00
Christoph Oelckers
761412313f - did some trivial replacements for deprecated functions. 2022-10-22 12:17:00 +02:00
Christoph Oelckers
6a1ff029b7 - floatified getslopeval and all related code. 2022-10-22 12:17:00 +02:00
Christoph Oelckers
ece8663f5e - floatified calcSlope and cleaned up the get*slope interface 2022-10-22 12:17:00 +02:00
Mitchell Richters
930a78f7b2 - Use REPEAT_SCALE in a few more places. 2022-10-22 12:16:59 +02:00
Christoph Oelckers
8a40fbb020 - deleted ffloorZ. 2022-10-22 12:16:59 +02:00
Christoph Oelckers
84ce8b29f2 - handle another precision issue in MoveDude.
That mulscale16r function is broken enough to affect the values in an observable way that cannot be replicated with real floats.
2022-10-22 12:16:59 +02:00
Christoph Oelckers
c9bcfff654 - gross hack to simulate the original bad precision of Blood's ClipMove. 2022-10-22 12:16:59 +02:00
Mitchell Richters
b45c95eec5 - Blood: Floatify MoveDude() and fixed incorrect velocity check. 2022-10-22 12:16:59 +02:00
Mitchell Richters
4788e26596 - Blood: Floatify actAirDrag() and some associated XSECTOR members.
* Left `XSECTOR::windVel` as an integer type for now.
2022-10-22 12:16:59 +02:00
Mitchell Richters
7747205e03 - Blood: Some small wrapper replacements. 2022-10-22 12:16:59 +02:00
Mitchell Richters
448c52be74 - Blood: Clean up some rotatepoint() usage. 2022-10-22 12:16:59 +02:00
Mitchell Richters
9c67110722 - Blood: Floatify GetSpriteExtents(). 2022-10-22 12:16:59 +02:00
Mitchell Richters
f2be65777b - Blood: Floatify remaining gib interfaces. 2022-10-22 12:16:58 +02:00
Mitchell Richters
d92fda4312 - Blood: Floatify callbackUniMissileBurst(). 2022-10-22 12:16:58 +02:00
Mitchell Richters
3858e2cbd1 - Blood: Floatify FlareBurst(). 2022-10-22 12:16:58 +02:00
Mitchell Richters
216089130c - Blood: Floatify viewProcessSprites(). 2022-10-22 12:16:58 +02:00
Mitchell Richters
e5226c65a9 - Blood: Add DAngle overload for CFX::fxSpawnActor(). 2022-10-22 12:16:58 +02:00
Mitchell Richters
e124288b57 - Blood: Clean up actFloorBounceVector() floatification. 2022-10-22 12:16:58 +02:00
Mitchell Richters
8e851c8b00 - Blood: Initial pass at floatifying actFloorBounceVector().
* Direct translation of the original code.
2022-10-22 12:16:58 +02:00
Mitchell Richters
cdf45103ad - Blood: Floatify MoveThing(). 2022-10-22 12:16:58 +02:00
Mitchell Richters
56bc13e669 - Blood: Floatify vel math in checkCeilHit(). 2022-10-22 12:16:57 +02:00
Mitchell Richters
013158da07 - Blood: Floatify actKickObject(). 2022-10-22 12:16:57 +02:00
Mitchell Richters
6efe565f7c - Blood: Floatified vector addition in ConcussSprite(). 2022-10-22 12:16:57 +02:00
Christoph Oelckers
d7a93e140c - added format conversion helpers to DUDEINFO. 2022-10-22 12:16:57 +02:00
Christoph Oelckers
c44fd07f37 - floatified the portal displacement 2022-10-22 12:16:57 +02:00
Christoph Oelckers
fd4f04b5fd - eliminated fixed point GetSoundPos variants 2022-10-22 12:16:56 +02:00
Christoph Oelckers
375d346ae8 - pass a vector to the processSprites interface. 2022-10-22 12:16:56 +02:00
Christoph Oelckers
04e98f2f77 - avoid inflation of random functions. 2022-10-22 12:16:56 +02:00
Christoph Oelckers
85e4022f77 - foatified GibWall 2022-10-22 12:16:55 +02:00
Christoph Oelckers
49ae7c0c0f - floatified sound code in useSeqSpawnerGen 2022-10-22 12:16:55 +02:00
Christoph Oelckers
d03e890833 - fixed: The GC must mark the SprInSect actor lists 2022-10-22 12:16:55 +02:00
Christoph Oelckers
2b3b7f880f - floatified getSpritesNearWalls 2022-10-22 12:16:55 +02:00
Christoph Oelckers
60e242373c - floatified AlignSlopes 2022-10-22 12:16:55 +02:00
Christoph Oelckers
a3d1420426 - remove int wrappers from CheckProximityWall
As laid out in the comment, the function is broken and only kept for compatibility purposes. Therefore it may not be refactored in any way and should retain its incorrect and often overflowing int math. The wrappers are only a refactoring marker and have no place here.
2022-10-22 12:16:55 +02:00
Christoph Oelckers
e2954dd9d5 - floatified ceilIsTooLow 2022-10-22 12:16:55 +02:00
Christoph Oelckers
02aee7f8aa - floatification in genDudePrepare 2022-10-22 12:16:54 +02:00
Christoph Oelckers
aa909b843d - some identical set_int_bvel_z calls 2022-10-22 12:16:54 +02:00
Christoph Oelckers
7804e23ad0 - 8x set_int_ang 2022-10-22 12:16:54 +02:00
Christoph Oelckers
775ac0564c - convert one sound call 2022-10-22 12:16:54 +02:00
Christoph Oelckers
e682e1bd85 - the last one 2022-10-22 12:16:54 +02:00
Christoph Oelckers
8b260294ae - two more TranslateSector calls. 2022-10-22 12:16:54 +02:00
Christoph Oelckers
ec9272491e - second part of TranslateSector calls. 2022-10-22 12:16:54 +02:00
Christoph Oelckers
8eb4296a56 - floatified first part of TranslateSector calls. 2022-10-22 12:16:54 +02:00
Christoph Oelckers
0c43366a04 - added a TranslateSector wrapper using vectors 2022-10-22 12:16:54 +02:00
Mitchell Richters
a4be139ac7 - floatified CheckLink 2022-10-22 12:16:53 +02:00
Christoph Oelckers
05edd22f67 remove set_int_pos from TranslateSector 2022-10-22 12:16:53 +02:00
Christoph Oelckers
38558bbd39 - floatified most of CFX::fxProcess 2022-10-22 12:16:53 +02:00
Christoph Oelckers
de38eb4dab - add_int_pos in MoveDude 2022-10-22 12:16:53 +02:00
Christoph Oelckers
fb2c4efa2f - eliminated the last place where tspritetype’s add_int_z was used 2022-10-22 12:16:53 +02:00
Christoph Oelckers
25bc068032 - simple add_int_z stuff in nnexts.cpp 2022-10-22 12:16:53 +02:00
Christoph Oelckers
305bca68c0 - Z velocity in MoveMissile 2022-10-22 12:16:53 +02:00
Mitchell Richters
c76540664d - Blood: Fixed bad target angle setup in MoveMissile() where 90° counter-clockwise rotation was lost. 2022-10-22 12:16:52 +02:00
Christoph Oelckers
e1bcb4962e - cleaned up some function calls where passing a vector is doable 2022-10-22 12:16:52 +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
ca8b9e9793 - overhauled getzrangepoint to use backend utilities 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
ff25dc7ae5 - fixed AngleChase pitch calculation.
This had one variable replacement missing.
2022-10-21 23:57:49 +02:00
Christoph Oelckers
81a688ee75 - fixed bad z-scale relations in BuildBullet 2022-10-21 23:17:07 +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
Christoph Oelckers
6310b06118 - got rid of set_int_z in Blood. 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
Mitchell Richters
1eaab2f531 - Blood: Floatify POSTURE::xOffset and POSTURE::zOffset.
* POSTURE struct is now completely handled.
2022-10-20 00:48:09 +02:00
Mitchell Richters
6fa3e3fc23 - Blood: Swap around POSTURE::xOffset and POSTURE::zOffset given how they're used. 2022-10-20 00:48:09 +02:00
Mitchell Richters
3b5f4b9222 - Blood: Floatify POSTURE accel values. 2022-10-20 00:48:08 +02:00
Mitchell Richters
bbb0cf73f2 - Blood: Floatify POSTURE::normalJumpZ and POSTURE::pwupJumpZ. 2022-10-20 00:48:08 +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
ccbe472444 - added NULL check where it can crash when noclipping. 2022-10-19 18:25:43 +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
1553ec812d - magic carpet fixes for SW's $woods.map
* the track point code needs to retain the original distance function because in this case the difference can be critical as it interprets map data.
* two cases of bad vertical distance calculation due to unclear original code.
2022-10-19 17:49:19 +02:00
Christoph Oelckers
6e11a4317e - SW: fixed savegame pic generation corrupting the actor list.
This case missed the call to PostDraw which is responsible for cleaning up some temporary data.
2022-10-19 00:11:44 +02:00
Christoph Oelckers
0cef35c345 - SW: when an actor is killed, all attached ambient sounds must be deleted.
Not only did the sound not stop but what happened here was very much undefined behavior as the ambient sound retained its pointer to now undefined memory.
2022-10-19 00:05:35 +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
0a4ee4ac07 - Blood: Don't use degrees in the QAV drawer until hud_drawsprite() is uplifted. 2022-10-18 19:52:02 +02:00
Mitchell Richters
f56cb7de48 - Blood: Floatify QAV's x/y coordinates. 2022-10-18 19:52:02 +02:00
Mitchell Richters
b127c37939 - Blood: Floatify all the bobbing/swaying code. 2022-10-18 19:52:02 +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
f7fdbcaa59 - handle the only two occurences of add_int_ang in Blood. 2022-10-18 19:01:45 +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
0e1a566d62 - added mapangle function for converting angles from map data.
This is just a wrapper around DAngle::fromBuild, its purpose is to clearly highlight data that cannot be refactored and needs to be converted
2022-10-18 19:01:45 +02:00
Christoph Oelckers
fdeb060ccd - got rid of lPlayerVel 2022-10-18 19:01:45 +02:00
Christoph Oelckers
f16f9b302f - floatified player input velocity. 2022-10-18 19:01:45 +02:00
Christoph Oelckers
b14ab1bde3 - use a lower value range for the xy factor in movespritevel. 2022-10-18 19:01:45 +02:00
Christoph Oelckers
59950062b7 - removed useless utility function 2022-10-18 19:01:44 +02:00
Christoph Oelckers
42389133d3 - function separators.
Also removing some dead code.
2022-10-18 19:01:44 +02:00
Christoph Oelckers
e2a6353182 - eliminated AngleDiff. 2022-10-18 19:01:44 +02:00
Christoph Oelckers
e3e11300ac - floatify nPlayerD 2022-10-18 19:01:44 +02:00
Christoph Oelckers
3709b61fd1 - floatified PlotCourseToSprite's return 2022-10-18 18:55:22 +02:00
Christoph Oelckers
7b8b4a48f7 - floatified all of movesprite. 2022-10-18 18:34:30 +02:00
Christoph Oelckers
6854e8030d - floatify half the movesprite calls. 2022-10-18 18:34:30 +02:00
Christoph Oelckers
ab3184eed8 - set up proper scaling of the grenade's movement vector. 2022-10-18 18:34:29 +02:00
Christoph Oelckers
1dff710a23 - floatified ThrowGrenade 2022-10-18 18:34:29 +02:00
Christoph Oelckers
a043c7fa4d floatified body of movesprite and prepared the calls for adjustment. 2022-10-18 18:34:29 +02:00
Christoph Oelckers
98eb4a169d - renamed movesprite functions as preparation 2022-10-18 18:34:29 +02:00
Christoph Oelckers
c41af213b4 - another set of simple changes. 2022-10-18 18:34:29 +02:00
Christoph Oelckers
efb538ba69 - floatify AISnake::Tick 2022-10-18 18:34:29 +02:00
Christoph Oelckers
f393b7e917 - floatified GetAngleToSprite 2022-10-18 18:34:29 +02:00
Christoph Oelckers
b5c315978c - rename GetActorHeightF
(no edits here, just one replace.)
2022-10-18 18:34:28 +02:00
Christoph Oelckers
c65c317665 - eliminate GetActorHeight 2022-10-18 18:34:28 +02:00
Christoph Oelckers
55d01509fa - handle most of move.cpp. 2022-10-18 18:34:28 +02:00
Christoph Oelckers
dd152f6406 - floatified BuildLavaLimb 2022-10-18 18:34:28 +02:00
Christoph Oelckers
58c2af168f - floatified most of gun.cpp. 2022-10-18 18:34:28 +02:00
Christoph Oelckers
dc6745b935 - Set's movesprite. 2022-10-18 18:34:28 +02:00
Christoph Oelckers
31fcdd9e41 - sprite rotation angle math 2022-10-18 18:34:28 +02:00
Christoph Oelckers
18ade5e9bd - extremely trivial angle stuff 2022-10-18 18:34:27 +02:00
Christoph Oelckers
c7d7ecb692 - floatified grenade vector. 2022-10-18 18:34:27 +02:00
Christoph Oelckers
d381b51fac - trivial int_ang removals. 2022-10-18 18:34:27 +02:00
Christoph Oelckers
489f45ef99 - floatified AddFlow 2022-10-18 18:34:27 +02:00
Christoph Oelckers
029e0f6fa4 - floatified most of the grenade code and GetWallNormal 2022-10-18 18:34:27 +02:00
Christoph Oelckers
54a55b3d09 - floatified bobbing and a few other minor checks. 2022-10-18 18:34:27 +02:00
Christoph Oelckers
0fbddd8a2b - floatified standHeight 2022-10-18 18:34:27 +02:00
Christoph Oelckers
8aec43a915 - bugfix for floor movement builder 2022-10-18 18:34:26 +02:00
Christoph Oelckers
1eb1eabb75 - floatified SnapSectors 2022-10-18 18:34:26 +02:00
Christoph Oelckers
a7965b1d98 - floatified LongSeek and all calling code. 2022-10-18 18:34:26 +02:00
Christoph Oelckers
01624bf340 - renamed two variables 2022-10-18 18:34:26 +02:00
Christoph Oelckers
51733df1d7 - int_pos is all gone from Exhumed. 2022-10-18 18:34:26 +02:00
Christoph Oelckers
1a7671a2b7 - snake cleanup 2022-10-18 18:34:26 +02:00
Christoph Oelckers
bbabe298ba - floatified analyzeSprites 2022-10-18 18:34:26 +02:00
Christoph Oelckers
1e87ff8699 - floatified QueenAngleChase.
This was mostly copy/paste from AngleChase.
2022-10-18 18:34:26 +02:00
Christoph Oelckers
4e3c2d98d4 - angular stuff 2022-10-18 18:34:25 +02:00
Christoph Oelckers
e7f581a4fd - floatified AngleChase. 2022-10-18 18:34:25 +02:00
Christoph Oelckers
f8c789fdcb - floatified DExhumedActor::angle2 2022-10-18 18:34:25 +02:00
Christoph Oelckers
b777517789 - floatified MoveSector's API. 2022-10-18 18:34:25 +02:00
Christoph Oelckers
03c183d827 - clean up DoMovingSects. 2022-10-18 18:34:25 +02:00
Christoph Oelckers
52b2d1cd7d - split out CheckMovingBlocks from AIPlayer::Tick. 2022-10-18 18:34:25 +02:00
Christoph Oelckers
9d8f06612f - floatified MoveSector 2022-10-18 18:34:25 +02:00
Christoph Oelckers
c4a8cda95f - decrypted some leftover raw disassembly code in MoveSector 2022-10-18 18:34:24 +02:00
Christoph Oelckers
559fe495fb - floatified movesprite and the thrust vector. 2022-10-18 18:34:24 +02:00
Christoph Oelckers
5365066c05 - renamed variable to match its main purpose. 2022-10-18 18:34:24 +02:00
Christoph Oelckers
8137718133 - floatified movespritez 2022-10-18 18:34:24 +02:00
Christoph Oelckers
a62dcac514 - floatified BelowNear and deleted unused GetActorExtents. 2022-10-18 18:34:24 +02:00
Christoph Oelckers
48b34ad84d - floatified BuildBullet 2022-10-18 18:34:24 +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