Commit graph

2442 commits

Author SHA1 Message Date
Mitchell Richters
2081e270cd - Duke: Fix bad setup in move_d() that stopped enforcer working properly in E3L1.
* Merge with or above `- eliminated all of add_int_zvel.`.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
1814274124 - eliminated all of add_int_zvel. 2022-10-21 00:00:05 +02:00
Christoph Oelckers
65b6b5ba71 - migrated all simple EGS calls to CreateActor
The remaining ones require more work on the weapon code first
2022-10-21 00:00:05 +02:00
Christoph Oelckers
a48ebc51a6 - This makes no sense either way… 2022-10-21 00:00:05 +02:00
Christoph Oelckers
068099cb3e - floatify glass spawners 2022-10-21 00:00:05 +02:00
Christoph Oelckers
5140baf7c5 - floatified a bunch in move_r 2022-10-21 00:00:05 +02:00
Christoph Oelckers
3e511f33b8 - movetripbomb and movecrack 2022-10-21 00:00:04 +02:00
Christoph Oelckers
facedb6325 - floatified movesprite_ex 2022-10-21 00:00:04 +02:00
Christoph Oelckers
829d06790f - handle the remaining movesprite_ex calls 2022-10-21 00:00:04 +02:00
Christoph Oelckers
4b184c6d43 - movesprite_ex refactoring, part 2 2022-10-21 00:00:04 +02:00
Christoph Oelckers
5dedce047a - movesprite_ex refactoring, part 1 2022-10-21 00:00:04 +02:00
Christoph Oelckers
0432930e5b - converted all dist() calls to vector math and deleted the utilities 2022-10-21 00:00:04 +02:00
Christoph Oelckers
2bcc552ce0 - replace FireProj struct with a second temp_pos vector
We’re going to need this anyway for some SE’s.
2022-10-21 00:00:04 +02:00
Christoph Oelckers
dfd098d719 - simple replacements in sector and spawn code 2022-10-21 00:00:04 +02:00
Christoph Oelckers
1c05d80e53 - simple replacements in player code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
f6d06b1326 - simple replacements in actor code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
ada4af8fb7 -consolidated sprite rotation formula in 2 inline functions. 2022-10-21 00:00:03 +02:00
Christoph Oelckers
c066f1754c - use randomAngle 2022-10-21 00:00:03 +02:00
Christoph Oelckers
b164426dd2 - partial work on processinput_d 2022-10-21 00:00:03 +02:00
Christoph Oelckers
bda3a38ed9 - ported the remaining S_PlaySound3D calls 2022-10-21 00:00:03 +02:00
Christoph Oelckers
4956062b22 - added S_PlaySound3D variant receiving a float vector 2022-10-21 00:00:03 +02:00
Christoph Oelckers
e31f10be8a - floatify position in all remaining updatesector calls for the player 2022-10-21 00:00:03 +02:00
Christoph Oelckers
3c9a94dba8 - consolidated Duke’s ‚away from wall‘ check in the backend
This was also very useful in SW to avoid spawning ‚floating‘ footprints due to lack of an equivalent check in the original.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1a597c4e0b - fixed and floatified chickenarrow. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
021f7062d1 - ported all simple EGS calls to CreateActor 2022-10-21 00:00:02 +02:00
Christoph Oelckers
dafc1ff2d2 - spawn coordinate in guts 2022-10-21 00:00:02 +02:00
Christoph Oelckers
6bd97e312d - cleanup of the wall hit checks in hitradius
Yes, the z-check was indeed bad.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
3352783be2 - added a Sum function to TVector familiy
Duke uses this kind of distance check quite a lot so it makes sense to add it to the vectors.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1d7f2c81b6 - fixed position backup for trip bombs. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
38a8e15ff9 - floatified most of movetripbomb and ovel 2022-10-21 00:00:02 +02:00
Christoph Oelckers
1c50801c64 - floatified furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
3c1970e9e0 - floatified alterang and changed return type of furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
45f28f666c - floatified dodge. 2022-10-20 23:59:28 +02:00
Christoph Oelckers
c7eabe5b55 - gameexec.cpp code cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3711473194 - gameexec cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3cefda2983 - simplify some angle stuff 2022-10-20 23:59:15 +02:00
Christoph Oelckers
43e1e3f50f - floatified SE 32. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
c0e7e6a543 - floatified leftover pieces of some debris-type actors. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
2de1aea4a6 - floatified exit position. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
1a64d18349 - floatified RR hitscan teleporter stuff and other minor things. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
4322a30efb - unlimited the number of active animations, also fixed a few bugs. 2022-10-20 23:08:54 +02:00
Christoph Oelckers
e3ea4cd55c - floatified animation code. 2022-10-20 23:08:22 +02:00
Christoph Oelckers
0c7274752c - falladjustz 2022-10-20 22:25:10 +02:00
Christoph Oelckers
6482fefeb3 - 3x add_int_z. 2022-10-20 22:25:10 +02:00
Christoph Oelckers
fe0a10ed29 - handle neartag calls in checksectors. 2022-10-20 22:25:10 +02:00
Christoph Oelckers
13fc658c1f -floatified findplayer and findotherplayer. 2022-10-20 22:25:09 +02:00
Christoph Oelckers
68bc812681 - floatify hande_se35
This looks broken because the destination height is never set anywhere.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
4196195b89 - floatified handle_se25 2022-10-20 22:25:09 +02:00
Mitchell Richters
8bfcb8c939 - Floatify InputPacket::fvel and InputPacket::svel.
* Since all velocities are floated, we can now take each game's keymove scaling into its ticker and use a consistent keymove size, making non-mouselook and controller input truly identical across the games without having to try and fudge any values.
2022-10-20 00:48:09 +02:00
Mitchell Richters
a178ef1ff6 - Duke: Floatify player_struct::fric. 2022-10-20 00:48:09 +02:00
Mitchell Richters
def2b9d483 - Flip svel around in the input code so we can use proper anti-clockwise vector math. 2022-10-20 00:48:09 +02:00
Christoph Oelckers
9426f42f41 - replaced old refactoring wrapper. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
088699f5c8 - floatified handle_se20. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
471f64cf72 - fixes for player velocity. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
a847b23e7c - made player.vel a real float vector with proper value range. 2022-10-20 00:48:07 +02:00
Christoph Oelckers
417dc7c330 - floatified gs.gravity and all relations to player.vel. 2022-10-20 00:47:32 +02:00
Christoph Oelckers
6f8d0e7870 - handle all remaining vel uses not related to gravity and clipmove 2022-10-20 00:47:32 +02:00
Christoph Oelckers
3e05acfcc9 - handle ca. half of the remaining use of vel. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
bca4819841 - handle some simple vector additions with velocity. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
c821683bc5 - copy Duke handling of movement code to RR. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
cebecabe66 - search& replace of zero assignments and comparisons. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
2266ae1cd6 - converted vel use in player_d.cpp's main movement functions
Still using conversion factors until all code has been processed.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
b46b087e0c - first round of vel refactoring.
VEL_FACTOR is used as a marker that later can be quickly removed once the data type gets changed over.
2022-10-20 00:47:19 +02:00
Christoph Oelckers
50a9ca49f3 - floatified player_struct::hitang 2022-10-20 00:33:31 +02:00
Christoph Oelckers
a5652655db - floatified gs.playerfriction 2022-10-20 00:20:41 +02:00
Christoph Oelckers
477120923f - made player.vel and gs.playerfriction floating point.
No change in value range yet, but having them as floats now allows easier refactoring.
2022-10-20 00:20:40 +02:00
Christoph Oelckers
8171927c2a - renamed player_struct::vel 2022-10-20 00:19:56 +02:00
Christoph Oelckers
03a0eb7284 - floatified and consolidated handle_se29. 2022-10-20 00:19:56 +02:00
Christoph Oelckers
9a07dc5b7b - floatified handle_se21 and most of movetongue 2022-10-20 00:19:33 +02:00
Christoph Oelckers
a9c7a5e62f - floatified handle_se21 2022-10-19 18:26:16 +02:00
Christoph Oelckers
b0b5dbc55b - eliminated add_int_ceilingz 2022-10-19 18:26:16 +02:00
Christoph Oelckers
81d4ca71d7 - floatified movetouchplate 2022-10-19 18:26:16 +02:00
Christoph Oelckers
8e4a3f1946 - floatified position in RANDOMSCRAP 2022-10-19 18:26:16 +02:00
Christoph Oelckers
23c529589e - eliminated add_int_xvel 2022-10-19 18:26:16 +02:00
Christoph Oelckers
a6bf98399c - fixed inconsistency between angle and intangle use.
Angles abused as flag words should always use intangle.
2022-10-19 18:02:05 +02:00
Christoph Oelckers
11735c2963 - floatified handle_se13. 2022-10-18 20:02:30 +02:00
Christoph Oelckers
998d71875f - floatified handle_se11. 2022-10-18 20:02:30 +02:00
Christoph Oelckers
b62c081d37 - renamed variables in handle_se08 2022-10-18 20:02:30 +02:00
Christoph Oelckers
845287a7ba - floatified handle_se05 2022-10-18 20:02:30 +02:00
Christoph Oelckers
49125ffed5 - floatified handle_se02 2022-10-18 20:02:29 +02:00
Christoph Oelckers
3898e2fa4c - floatified handle_se06 (both variants) 2022-10-18 20:02:29 +02:00
Christoph Oelckers
228db5839a - floatified handle_se30. 2022-10-18 20:02:28 +02:00
Christoph Oelckers
e7ba113402 - use high precision storage for all of SE00's work data. 2022-10-18 20:02:28 +02:00
Christoph Oelckers
2be133aaee - poolball stuff in Duke 2022-10-18 20:02:01 +02:00
Christoph Oelckers
fe7dfa1c53 - floatify angle stuff for bowling, henstand etc. in RR. 2022-10-18 20:02:01 +02:00
Christoph Oelckers
c30493c344 - floatified handle_se14 2022-10-18 20:02:01 +02:00
Christoph Oelckers
bd3f96e779 - floatified handle_se00 2022-10-18 20:02:01 +02:00
Christoph Oelckers
b5b159f45b - unlimited and floatified the movesector position array. 2022-10-18 20:02:00 +02:00
Christoph Oelckers
4f9718e8a8 - added velocity checks when attempting to dive or surface.
This could misbehave at low velocities that could be misinterpreted as a boundary crossing due to the missing check for the movement direction.
2022-10-18 19:59:07 +02:00
Mitchell Richters
33def4bd6e - Duke: Clean up some long VecToAngle() calls. 2022-10-18 19:52:02 +02:00
Christoph Oelckers
c84bf46611 - eliminated add_int_ceilingz in handle_se32. 2022-10-18 19:51:53 +02:00
Christoph Oelckers
b467e6c6cf - handled a few easy to change distance calculations and nearby assignments. 2022-10-18 19:36:25 +02:00
Christoph Oelckers
4cb214f3ab - int_vel stuff with constants. 2022-10-18 19:36:17 +02:00
Christoph Oelckers
901728d88f - int_vel stuff with constants. 2022-10-18 19:31:11 +02:00
Christoph Oelckers
d34a423272 - int_vel stuff with constants. 2022-10-18 19:31:11 +02:00
Christoph Oelckers
eaf8a8ccca - some minor random changes. 2022-10-18 19:31:11 +02:00
Christoph Oelckers
72dc3d5da9 - use mapangle in more places, mainly constants and random values using special formula 2022-10-18 19:01:45 +02:00
Christoph Oelckers
f4df9a25da - pass index and angle to movesector as arguments.
This allows refactoring the multiple SEs using this function individually.
2022-10-18 18:30:38 +02:00
Mitchell Richters
9eec69d810 - Blood: Floatify position drawing code and clean up now-unused wrappers.
* Still work to be done on bob/sway/zView variables.
2022-10-18 18:29:09 +02:00
Christoph Oelckers
32d49cf199 - Duke: fixed bad crusher speed in SE 25. 2022-10-18 07:10:43 +02:00
Christoph Oelckers
db810250c3 - full floatification of handle_se31. 2022-10-17 17:26:00 +02:00
Christoph Oelckers
8e48911723 - very simple replacements 2022-10-17 17:25:58 +02:00
Christoph Oelckers
1ba20c7dce - wrapped most clipdist assignments 2022-10-17 17:03:53 +02:00
Christoph Oelckers
ef47040630 - renaming stuff for search purposes 2022-10-17 17:03:53 +02:00
Christoph Oelckers
9721d80f44 - more assignment wraps 2022-10-17 17:03:53 +02:00
Christoph Oelckers
3fc592c505 - wrap clipdist copy 2022-10-17 17:03:53 +02:00
Christoph Oelckers
3c498e715d - wrapped all literal assignments to clipdist - part 3 2022-10-17 17:03:53 +02:00
Christoph Oelckers
a14c37f596 - wrapped all literal assignments to clipdist - part 2 2022-10-17 17:03:53 +02:00
Christoph Oelckers
28a3a8e314 - wrapped all literal assignments to clipdist - part 1 2022-10-17 17:03:52 +02:00
Christoph Oelckers
6b5cbac96a - consolidate common formula 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Mitchell Richters
acd3304b7e - Duke: Give displayrooms() a slight tidy-up. 2022-10-16 10:59:05 +02:00
Mitchell Richters
2c6435377a - Duke: Change clamping of ceilz/floorz in draw code.
* Also repair potential bug between actor's cz/fz vs. player's truecz/truecz introduced in "- Duke: Floatify `displayrooms()` and flatten smoothratio back out to float.".
2022-10-16 10:59:04 +02:00
Mitchell Richters
ecd880ad6c - Duke: Floatify displayrooms() and flatten smoothratio back out to float. 2022-10-16 10:59:04 +02:00
Mitchell Richters
ea3ca4a4ea - Duke: Tidy up old multiplayer variables to modern standards. 2022-10-16 10:59:04 +02:00
Christoph Oelckers
b53e4b824e - handle the portals in Duke and Blood. 2022-10-16 09:40:29 +02:00
Christoph Oelckers
5cda92b629 - partial floatification of FAFgetzrange/point 2022-10-16 09:40:28 +02:00
Christoph Oelckers
64e915868e - use setfloorz 2022-10-15 17:16:57 +02:00
Mitchell Richters
3019f9effc - Floatify smoothratio for GameInterface::processSprites().
* Exhumed is now completely free of any Q16.16 interpolation scaling.
2022-10-15 13:32:03 +02:00
Mitchell Richters
01d185dc6b - Floatify smoothratio for DrawOverheadMap(). 2022-10-15 13:32:03 +02:00
Mitchell Richters
45d4d3e41a - Eliminate __interpvalue() and clean up Q16.16 smoothratio values where it made sense to do so.
* Also eliminates a now empty header.
2022-10-15 13:32:02 +02:00
Mitchell Richters
f02035b15a - Eliminate __interpvaluef() and clean up Q16.16 smoothratio values where it made sense to do so. 2022-10-15 13:32:01 +02:00
Mitchell Richters
2c8cb8f052 - Rename DCoreActor method interpolatedvec3() to interpolatedpos(). 2022-10-15 13:32:01 +02:00
Mitchell Richters
39ac3b44b0 - Add scaler operators to fixedhorizon class and eliminate class-specific interpolatedhorizon() inlines. 2022-10-15 13:32:01 +02:00
Mitchell Richters
74167e1a7c - Remove interpolators for TVector and TAngle objects, replacing with single generic version. 2022-10-15 13:32:01 +02:00
Mitchell Richters
06e772b44b - Rename interpolatedvalue() in preparation for replacement. 2022-10-15 13:32:01 +02:00
Mitchell Richters
8fd6452baf - Rename interpolatedvaluef() in preparation for replacement. 2022-10-15 13:32:01 +02:00
Christoph Oelckers
92379863f1 - don't use DAngle for calculating bobbing amplitudes.
It makes more sense here to have a dedicated function since this is not really angular math.
2022-10-15 13:31:59 +02:00
Christoph Oelckers
7dab26f04d - handle several movesprite_ex calls. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
4f9ffc9437 - mainly handling angle literals. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
a6eec404db - parts of Blood's MoveThing 2022-10-15 12:42:30 +02:00
Christoph Oelckers
e5219382f2 - added some Sector Effector symbolic names. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
4df1578064 - a few random wrapper removals in Duke 2022-10-15 12:42:30 +02:00
Christoph Oelckers
6b0b8f944c - floatified the height parameter of nextsectorneighborptr 2022-10-15 12:42:30 +02:00
Mitchell Richters
7d5040f560 - Fix all calls to interpolatedangle() that didn't revert smoothratio back to a float. 2022-10-15 12:16:53 +02:00
Mitchell Richters
f72d42bb8e - Uplift renderer entry point to DVector3 and provide wrappers for old setups. 2022-10-15 12:16:53 +02:00
Mitchell Richters
977d8f8109 - Convert gi->chaseCamPos() to return a floating point DVector3 object. 2022-10-15 12:16:53 +02:00
Mitchell Richters
ab77d77a53 - Optimise automap sector loops in Duke/SW automap code. 2022-10-15 12:16:53 +02:00
Mitchell Richters
18f97c3d7e - SW: Move player sprite loop out of sector loop, and eliminate goto crap. 2022-10-15 12:16:52 +02:00
Mitchell Richters
f236cc8728 - Consolidate some duplicated automap code between Duke and SW. 2022-10-15 12:16:52 +02:00
Mitchell Richters
ef56d00d78 - Pass automap angle vector as an actual vector.
* Also reconfigure setup so that angle requires zero pre-processing or setup in the automap code, have it all handled in `OutAutomapVector()`.
2022-10-15 12:16:52 +02:00
Christoph Oelckers
712d28ff40 - clean out some stuff 2022-10-15 11:35:38 +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
fca2f8c683 - replace all ‚labs‘ with ‚abs‘ 2022-10-14 23:55:31 +02:00
Mitchell Richters
4acce612cd - Take advantage of TVector2<>::Rotated90CW() in some automap code. 2022-10-14 23:55:31 +02:00
Christoph Oelckers
58642c4d2f - cleaned up the distance checks in operatetripbomb 2022-10-14 23:55:31 +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