Commit graph

11029 commits

Author SHA1 Message Date
Mitchell Richters
2757140ad1 - Convert all remaining angle internals of PlayerAngle into DAngle units.
* With the old setup, we needed to use primitives to get the desired outcome, but since DAngle stores a proper angle in true degrees, we can use it all the way.
2022-10-05 00:36:32 +02:00
Mitchell Richters
bd7a004c4c - Convert delta test in PlayerAngle::processhelpers() to degrees, missed during cf2788b14b3d5c2e0533ad4cdc7912253848a5b9. 2022-10-05 00:36:32 +02:00
Mitchell Richters
69dff8658f - Move getincangle() from gameinput.h to gamefuncs.h.
* Should be eliminated fairly soon, anyway.
2022-10-05 00:36:32 +02:00
Mitchell Richters
3de1d2156d - Rename binaryangle.h to fixedhorizon.h and sanitise places where previous header was included. 2022-10-05 00:36:31 +02:00
Mitchell Richters
442d1f3bd3 - Move Build interpolation helper inlines into new header file.
* Needed to be in new header to avoid some circular dependencies.
2022-10-05 00:36:31 +02:00
Mitchell Richters
1a0b8aff69 - Move Build vector angle functions from binaryangle.h to gamefuncs.h. 2022-10-05 00:36:31 +02:00
Mitchell Richters
7c7351db8d - Move build sine functions from binaryangle.h to gamefuncs.h. 2022-10-05 00:36:31 +02:00
Mitchell Richters
478e7a6801 - Eliminate some TAngle floating point Build method usage. 2022-10-05 00:36:31 +02:00
Mitchell Richters
d28d6cd4cf - Utilise actor sprite's full precision in instances where angle was converted to Build and back again. 2022-10-05 00:36:30 +02:00
Mitchell Richters
5c84f93c08 - Use the static constexpr nullAngle everywhere possible. 2022-10-05 00:36:30 +02:00
Mitchell Richters
02dfe2cb62 - Repair interpolation issues following change of sprite angles from integer to DAngle types. 2022-10-05 00:36:30 +02:00
Mitchell Richters
47ed6cbd61 - Restore internals of spritetypebase::norm_ang(). 2022-10-05 00:36:30 +02:00
Mitchell Richters
7600a77641 - Fix issues with spritetypebase int angle methods. 2022-10-05 00:36:30 +02:00
Christoph Oelckers
fe6fcdff1f - use DAngle for actors
Note that intangle needs to be kept - primarily for SW's ST tags.
2022-10-05 00:36:29 +02:00
Mitchell Richters
bd6b0eaac5 - Fix some constexpr issues with the latest DAngle works.
* We can't make `BAMs()` constexpr as we can't update to a C++20 compatible version of xs_Float where we use legal std::bit_cast instead of a union.
2022-10-05 00:36:29 +02:00
Mitchell Richters
0edc6024e6 - Remove superfluous use of Normalized180() method on an angle. 2022-10-05 00:36:29 +02:00
Mitchell Richters
951734beae - Eliminate last remaining uses of binangle and the class itself.
* https://www.youtube.com/watch?v=RgKAFK5djSk
2022-10-05 00:36:29 +02:00
Christoph Oelckers
6aaee85875 - leftover binangle uses from the coordinate refactoring. 2022-10-05 00:36:29 +02:00
Christoph Oelckers
02ce593f06 -removed leftover binangles in Blood's animatesprites.cpp 2022-10-05 00:36:28 +02:00
Mitchell Richters
abb8b87be1 - Eliminate last remaining binangle inline utilities. 2022-10-05 00:36:28 +02:00
Mitchell Richters
dd55569915 - Eliminate getincanglebam(). 2022-10-05 00:36:28 +02:00
Mitchell Richters
c25493762b - Eliminate bvectangbam(). 2022-10-05 00:36:28 +02:00
Mitchell Richters
ad908719ec - Remaining manual changes to replace player's ang with DAngle object. 2022-10-05 00:36:27 +02:00
Mitchell Richters
b23e77d9c7 - Replace player's ang with DAngle object.
* This commit does not build. Committed items are everything that's been done by find and replace.
* Next commit has hand-performed changes that are better separated out for clarity.
2022-10-05 00:36:27 +02:00
Mitchell Richters
7a6f5c0864 - Replace binangle usage in PlayerHorizon::calcviewpitch() with DAngle object. 2022-10-05 00:36:27 +02:00
Mitchell Richters
dbc46e2a75 - Change out PlayerAngle::settarget()'s input from binangle to DAngle. 2022-10-05 00:36:27 +02:00
Mitchell Richters
a090f31bc4 - Change out PlayerAngle::addadjustment()'s input from binangle to DAngle. 2022-10-05 00:36:26 +02:00
Mitchell Richters
782fb08209 - SW: Make better use of some TAngle backend utilities. 2022-10-05 00:36:26 +02:00
Mitchell Richters
13ea55b4cb - Replace player's rotscrnang and look_ang angles with DAngle objects.
* Went the el cheapo route and added some floating point Build angle methods. As these and the integer build methods are really just refactoring aids, we'll come back to this in due course.
2022-10-05 00:36:26 +02:00
Mitchell Richters
728edc182d - Remove last main usage of binangle outside of the game's input code. 2022-10-05 00:36:26 +02:00
Mitchell Richters
4f56138027 - Change all remaining BunchDrawer properties from binangle to angle_t types. 2022-10-05 00:36:25 +02:00
Mitchell Richters
e6fe9b7031 - Change all binangle members in Clipper struct to angle_t. 2022-10-05 00:36:25 +02:00
Mitchell Richters
914930ff9a - Change BunchDrawer::ang1, BunchDrawer::ang2 and BunchDrawer::angrange from binangle to angle_t. 2022-10-05 00:36:25 +02:00
Mitchell Richters
e17d24ce0b - Change FBunch::startangle and FBunch::endangle from binangle to angle_t. 2022-10-05 00:36:25 +02:00
Mitchell Richters
36d76a71ea - Change walltype::clipangle from binangle to angle_t. 2022-10-05 00:36:25 +02:00
Mitchell Richters
d3022947eb - Replace use of binangle in gi->processSprites() with DAngle object. 2022-10-05 00:36:24 +02:00
Mitchell Richters
d6f405c229 - Blood: Remove leftover Polymost draw code prototype. 2022-10-05 00:36:24 +02:00
Mitchell Richters
6167448f27 - Blood: Replace all uses of binangle with DAngle objects. 2022-10-05 00:36:24 +02:00
Mitchell Richters
0b33f39fcd - Duke: Replace all uses of binangle with DAngle objects. 2022-10-05 00:36:24 +02:00
Mitchell Richters
aee102ba73 - Exhumed: Replace all uses of binangle with DAngle objects.
# Conflicts:
#	source/games/exhumed/src/view.cpp
2022-10-05 00:36:23 +02:00
Mitchell Richters
8912d7d6cc - SW: Change RevolveAng, RevolveDeltaAng and GlobSpeedSO to DAngle objects.
* For now, SW is as `binangle` free as it can be until other backend parts are changed.
2022-10-05 00:36:23 +02:00
Mitchell Richters
3242b8fd81 - SW: Remove leftover Polymost draw code prototype. 2022-10-05 00:36:23 +02:00
Mitchell Richters
2f76ca100f - SW: Replace last uses of binangle in game's draw code with DAngle objects.
* Easiest done in one hit since we had pointers and things to deal with.
2022-10-05 00:36:23 +02:00
Mitchell Richters
ebac932efe - Update render_drawrooms() and render_camtex() to work off DAngle objects. 2022-10-05 00:36:23 +02:00
Mitchell Richters
c935fc2226 - Refactor chase cam positional code to use DAngle input rather than binangle.
* These changes still maintain Build's integer positional values in Q28.4/Q24.8, changing this will be done later on.
2022-10-05 00:36:22 +02:00
Mitchell Richters
54ef648936 - SW: Change limit_ang_center and limit_ang_delta to DAngle objects. 2022-10-05 00:36:22 +02:00
Mitchell Richters
303e7ddf76 - Replace binangle in ShadowWarrior::PREDICT with DAngle object(s). 2022-10-05 00:36:22 +02:00
Mitchell Richters
08b10a7320 - Replace binangle in ShadowWarrior::UpdateSounds() with DAngle object(s). 2022-10-05 00:36:22 +02:00
Christoph Oelckers
9a27dc2020 - handle all leftover __int_angles.
Most were in comments but were changed anyway.
2022-10-05 00:36:21 +02:00
Christoph Oelckers
6bdfa09dd1 - the remaining angle stuff. 2022-10-05 00:36:21 +02:00