Commit graph

5655 commits

Author SHA1 Message Date
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