Commit graph

2176 commits

Author SHA1 Message Date
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
eedcfb46c6 - Convert calcviewpitch() to work with a temporary DAngle so we can eliminate the temporary tanhoriz() friend. 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
5bf23f0642 - Develop new scaled horizon return to centre with initial return from full articulation scaled by the pitch's sine.
* When coming back from a full view pitch using the original algorithm, the initial snap-back from 90 degrees is very aggressive.
* Return to centre speed retuned to be 1:1 to the ms with the tangent at Duke/SW's clamped pitch.
2022-10-25 07:06:54 +02:00
Mitchell Richters
d923ef9a8c - Perform horizon's return to centre using pitch instead of tangent.
* Return to centre speed tuned to be 1:1 to the ms with the tangent at Duke/SW's clamped pitch.
2022-10-25 07:06:53 +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
fcdb360b92 - Add fixedhoriz::Sgn(). 2022-10-25 07:06:53 +02:00
Mitchell Richters
e4ae726015 - Rename fixedhoriz::aspitch() to Degrees() to match DAngle objects. 2022-10-25 07:06:53 +02:00
Mitchell Richters
5e11fc1a15 - Remove unused fixedhoriz methods and friends. 2022-10-25 07:06:52 +02:00
Christoph Oelckers
c94a361788 - deleted int_hitpos. 2022-10-25 07:06:48 +02:00
Christoph Oelckers
427e41d388 - allow 'sw...' cheats from the chat in Shadow Warrior. 2022-10-24 23:30:16 +02: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
0eacc8e68e - add_int_z is gone. 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
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
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
e6cfb165f8 - converted all remaining add_int_bvel* calls. 2022-10-22 20:41:26 +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
044b9e555b - floatified a bit more of nnExtProcessSuperSprites 2022-10-22 20:41:25 +02:00
Christoph Oelckers
09d66914f4 - LinePlaneIntersect
This is for calculating intersections with slope sprites later.
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
20043f6223 - use symbolic constants in neartag calls. 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
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
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
Christoph Oelckers
335df86213 - output floating point coordinates in validateSprite 2022-10-22 12:17:00 +02:00
Christoph Oelckers
a8ae8babe2 - cleanup of updatesector.h
Mainly not routing the float variants through the integer variants anymore and deprecating those.
FindSector was also moved into DoUpdateSector because both always need to be used together.
2022-10-22 12:17:00 +02:00
Mitchell Richters
85f716e49b - floatify calcviewpitch 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