Commit graph

1837 commits

Author SHA1 Message Date
Mitchell Richters
9dd27ee3a2 - Remove old integer dragpoint() interface that was used by floats in lots of places.
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Christoph Oelckers
22ccf33569 - floatified walldist parameter of getzrange 2022-10-25 07:07:14 +02:00
Christoph Oelckers
3c3b602989 - made getzrangepoint slope sprite aware. 2022-10-25 07:07:13 +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
a952c35669 - SW: Convert DoPlayerDeathHoriz() to work on pitch and remove now-unused buildhoriz(). 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
06a9a7b1a7 - SW: Change all weapon recoils to work on pitch. 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
d8a6471680 - Add fixedhoriz::Tan() and replace most asbuildf() calls with it. 2022-10-25 07:06:53 +02:00
Mitchell Richters
f6f88f587d - SW: Consolidate random range applied to weapon vel.Z into an inline. 2022-10-25 07:06:53 +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
243c071834 - got rid of bsinf and bcosf. 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
Christoph Oelckers
c5a5e3cef5 - deleted some unused deprecated functions. 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
6a1ff029b7 - floatified getslopeval and all related code. 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
375d346ae8 - pass a vector to the processSprites interface. 2022-10-22 12:16:56 +02:00
Christoph Oelckers
ca8b9e9793 - overhauled getzrangepoint to use backend utilities 2022-10-22 12:09:54 +02:00
Christoph Oelckers
3c9a94dba8 - consolidated Duke’s ‚away from wall‘ check in the backend
This was also very useful in SW to avoid spawning ‚floating‘ footprints due to lack of an equivalent check in the original.
2022-10-21 00:00:02 +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
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
Christoph Oelckers
ccbe472444 - added NULL check where it can crash when noclipping. 2022-10-19 18:25:43 +02:00
Christoph Oelckers
1553ec812d - magic carpet fixes for SW's $woods.map
* the track point code needs to retain the original distance function because in this case the difference can be critical as it interprets map data.
* two cases of bad vertical distance calculation due to unclear original code.
2022-10-19 17:49:19 +02:00
Christoph Oelckers
6e11a4317e - SW: fixed savegame pic generation corrupting the actor list.
This case missed the call to PostDraw which is responsible for cleaning up some temporary data.
2022-10-19 00:11:44 +02:00
Christoph Oelckers
0cef35c345 - SW: when an actor is killed, all attached ambient sounds must be deleted.
Not only did the sound not stop but what happened here was very much undefined behavior as the ambient sound retained its pointer to now undefined memory.
2022-10-19 00:05:35 +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
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
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
d664f50240 - wrapped more clipdists 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
cb0be471d1 - hack macros to reduce clipdist search noise
Will be removed later
2022-10-17 17:03:53 +02:00
Christoph Oelckers
9721d80f44 - more assignment wraps 2022-10-17 17:03:53 +02:00
Christoph Oelckers
3fc592c505 - wrap clipdist copy 2022-10-17 17:03:53 +02:00
Christoph Oelckers
51c059657b - wrapped all literal assignments to clipdist - part 6 2022-10-17 17:03:53 +02:00
Christoph Oelckers
c55fdd41e8 - wrapped all literal assignments to clipdist - part 5 2022-10-17 17:03:53 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Christoph Oelckers
7fb7146b7b - floatify CloseRangeDist’s fudge parameter 2022-10-17 17:03:52 +02:00
Christoph Oelckers
8f94b337ac - removed another dead function. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
e15a89fc70 - found one more place using Build angles. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
be1f510728 - eliminated DAMAGE function. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
13c0455b0a - removed bad 'inline's. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3c78429210 - DoPickTarget. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
ef6ba17dfd - more cleanup. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
ee669a1fec - cleanup 2022-10-17 17:03:52 +02:00
Christoph Oelckers
1a365997d8 - took care of most of zinttoworld 2022-10-17 17:03:52 +02:00
Christoph Oelckers
82ac3c50e8 - handle bsin / bcos. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3dbf7740c0 - InitShotgun 2022-10-17 17:03:52 +02:00
Christoph Oelckers
af0809ef36 - eliminated MOVExy 2022-10-17 17:03:52 +02:00
Christoph Oelckers
d957e8cfcf - set_int_change is gone. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
5a437aa563 - the last velocity bit. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
a7d07df55f - the final part of z-velocity wrappers. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
4043cd6f83 - TestMissileSetPos 2022-10-17 17:03:51 +02:00
Christoph Oelckers
ab89708c80 - the last int_vel's. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
54acf530e7 - another portion of z-velocity awfulness. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
44803c1109 - lots of z-velocity crap.
The math for this is atrocious...
2022-10-17 17:03:51 +02:00
Christoph Oelckers
5a3d4a4b42 - set_int_ang, add_int_ang in SW 2022-10-17 17:03:51 +02:00
Christoph Oelckers
37b8b63dac - handle all remaining int_ang in weapon.cpp. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
b2b1522185 - fixed a few bad length calculations 2022-10-17 17:03:51 +02:00
Christoph Oelckers
0e57a9f3c7 - some more angles. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
dd22e812a6 - handle several angle assignments 2022-10-17 17:03:51 +02:00
Christoph Oelckers
276960ac08 - handle PlayerFacingRange 2022-10-17 17:03:51 +02:00
Christoph Oelckers
2fd918674d - floatify FacingRange 2022-10-17 17:03:51 +02:00
Christoph Oelckers
8b70326da5 - handle PlayerDamageSlide and ActorDamageSlide. 2022-10-17 17:03:11 +02:00
Christoph Oelckers
16cc147173 - fixed bad distance check.
This originally was 18000, not 10000
2022-10-17 07:12:38 +02:00
Christoph Oelckers
2f1cda39fa - floatified DoBloodWorm 2022-10-16 23:54:20 +02:00
Christoph Oelckers
f6a21216ee - floatified InitEnemyFireball 2022-10-16 23:54:20 +02:00
Christoph Oelckers
a1993bbde4 - floatified InitTurretMgun 2022-10-16 23:54:20 +02:00
Christoph Oelckers
a75531a5b8 - floatified InitSobjMachineGun 2022-10-16 23:54:20 +02:00
Christoph Oelckers
622dea3ebf - floatify InitTurretMicro 2022-10-16 23:54:20 +02:00
Christoph Oelckers
fdabd75422 - got rid of DistanceI. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
9a464e81e7 - deal with distances and CloseRangeDist. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
b7b5e34fb6 - floatified WeaponAutoAimHitscan 2022-10-16 23:54:19 +02:00
Christoph Oelckers
150202d782 - third batch 2022-10-16 23:54:19 +02:00
Christoph Oelckers
2932cb81b2 - floatify TraverseBreakableWalls. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
5f5b7d90f1 - second batch of weapon.cpp floatification 2022-10-16 23:54:19 +02:00
Christoph Oelckers
8cd65bf5d9 - first round of weapon.cpp floatification 2022-10-16 23:54:19 +02:00
Christoph Oelckers
75476d84dd - add a floating point wrapper for USER:Radius.
Changing the variable causes more problems than it solves.
2022-10-16 23:54:19 +02:00
Christoph Oelckers
a441e01363 - several DISTANCE calls in weapon.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
ab8fbb0f35 3 x DISTANCE in weapon.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
73998f556f - 4x DISTANCE in skull.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
f683f89580 - comment cleanup 2022-10-16 23:54:18 +02:00
Christoph Oelckers
f47540dd3f - floatified warp.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
620613b088 - floatified wallmove. 2022-10-16 23:54:18 +02:00
Christoph Oelckers
cc73e90ce5 - function separators and dead code removal in weapon.cpp and wallmove.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
da664b9964 - deal with the last remaining bits of integer math in track.cpp. 2022-10-16 23:54:18 +02:00
Christoph Oelckers
e4b0be9f1d - pass a vector to JS_CameraParms 2022-10-16 23:54:17 +02:00
Christoph Oelckers
ca7488672f - floatified angle assignments in skull.cpp 2022-10-16 23:54:17 +02:00
Christoph Oelckers
3e3e3714dc - function separators in 6 files 2022-10-16 10:59:05 +02:00