Commit graph

1773 commits

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