Commit graph

1483 commits

Author SHA1 Message Date
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
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
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
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
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
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
Mitchell Richters
8f0e020e21 - Blood: Floatify POSTURE::eyeAboveZ and POSTURE::weaponAboveZ. 2022-10-18 18:30:38 +02:00
Mitchell Richters
954b394baa - Blood: Floatify PLAYER::zWeaponVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
0019b5ee02 - Blood: Floatify PLAYER::zWeapon. 2022-10-18 18:30:38 +02:00
Mitchell Richters
2d98c532eb - Blood: Floatify PLAYER::zViewVel. 2022-10-18 18:30:38 +02:00
Mitchell Richters
f35fffdf3d - Blood: Floatify PLAYER::zView. 2022-10-18 18:30:37 +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
Mitchell Richters
dd23b60810 - Blood: Clean up as much Q16.16 smoothratio usage as possible. 2022-10-18 18:29:09 +02:00
Christoph Oelckers
96a5954c80 - fixed: gView references gViewIndex, not myconnectindex. 2022-10-18 18:29:09 +02:00
Mitchell Richters
59bee2f9f6 - Blood: Eliminate gView extern'd pointer. 2022-10-18 18:29:09 +02:00
Christoph Oelckers
560bf3e8df - add missing null pointer checks 2022-10-18 18:29:08 +02:00
Mitchell Richters
6356aeafc2 - Blood: Eliminate gMe extern'd pointer. 2022-10-18 18:29:08 +02:00
Mitchell Richters
3c39174a22 - Blood: Eliminate VIEW structure entirely. 2022-10-18 18:29:08 +02:00
Mitchell Richters
b4af1a4600 - Blood: Eliminate VIEW::look_ang and VIEW::rotscrnang. 2022-10-18 18:29:08 +02:00
Mitchell Richters
d7b91df06e - Blood: Eliminate VIEW bobbing/swaying members. 2022-10-18 18:29:08 +02:00
Mitchell Richters
9a41145a8a - Blood: Eliminate VIEW::slope. 2022-10-18 18:29:08 +02:00
Mitchell Richters
326da6d495 - Blood: Eliminate VIEW::horiz and VIEW::horizoff. 2022-10-18 18:29:07 +02:00
Mitchell Richters
5b962e69ab - Blood: Eliminate VIEW::weaponZ. 2022-10-18 18:29:07 +02:00
Mitchell Richters
fc71b39d22 - Blood: Eliminate VIEW::viewz. 2022-10-18 18:29:07 +02:00
Mitchell Richters
85412a39e6 - Blood: Eliminate VIEW::pos. 2022-10-18 18:29:07 +02:00
Mitchell Richters
80121f6021 - Blood: Eliminate VIEW::angle. 2022-10-18 18:29:07 +02:00
Mitchell Richters
06d0d9b5fd - Blood: Floatify player inertia correction code. 2022-10-18 18:29:06 +02:00
Christoph Oelckers
8e48911723 - very simple replacements 2022-10-17 17:25:58 +02:00
Christoph Oelckers
c6a0d30245 - wrapped most remaining clipdist access
Only modifying operators left
2022-10-17 17:03:53 +02:00
Christoph Oelckers
1ba20c7dce - wrapped most clipdist assignments 2022-10-17 17:03:53 +02:00
Christoph Oelckers
f777e84c75 - 2x copy_clipdist 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
28a3a8e314 - wrapped all literal assignments to clipdist - part 1 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Mitchell Richters
4f6aea576b - Blood: Delete unused prediction function that was never called anywhere. 2022-10-16 10:59:05 +02:00
Mitchell Richters
b13a9e69eb - Blood: Floatify VIEW::pos and remove old union. 2022-10-16 10:59:05 +02:00
Mitchell Richters
5c23e29c15 - Blood: Rename all remaining disassembly names for VIEW struct. 2022-10-16 10:59:05 +02:00
Mitchell Richters
c7dab8a059 - Blood: Get rid of gInterpolate global, make it local to viewDrawScreen(). 2022-10-16 10:59:05 +02:00
Christoph Oelckers
b53e4b824e - handle the portals in Duke and Blood. 2022-10-16 09:40:29 +02:00
Christoph Oelckers
cd4d3ee2d2 - a handful more calls cleaned up 2022-10-15 18:22:09 +02:00
Mitchell Richters
c9e33b92cc - Ensure all games consistently scale out for chase cam mode. 2022-10-15 13:32:04 +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
5e410ff738 - Eliminate most uses of DAngle::Buildfang(). 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
1a9e255265 - the angle in aiChooseDirection must be precisely what it was in Build.
60° may only be 1/3 Build angle unit off, but it is already too much.
2022-10-15 13:32:00 +02:00
Mitchell Richters
a739928d29 - Blood: Fix lost accounting of target sprite angle in actCheckFlares(). 2022-10-15 13:32:00 +02:00
Mitchell Richters
a8f7b3f6fe - Blood: Fix bad angle direction in aiChooseDirection(). 2022-10-15 13:32:00 +02:00
Christoph Oelckers
2b5422cc53 - floatified USER::goalAng 2022-10-15 13:32:00 +02:00
Christoph Oelckers
9df7c55040 - rename USER::goalAng 2022-10-15 13:32:00 +02:00
Christoph Oelckers
057d2a565a - floatified Blood's velFloor and velCeil 2022-10-15 13:31:59 +02:00
Christoph Oelckers
38bb103cdd - renamed velFloor and velCeil. 2022-10-15 13:31:59 +02:00
Christoph Oelckers
4f9ffc9437 - mainly handling angle literals. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
a85bcebd09 - floatified Blood's asound.cpp 2022-10-15 12:42:30 +02:00
Mitchell Richters
f69e977411 - Blood: Fix velocity issues in MoveThing(), such as explosive bundles not sliding along the ground.
* Merge with or above `- parts of Blood's MoveThing`.
2022-10-15 12:42:30 +02:00
Christoph Oelckers
a6eec404db - parts of Blood's MoveThing 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
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
1dcb03e530 - got rid of set_int_bvel 2022-10-15 11:35:38 +02:00
Christoph Oelckers
96297c95aa vel assignment with fixed point constants 2022-10-15 11:35:37 +02:00
Christoph Oelckers
010fedd049 - 10 more AdjustVelocity calls. 2022-10-15 11:35:37 +02:00
Christoph Oelckers
39109de22f - consolidation of Blood rotation code.
24x the same pattern merged into a subfunction.
2022-10-15 11:35:37 +02:00
Christoph Oelckers
b5c679f228 - got a few more 2022-10-15 11:35:37 +02:00
Christoph Oelckers
4af3f6e731 - comparison with zero replacements 2022-10-15 11:35:37 +02:00
Christoph Oelckers
ac84e3f045 - some simple replacements 2022-10-15 11:35:37 +02:00
Christoph Oelckers
18cc450889 - more easy to replace vel assignments 2022-10-15 11:35:36 +02:00
Christoph Oelckers
5cde04fee7 - cleaned up assignments of random values to vel 2022-10-15 10:33:03 +02:00
Christoph Oelckers
eed7f0806c - more quick replacements 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
b924569755 - started removing trivial vel wrappers 2022-10-15 10:15:20 +02:00
Christoph Oelckers
f2d89b7609 - refactored actWallBounceVector as well
This completes the abstraction of velocity in Blood.
2022-10-15 10:15:20 +02:00
Christoph Oelckers
92532bb007 - eliminated actFloorBounceVector wrapper 2022-10-15 10:14:54 +02:00
Christoph Oelckers
9f235b56f3 - rewrote actFloorBounceVector to avoid reference parameters 2022-10-14 23:55:32 +02:00
Christoph Oelckers
fce956f83e - move stuff around 2022-10-14 23:55:31 +02:00
Christoph Oelckers
a69bdb3370 - eliminated Blood’s RotatePoint function 2022-10-14 23:55:31 +02:00
Christoph Oelckers
3bac7af313 - simple stuff in blood/actor.cpp 2022-10-14 23:55:31 +02:00
Christoph Oelckers
c45ecdae73 - wrapped all velocity access in Blood, except the places where an address of vel is taken 2022-10-14 23:55:30 +02:00
Christoph Oelckers
7a7a2cdb39 - various replacements of vel 2022-10-14 23:55:30 +02:00
Christoph Oelckers
f1d3126435 - vel assignments 2022-10-14 23:55:30 +02:00
Christoph Oelckers
994cb47d36 - set_int_bvel_z 2022-10-14 23:52:44 +02:00
Christoph Oelckers
9cbffc998e - set_int_bvel_y 2022-10-14 23:52:44 +02:00
Christoph Oelckers
761da2b06e - set_int_bvel_x 2022-10-14 23:52:43 +02:00
Christoph Oelckers
b78d5a95ac - more add_int_bvel_ 2022-10-14 23:52:43 +02:00
Christoph Oelckers
1999340c8a - add_int_bvel_z 2022-10-14 23:52:43 +02:00
Christoph Oelckers
49d280c665 - add_int_bvel_y 2022-10-14 23:52:43 +02:00
Christoph Oelckers
12e5fd133c - add_int_bvel_x 2022-10-14 23:52:43 +02:00
Christoph Oelckers
49f0e9c57d - batch 3 of vel. 2022-10-14 23:52:43 +02:00
Christoph Oelckers
193d20bb4d - wrapped more xvels 2022-10-14 23:52:43 +02:00
Christoph Oelckers
e3758d6adc - started wrapping vel 2022-10-14 23:52:42 +02:00
Christoph Oelckers
e7b09dbaac - renamed vel. 2022-10-14 23:52:42 +02:00
Christoph Oelckers
a5a04b1123 - moved Blood's velocity vector to DCoreActor. 2022-10-14 23:52:42 +02:00
Christoph Oelckers
f8ba5bb660 - final xvel cleanup. 2022-10-14 23:13:33 +02:00
Mitchell Richters
9e93b417b7 - Blood: Some missed MaxSmoothRatio changes. 2022-10-14 18:19:03 +02:00
Mitchell Richters
5407de6924 - Use MaxSmoothRatio everywhere so refactoring is easier later on. 2022-10-14 18:19:03 +02:00
Mitchell Richters
0baaad7c23 - Blood: Add seemingly forgotten call to MarkSectorSeen().
* Automap wasn't updating upon movement into new sectors unless the automap was toggled on and off.
2022-10-14 18:19:02 +02:00
Mitchell Richters
7d85acac13 - Clean up remaining automap interfaces to finish the floatification.
* Even though we pre-calculate the sine/cosine needed in `DrawOverheadMap()`, Duke and SW require the full angle for their more mature automaps.
2022-10-14 18:19:02 +02:00
Mitchell Richters
56b0661f81 - Blood: Floatify automap draw code. 2022-10-14 18:13:50 +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
05a7fe8f36 - renamed walltype::fdelta and fcenter 2022-10-13 22:54:43 +02:00