Commit graph

12387 commits

Author SHA1 Message Date
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
c94a361788 - deleted int_hitpos. 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
861423248f - Backend update from GZDoom.
Mainly fixing CVar setup.
2022-10-25 07:03:25 +02:00
Christoph Oelckers
427e41d388 - allow 'sw...' cheats from the chat in Shadow Warrior. 2022-10-24 23:30:16 +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
alexey.lysiuk
2df33e7d8a - removed obsolete defaults from Cocoa backend
This legacy code from the time of exclusive fullscreen mode began to crash after changes in console variables handling
2022-10-24 10:26:57 +03:00
Christoph Oelckers
38998f36b5 - minor int_* replacements in the backend. 2022-10-23 18:47:17 +02:00
Christoph Oelckers
a409e03570 - deleted set_int_ang 2022-10-23 18:47:17 +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
0eacc8e68e - add_int_z is gone. 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
de70e802ec - downgraded all LGPL3 license headers in the backend to LGPL2.
This had already been agreed by all involved authors, but apparently not all files were changed accordingly.
2022-10-23 18:46:17 +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
f1514bbc52 - alternative math for slope planes in hitscan. 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
2991bc752b - split out the pure math stuff from gamefuncs.h into a utility header in 'common'.
Also did a bit of reshuffling on gamefuncs.h to group content better.
2022-10-22 20:41:26 +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
Mitchell Richters
6ca42dc08c - Slightly clean up calcChaseCamPos(). 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
Christoph Oelckers
c995777ef7 - restored DYN_OPENAL which got accidentally deleted by the last backend update. 2022-10-22 19:43:55 +02:00
Christoph Oelckers
09d66914f4 - LinePlaneIntersect
This is for calculating intersections with slope sprites later.
2022-10-22 12:17:04 +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
Christoph Oelckers
3f540c3201 - removed unused global variable. 2022-10-22 12:17:03 +02:00
Christoph Oelckers
0501482160 - added missing distance check for sprites to hitscan. 2022-10-22 12:17:03 +02:00
Christoph Oelckers
dcd4ee133b - use a simpler method to calculate the intersection point in intersectSprite and fixed the distance check. 2022-10-22 12:17:03 +02:00
Christoph Oelckers
9c564db015 - replaced try_facespr_intersect with something independently written. 2022-10-22 12:17:03 +02:00
Christoph Oelckers
9ce30d7963 - deleted the unused integer rotatepoint function. 2022-10-22 12:17:03 +02:00
Christoph Oelckers
28a169d02d - cansee floating point rewrite using backend utilities. 2022-10-22 12:17:02 +02:00
Christoph Oelckers
14a8dd451e - redid lintersect with backend utilities.
I left out EDuke32's new handling for collinear traces because it not only was never active but also makes really no sense with neartag which is lintersect's only caller.
2022-10-22 12:17:02 +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
9172ab27ca - move all deprecated functions to the bottom in gamefuncs.h. 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
Christoph Oelckers
e4ca397898 - corrected sector check output in validateSprite. 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
Christoph Oelckers
2cc81d0165 - floating point version of rintersect, based on GZDoom's P_InterceptVector. 2022-10-22 12:17:01 +02:00
Christoph Oelckers
b7ddd9e784 - added InterceptVector from GZDoom.
This will be useful for some backend stuff.
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