Commit graph

590 commits

Author SHA1 Message Date
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
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
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
c23db8ea35 - wrapped all reads of sectortype::wallnum and renamed all other wallnum variables. 2022-11-15 12:21:21 +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
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
f23ddc28f0 - Duke: scriptified the crane 2022-11-13 18:55:32 +01:00
Christoph Oelckers
c32a695384 - DukeActor scriptification framework. 2022-11-13 08:55:20 +01:00
Christoph Oelckers
ac4be79e96 - implemented cl_weaponswitch for Duke. 2022-11-12 09:34:08 +01:00
Christoph Oelckers
0f57685f48 - updatesector interface cleanup. 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
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
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
81341ce4a6 - unwrapped SetScale as well.
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
15db7a7143 - unwrapped SetScaleX/Y. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d - removed AddScale wrappers. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
85b52b1c77 - removed Scale(), CopyScale() and MultScale wrappers. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9 - started removing wrappers. ScaleX() and ScaleY() done.
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
38f7935ee9 - repeats in actors_d.cpp and actors_r.cpp 2022-10-30 16:51:27 +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
e749a0e9a4 - a bunch of repeats in actor_d.cpp 2022-10-30 16:51:25 +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
Christoph Oelckers
8a8ef22e53 - mostly '>' comparisons with scale values. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
a11a366697 - some automatic replacements. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
730c0ef66d - lots of repeats in RR's spawn code. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
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
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
4af4983d3e - floatified clipdist and replaced fClipdist wrapper.
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Mitchell Richters
cea2b6b428 - Rename PlayerHorizon::__horiz back to horiz. 2022-10-30 16:51:12 +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
600c2a0243 - map all clipmove calls to the version with a full float interface. 2022-10-30 16:50:48 +01:00
Mitchell Richters
8bc34f3dac - Handle all remaining VecToAngle() calls. 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
8d3f3c6025 - Cut over to DAngle from fixedhoriz and remove the latter. 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
22a9f89b64 - Remove all uses of fixedhoriz::asq16(). 2022-10-25 07:06:54 +02:00
Christoph Oelckers
9342b7b1a4 - Duke/RR: fixed move_player smart action. 2022-10-24 22:09:34 +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
0fdc91904d - replaced getposfromactor 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
c511e5dca9 - eliminated int_xvel 2022-10-22 11:33:16 +02:00
Christoph Oelckers
eb40f78bd1 - floatified move_d 2022-10-22 11:33:16 +02:00
Christoph Oelckers
8d99277b87 - remaining add_int_ang calls. 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
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
Christoph Oelckers
671e75ba5f - eliminate the last int_zvel call 2022-10-22 09:34:16 +02:00
Christoph Oelckers
5ccefcb77b - first round of CreateActor calls. 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
42f179f675 - GreenSlime stuff 2022-10-22 09:34:15 +02:00
Christoph Oelckers
2e947fded3 - trivial changes 2022-10-22 09:34:14 +02:00
Christoph Oelckers
7ee620628d - floatified handle_se24 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
4dfba60d99 - eliminated all ldist calls outside the weapon code. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
a226a847bd - fixed warnings 2022-10-21 00:00:06 +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
a48ebc51a6 - This makes no sense either way… 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
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
f6d06b1326 - simple replacements in actor code 2022-10-21 00:00:03 +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
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
1a64d18349 - floatified RR hitscan teleporter stuff and other minor things. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
6482fefeb3 - 3x add_int_z. 2022-10-20 22:25:10 +02:00
Christoph Oelckers
4196195b89 - floatified handle_se25 2022-10-20 22:25:09 +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
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
23c529589e - eliminated add_int_xvel 2022-10-19 18:26:16 +02:00
Christoph Oelckers
3898e2fa4c - floatified handle_se06 (both variants) 2022-10-18 20:02:29 +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
Christoph Oelckers
b467e6c6cf - handled a few easy to change distance calculations and nearby assignments. 2022-10-18 19:36:25 +02:00
Christoph Oelckers
901728d88f - 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
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Christoph Oelckers
4df1578064 - a few random wrapper removals in Duke 2022-10-15 12:42:30 +02:00
Christoph Oelckers
eed7f0806c - more quick replacements 2022-10-15 10:15:21 +02:00
Christoph Oelckers
3e76d49b6e - removed the mul vel wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
6fd8dae380 - removed the non-Blood float_* access wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
62ba753585 - remove vel clear wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
9ba03ac53f - renamed yvel to yint in Duke.
It's never used as velocity, but as an auxiliary parameter so name it appropriately.
2022-10-14 23:17:45 +02:00
Christoph Oelckers
9621cd08d2 - use PlayerIndex plus a bit of cleanup. 2022-10-14 23:17:45 +02:00
Christoph Oelckers
9600face4a - the rest. 2022-10-14 23:13:33 +02:00
Christoph Oelckers
567b20f9ef - almost the rest. 2022-10-14 23:13:33 +02:00
Christoph Oelckers
ce20bd9c56 - more wraps 2022-10-14 23:13:33 +02:00
Christoph Oelckers
643dda6085 -add_int_xvel(- 2022-10-14 23:13:33 +02:00
Christoph Oelckers
d19e99481d - add_int_xvel 2022-10-14 23:13:33 +02:00
Christoph Oelckers
33eeb8d9c2 - right shifts 2022-10-14 23:13:33 +02:00
Christoph Oelckers
ec88d1ea6c - set_int_xvel 2022-10-14 23:13:32 +02:00
Christoph Oelckers
fb1a9881e3 - half done with xvel 2022-10-14 23:13:32 +02:00
Christoph Oelckers
434548a5aa - more xvel wraps. 2022-10-14 23:13:32 +02:00
Christoph Oelckers
0aad018796 - second batch of xvel wraps. 2022-10-14 23:13:32 +02:00
Christoph Oelckers
ba044ac2f4 - first bunch of wrapping xvel. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
36f109502d - use clear_xvel wrapper. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
a006482c07 - this concludes all trivial int_zvel replacements. 2022-10-14 22:57:37 +02:00
Christoph Oelckers
56e5388150 - handle 'zvel >' comparisons with constants. 2022-10-14 22:55:27 +02:00
Christoph Oelckers
07bac24234 - quickly got rid of a significant bunch of int_zvel calls.
Mapping to float_zvel what could be done with search and replace.
2022-10-14 20:31:57 +02:00
Christoph Oelckers
999cd16b24 - use clear_zvel 2022-10-14 20:31:57 +02:00
Christoph Oelckers
8946a66350 - handle zvel multiplications with a wrapper.
This completes wrapping of zvel.
2022-10-14 20:31:56 +02:00
Christoph Oelckers
231107921e - handle a few more operators 2022-10-14 20:31:56 +02:00
Christoph Oelckers
588af5aa71 - add_int_zvel with - 2022-10-14 20:31:56 +02:00
Christoph Oelckers
8bfedc327f - add_int_zvel 2022-10-14 20:31:56 +02:00
Christoph Oelckers
6ddfd8e97a - set_int_zvel 2022-10-14 20:31:55 +02:00
Christoph Oelckers
70d0d0622b - wrapped 0 assignments to zvel 2022-10-14 20:31:55 +02:00
Christoph Oelckers
a9d96864d3 - more zvel wrapping 2022-10-14 20:31:55 +02:00
Christoph Oelckers
3f7b423a4a - zvel wrapping, part 1. 2022-10-14 20:31:55 +02:00
Christoph Oelckers
785575604b - no need to use int_delta when all we want is the angle. 2022-10-13 22:54:43 +02:00
Christoph Oelckers
6ce01e24d2 - renamed walltype::delta and walltype::center 2022-10-13 22:54:42 +02:00
Christoph Oelckers
ee41cda31e - Duke: floatified pyoff 2022-10-13 22:54:42 +02:00
Christoph Oelckers
06e86735fc - use temp_pos instead of maintaining yet another variable for FIREBALL 2022-10-13 20:58:13 +02:00
Christoph Oelckers
559c24fa92 - 3 simple set_int_pos replacements 2022-10-13 20:58:12 +02:00
Christoph Oelckers
5f93ba9053 - use temp_pos for TRIPBOMB and SE26 2022-10-13 20:42:29 +02:00
Christoph Oelckers
cceecb4ab6 - use ToVector where appropriate 2022-10-13 20:41:54 +02:00
Christoph Oelckers
0c757ff96a - use temp_angle for TRIPBOMB’s saved angle 2022-10-13 20:41:14 +02:00
Christoph Oelckers
ae0640b1ca - floatify pos in movesprite_ex_d 2022-10-13 20:23:52 +02:00
Christoph Oelckers
23bd9918af - pass a DVector3 to updatesectorneighbor 2022-10-13 19:59:15 +02:00
Christoph Oelckers
25949ce6ab - gut stuff 2022-10-13 00:59:00 +02:00
Christoph Oelckers
3d29c8f3ad - floatified position in checkhitwall 2022-10-13 00:59:00 +02:00
Christoph Oelckers
e26d6aec14 - 3* EGS->CreateActor 2022-10-12 22:10:37 +02:00
Christoph Oelckers
f269ceff64 slope functions with position vectors 2022-10-12 22:10:37 +02:00