Commit graph

1911 commits

Author SHA1 Message Date
Christoph Oelckers
a6e35edc6c - replaced all set_native_clipdist
Note that truncation has to be preserved here to ensure the size stays the same as before so the MulScales were not resolved into their factors.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
ed5b35453a - ';;' cleanup 2022-10-30 16:51:15 +01:00
Christoph Oelckers
7ed45d713a - refactor all oclipdist uses 2022-10-30 16:51:15 +01:00
Christoph Oelckers
d22c473c31 - manual set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
48fda0cafd - second batch of set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
4af4983d3e - floatified clipdist and replaced fClipdist wrapper.
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Christoph Oelckers
88dcc37e94 - got rid of the wrappers for the SO angles. 2022-10-30 16:51:13 +01:00
Mitchell Richters
215fc7d407 - SW: Optimise DoPlayerDeathHoriz() a bit. 2022-10-30 16:51:12 +01:00
Mitchell Richters
cea2b6b428 - Rename PlayerHorizon::__horiz back to horiz. 2022-10-30 16:51:12 +01:00
Mitchell Richters
ff1d51b4fe - Fix 4x horiz negation issues. 2022-10-30 16:51:11 +01:00
Mitchell Richters
0600bf5860 - Negate everything to do with PlayerHorizon::__horiz where appropriate, including some loose horizoff members. 2022-10-30 16:51:11 +01:00
Mitchell Richters
619b8005ac - Rename PlayerHorizon::horiz in prep for negating this angle throughout code. 2022-10-30 16:51:11 +01:00
Christoph Oelckers
679e029c6d - do not save randomseed twice. 2022-10-30 16:51:09 +01:00
Christoph Oelckers
7d3babd678 - ported all pushmove calls to the float version. 2022-10-30 16:51:08 +01:00
Christoph Oelckers
f45acdc2a8 - floatified two SOP clipdist variables 2022-10-30 16:51:08 +01:00
Christoph Oelckers
9257fe0078 - fixed clipmove factors. 2022-10-30 16:51:08 +01:00
Christoph Oelckers
600c2a0243 - map all clipmove calls to the version with a full float interface. 2022-10-30 16:50:48 +01:00
Christoph Oelckers
a4dd5bb4ce - rewrote the model storage code.
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
8bc34f3dac - Handle all remaining VecToAngle() calls. 2022-10-27 16:55:53 +02:00
Mitchell Richters
1e7cce28af - VecToAngle() with delta() inside to .Angle() replacements. 2022-10-27 16:55:53 +02:00
Mitchell Richters
9b98388215 - VecToAngle() with XY() inside to .Angle() replacements. 2022-10-27 16:55:53 +02:00
Mitchell Richters
c00c8d196e - Simple VecToAngle() > .Angle() replacements. 2022-10-27 16:55:52 +02:00
Mitchell Richters
75047b6ad5 - Eliminate MulScaleF(). 2022-10-27 16:55:52 +02:00
Mitchell Richters
fc8c0b80aa - Clean up chase cam backwards scaling since we're now using floats of the same scale. 2022-10-25 07:07:14 +02:00
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
Christoph Oelckers
05af0c81d5 - floatified the remaining parts of draw.cpp 2022-10-16 10:59:05 +02:00
Christoph Oelckers
e737551b64 - moved setuo of opbob_pos to the correct place. 2022-10-16 10:59:04 +02:00
Mitchell Richters
8fec35b278 - SW: Interpolate player's pbob_amt. 2022-10-16 10:59:04 +02:00
Christoph Oelckers
baa6516e8c - floatified more of SW's draw.cpp 2022-10-16 10:59:04 +02:00
Christoph Oelckers
4dedda91c5 - floatified motion blur 2022-10-16 10:59:03 +02:00
Christoph Oelckers
5b8af8ff04 - removed useless line of code. 2022-10-16 10:59:03 +02:00
Christoph Oelckers
3df3676468 - got rid of int_ppos() 2022-10-16 10:59:03 +02:00
Christoph Oelckers
9103f4dbe8 - missed 2 vel in skull.cpp 2022-10-16 10:59:03 +02:00
Christoph Oelckers
b3a3f89f50 - silenced some warnings 2022-10-16 10:59:03 +02:00
Christoph Oelckers
4b2dd2136b - got rid of some leftovers 2022-10-16 10:58:34 +02:00
Christoph Oelckers
c0cc2b0760 - some remaining angle stuff in ripper code 2022-10-16 10:58:34 +02:00
Christoph Oelckers
68608b081b - function separators 2022-10-16 10:58:34 +02:00
Christoph Oelckers
5628590c7c - eliminated move_sprite wrapper 2022-10-16 10:58:34 +02:00
Christoph Oelckers
efe7f7c90e - floatified more of sprite.cpp 2022-10-16 10:57:45 +02:00
Christoph Oelckers
30d4d5ddfe - a bit more of sprite.cpp 2022-10-16 10:31:12 +02:00
Christoph Oelckers
1433253ca9 - floatified SpriteSetup 2022-10-16 10:31:12 +02:00
Christoph Oelckers
64b5ba8c68 - pass floating point velocities to SpawnActor
Also remove the fixed point variant
2022-10-16 10:31:12 +02:00
Christoph Oelckers
b03f3bbc1e - function separators again 2022-10-16 10:26:30 +02:00
Christoph Oelckers
327161de9f - floatified SpawnSplashXY 2022-10-16 10:26:30 +02:00
Christoph Oelckers
2e31e9d97c - floatified SpawnShotgunSparks, SpawnBoatSparks and ContinueHitscan 2022-10-16 10:26:30 +02:00
Christoph Oelckers
b73809c90c - floatified SpawnSwordSparks 2022-10-16 10:26:30 +02:00
Christoph Oelckers
9486d39360 - floatiified SW PlaySound 2022-10-16 10:26:30 +02:00
Christoph Oelckers
50668e45dd - had to partially revert the math for panning to integers.
The higher precision causes panning speed differences that are visible.
2022-10-16 10:26:30 +02:00
Christoph Oelckers
78c6888973 - eliminated remaining int math in sector.cpp 2022-10-16 10:26:30 +02:00
Christoph Oelckers
4d8386af39 - floatified BuildNearTagList 2022-10-16 10:26:30 +02:00
Christoph Oelckers
dc22b2e0ae - smaller changes in sector.cpp 2022-10-16 10:21:43 +02:00