Commit graph

1809 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
9b84a510da - Blood: floatified debrisMove 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
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
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
Christoph Oelckers
6ce01e24d2 - renamed walltype::delta and walltype::center 2022-10-13 22:54:42 +02:00
Christoph Oelckers
1d28ebec98 - eliminated add_int_z and add_int_y wrappers 2022-10-13 22:54:42 +02:00
Christoph Oelckers
f4d8ccf7b9 - floatified WarpToCoords 2022-10-13 20:58:12 +02:00
Christoph Oelckers
55455ea4fa - use floating point for the last remaining rotation in TranslateSector 2022-10-13 20:58:11 +02:00
Christoph Oelckers
decaff78dc - floatified parts of useSeqSpawnerGen.
Also fixing a sprite size bug in here.
2022-10-13 20:58:11 +02:00
Christoph Oelckers
5fba68ffe1 - floatified Blood’s kViewEffectTrail 2022-10-13 20:58:11 +02:00
Christoph Oelckers
b73314579a - floatified Blood’s kViewEffectAtom
This also gets rid of the rather pointless rotation functions that were just added for this.
2022-10-13 20:58:11 +02:00
Christoph Oelckers
ea9c88d952 - floatified Blood’s MoveMissile function 2022-10-13 20:56:38 +02:00
Christoph Oelckers
978c35fda1 - mess reduction in Blood’s TranslateSector
We can also get rid of set_int_xy now.
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
07826c7791 - eliminated DCoreActor::copyXY 2022-10-13 00:59:05 +02:00
Mitchell Richters
4d04a4dd3a - Floatified automap's gZoom.
* Also use the global directly in automap functions instead of passing it around as function variables.
2022-10-13 00:59:04 +02:00
Mitchell Richters
f5116dd787 - Pass a DAngle through to all the automap code. 2022-10-13 00:59:04 +02:00
Mitchell Richters
e970ed0f27 - Migrate spritetypebase::interpolatedvec3() to backend solution.
* Also eliminate unused `interpolatedvec2() method from class.
2022-10-13 00:59:03 +02:00
Mitchell Richters
1e36aa0e7f - Move TAngle<> interpolation function to common and add ones for TVector<> classes. 2022-10-13 00:59:03 +02:00
Mitchell Richters
d133839e2e - Fix a few uses of interpolatedvalue() with floating point numbers. 2022-10-13 00:59:03 +02:00
Mitchell Richters
92b16907d2 - Use getincangle() in more places so it can be refactored easier later on. 2022-10-13 00:59:02 +02:00
Mitchell Richters
a22300fe01 - Blood: Replace some set_int_ang() usage.
* A lot of this repeated code should be factored out into repeated blocks when all of this floatification is done.
2022-10-13 00:59:02 +02:00
Christoph Oelckers
d573ba4cad - pass map start as DVector3 2022-10-13 00:59:01 +02:00
Christoph Oelckers
40312d64c8 -coordinates 2022-10-13 00:59:01 +02:00
Christoph Oelckers
0edd12bc11 - set_int_ang(getangle 2022-10-13 00:59:01 +02:00
Christoph Oelckers
478672879e - partial HitScan parameter change
The really easy stuff…
2022-10-13 00:59:00 +02:00
Christoph Oelckers
54cf1aea6f - got rid of CGibPosition 2022-10-13 00:59:00 +02:00
Christoph Oelckers
f80b228a83 - deal with int positions in approxdist calls 2022-10-13 00:58:59 +02:00
Christoph Oelckers
c53a2ac93a - one final batch of AI stuff 2022-10-13 00:58:59 +02:00
Christoph Oelckers
230913bad3 - another large AI cleanup batch 2022-10-13 00:58:59 +02:00
Christoph Oelckers
ea04f5f800 - more vector stuff in Blood AI
all the same pattern
2022-10-12 22:18:11 +02:00
Christoph Oelckers
67d0e51919 - migrate Blood AI to floating point vectors, part 1
Velocity is still left untouched.
2022-10-12 22:18:11 +02:00
Christoph Oelckers
2f896b859b - made the code mostly signed-char safe.
This eliminates all char function parameters that are not really ASCII characters and casts all char argument to the ctype is... functions.
2022-10-12 22:12:30 +02:00
Christoph Oelckers
97e93004b1 - quick’n easy replacements 2022-10-12 22:10:37 +02:00
Christoph Oelckers
f269ceff64 slope functions with position vectors 2022-10-12 22:10:37 +02:00
Christoph Oelckers
0499be0c26 - getting rid of some int_pos calls. 2022-10-12 22:10:37 +02:00
Christoph Oelckers
18a445aee5 - added ZeroVelocity function to DBloodActor. 2022-10-12 22:10:36 +02:00
Christoph Oelckers
a5a3669238 - eliminated the SetActor/Z function receiving a vec3_t pointer.
The only one left is the one with a DVector3 now.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
00436bfdac - eliminated one UpdateActor pverload. 2022-10-12 22:10:36 +02:00
Christoph Oelckers
f0769048ed - yet another bunch of SpawnActor calls in weapon.cpp 2022-10-12 22:10:35 +02:00
Christoph Oelckers
a0c0894e41 - aiSetTarget calls 2022-10-12 22:10:34 +02:00
Christoph Oelckers
db0ce36143 - use engine's updatesector in Blood instead of the limited homegrown FindSector variant. 2022-10-11 18:09:48 +02:00
Christoph Oelckers
085839af32 - CheckPickUp floatification 2022-10-10 17:37:20 +02:00
Christoph Oelckers
a808f04415 - cansee refactoring part 4 2022-10-10 17:37:20 +02:00
Christoph Oelckers
3da68ab038 - cansee refactoring, part 3 2022-10-10 17:37:20 +02:00
Christoph Oelckers
80412bdc51 - cansee refactoring, part 2 2022-10-10 17:37:20 +02:00
Christoph Oelckers
781ffc9a43 - cansee refactoring, part 1. 2022-10-10 17:37:20 +02:00
Christoph Oelckers
1c154a984d - floatified XSPRITE::TargetPos 2022-10-10 17:37:19 +02:00
Christoph Oelckers
d26a4e70c3 - wrapped XSPRITE::TargetPos 2022-10-10 17:37:19 +02:00
Christoph Oelckers
4888b363e8 - added vector variant of gFX.fxSpawnActor 2022-10-10 17:37:19 +02:00
Christoph Oelckers
139969d017 - FindSector variants with vectors 2022-10-10 17:37:19 +02:00
Christoph Oelckers
f41c78d622 - actDropObject 2022-10-10 17:37:19 +02:00
Christoph Oelckers
e7ec2c072a - floatified Blood’s startpos 2022-10-10 17:37:19 +02:00
Christoph Oelckers
cb39a07580 - position in actSpawnSprite 2022-10-10 17:37:18 +02:00
Christoph Oelckers
08c19cd2a4 - floatified CheckProximity position parameter 2022-10-10 17:37:18 +02:00
Christoph Oelckers
12d54a8b5c - use vector math for distances in actRadiusDamage 2022-10-10 17:37:18 +02:00
Christoph Oelckers
9460239417 - pass a vector to GetClosestSpriteSectors 2022-10-10 17:37:18 +02:00
Christoph Oelckers
64cf9a4ec6 - pass vector position to actRadiusDamage 2022-10-10 17:37:18 +02:00
Christoph Oelckers
645c606e39 - floatified ConcussSprite 2022-10-10 17:37:18 +02:00
Christoph Oelckers
45f37525e0 - minor angle stuff in Blood 2022-10-10 17:31:30 +02:00
Christoph Oelckers
209867e036 - cleaned out some unnecessary inlines. 2022-10-09 22:00:43 +02:00
Christoph Oelckers
ade20cbfe2 - some angular stuff. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
766ddeb445 - one more batch of trivial replacements 2022-10-09 08:21:53 +02:00
Christoph Oelckers
f13d9892dc - trivial wrapper replacements in Duke 2022-10-09 08:21:53 +02:00
Christoph Oelckers
4db457f3b0 - stuff in animatesprite.cpp 2022-10-09 08:21:53 +02:00
Christoph Oelckers
96e6424772 - floatified damage logic in aibeast.StompSeqCallback 2022-10-08 19:28:57 +02:00
Christoph Oelckers
aa0080039f - refactored coordinate display to have a single unified printing function.
The games will now only return the data, this has also been added for Exhumed.
Printing will now be in actual map units, not build's internal mixed format.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
b32c4444c4 - replaced all add_int_z calls with constants. 2022-10-08 19:28:57 +02:00
Christoph Oelckers
424a58f91b - Blood: sfxPlay3DSound 2022-10-08 16:11:23 +02:00
Christoph Oelckers
4d02cdcce9 - use explicit types in hitscan calls 2022-10-06 20:50:47 +02:00
Christoph Oelckers
5505c362e2 - floatified hitpos 2022-10-05 18:11:59 +02:00
Christoph Oelckers
55ade2eda4 - use int_hitpos() access function where applicable 2022-10-05 18:10:44 +02:00
Christoph Oelckers
296b5d7edd - renamed HitInfo::hitpos 2022-10-05 18:03:41 +02:00
Christoph Oelckers
64391c52f9 - large batch of set_int_pos, minus Exhumed 2022-10-05 17:33:01 +02:00
Mitchell Richters
478e7a6801 - Eliminate some TAngle floating point Build method usage. 2022-10-05 00:36:31 +02:00
Mitchell Richters
d28d6cd4cf - Utilise actor sprite's full precision in instances where angle was converted to Build and back again. 2022-10-05 00:36:30 +02:00
Mitchell Richters
5c84f93c08 - Use the static constexpr nullAngle everywhere possible. 2022-10-05 00:36:30 +02:00
Mitchell Richters
02dfe2cb62 - Repair interpolation issues following change of sprite angles from integer to DAngle types. 2022-10-05 00:36:30 +02:00