Commit graph

2031 commits

Author SHA1 Message Date
Mitchell Richters
f5116dd787 - Pass a DAngle through to all the automap code. 2022-10-13 00:59:04 +02:00
Mitchell Richters
01ed871239 - Optimise spritetypebase::backupvec2() and remove now-unused backupx/y() methods. 2022-10-13 00:59:04 +02:00
Mitchell Richters
e970ed0f27 - Migrate spritetypebase::interpolatedvec3() to backend solution.
* Also eliminate unused `interpolatedvec2() method from class.
2022-10-13 00:59:03 +02:00
Mitchell Richters
1e36aa0e7f - Move TAngle<> interpolation function to common and add ones for TVector<> classes. 2022-10-13 00:59:03 +02:00
Mitchell Richters
bdf35ac3a9 - Eliminate spritetypebase::__interpolatedvec2(). 2022-10-13 00:59:03 +02:00
Mitchell Richters
0dcd209d91 - Fixed a missed interpolatedvaluef() fix. 2022-10-13 00:59:03 +02:00
Mitchell Richters
92b16907d2 - Use getincangle() in more places so it can be refactored easier later on. 2022-10-13 00:59:02 +02:00
Christoph Oelckers
d573ba4cad - pass map start as DVector3 2022-10-13 00:59:01 +02:00
Christoph Oelckers
40312d64c8 -coordinates 2022-10-13 00:59:01 +02:00
Christoph Oelckers
54cf1aea6f - got rid of CGibPosition 2022-10-13 00:59:00 +02:00
Christoph Oelckers
2f896b859b - made the code mostly signed-char safe.
This eliminates all char function parameters that are not really ASCII characters and casts all char argument to the ctype is... functions.
2022-10-12 22:12:30 +02:00
Christoph Oelckers
dc1c6976e2 - removed OSD_StripColors.
This was handling color control sequences in EDuke32 format which are totally irrelevant for Raze.
2022-10-12 22:10:37 +02:00
Christoph Oelckers
f269ceff64 slope functions with position vectors 2022-10-12 22:10:37 +02:00
Christoph Oelckers
a5a3669238 - eliminated the SetActor/Z function receiving a vec3_t pointer.
The only one left is the one with a DVector3 now.
2022-10-12 22:10:36 +02:00
Christoph Oelckers
f002425aee - use floats for internal SetActor(Z) functions. 2022-10-12 22:10:36 +02:00
Christoph Oelckers
00436bfdac - eliminated one UpdateActor pverload. 2022-10-12 22:10:36 +02:00
Christoph Oelckers
97223af592 - silenced a few conversion truncation warnings. 2022-10-12 15:49:07 +02:00
Christoph Oelckers
7a45738d7e - avoid integer math for wall sprites. 2022-10-10 17:37:18 +02:00
Christoph Oelckers
c59e4f8a10 - floatified sprext.position_offset 2022-10-10 17:37:17 +02:00
Christoph Oelckers
2954603573 - got rid of integer vector math in hw_bunchdrawer.cpp 2022-10-10 17:37:17 +02:00
Christoph Oelckers
45f37525e0 - minor angle stuff in Blood 2022-10-10 17:31:30 +02:00
Christoph Oelckers
80e10d89f4 - added alignceilslope and alignflorslope variants receiving a position vector. 2022-10-10 17:31:28 +02:00
Christoph Oelckers
24b23d6919 - floatified PLAYER::ceiling_dist/floor_dist. 2022-10-09 22:30:51 +02:00
Christoph Oelckers
209867e036 - cleaned out some unnecessary inlines. 2022-10-09 22:00:43 +02:00
Christoph Oelckers
b2d0d7f9e5 - normalize the timer with the app start, not the epoch.
This ensures smaller values and less wraparounds with integer values in scripts.
2022-10-09 14:50:45 +02:00
Christoph Oelckers
7873fd7c3c - int_floorz/int_ceilingz in the renderer. 2022-10-09 08:21:52 +02:00
Christoph Oelckers
aa0080039f - refactored coordinate display to have a single unified printing function.
The games will now only return the data, this has also been added for Exhumed.
Printing will now be in actual map units, not build's internal mixed format.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
4d02cdcce9 - use explicit types in hitscan calls 2022-10-06 20:50:47 +02:00
Christoph Oelckers
55aa981f89 - ppos.Z assignments 2022-10-06 20:50:46 +02:00
Christoph Oelckers
8e966fc575 - int_ppos replacements 2022-10-06 20:50:45 +02:00
Christoph Oelckers
e71254dfa6 - floatified some parts of the SO interface for consistent use of MAXSO. 2022-10-06 20:50:45 +02:00
Christoph Oelckers
32e1f07b60 - eliminate all use of integer coordinates in the sector geometry creation code.
This eliminates the last small remnants of texture twitching in SW as well.
2022-10-05 18:31:46 +02:00
Christoph Oelckers
3a9f9988f4 - redid clipinsidebox* functions.
* Completely rewritten to be less obtuse.
* Consolidated the two variants.
* Renamed to be clearer about what they do.
2022-10-05 18:31:45 +02:00
Christoph Oelckers
b9d0c9d6ba - simplified slope sprite code a bit and got rid of clipinsidebox overload. 2022-10-05 18:29:30 +02:00
Christoph Oelckers
0a3bd7a3a3 - walltype::fdelta 2022-10-05 18:29:04 +02:00
Christoph Oelckers
91f305125e - floatified GetWallSpritePosition and redirected get_wallspr_points to use it. 2022-10-05 18:29:04 +02:00
Christoph Oelckers
c712d594e0 - fully floatified GetFlatSpritePosition 2022-10-05 18:29:03 +02:00
Christoph Oelckers
21944d5ac2 - updatesectorz with DVector3. 2022-10-05 18:22:07 +02:00
Christoph Oelckers
5505c362e2 - floatified hitpos 2022-10-05 18:11:59 +02:00
Christoph Oelckers
55ade2eda4 - use int_hitpos() access function where applicable 2022-10-05 18:10:44 +02:00
Christoph Oelckers
296b5d7edd - renamed HitInfo::hitpos 2022-10-05 18:03:41 +02:00
Christoph Oelckers
64391c52f9 - large batch of set_int_pos, minus Exhumed 2022-10-05 17:33:01 +02:00
Mitchell Richters
5f586ee40c - Tiny bit of abstraction in PlayerAngle struct. 2022-10-05 00:36:32 +02:00
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
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
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
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
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
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
Christoph Oelckers
6bdfa09dd1 - the remaining angle stuff. 2022-10-05 00:36:21 +02:00
Christoph Oelckers
c2f4fa8bb5 - more angles 2022-10-04 23:56:44 +02:00
Christoph Oelckers
f54e4b8a9a - more int_ang() 2022-10-04 23:56:43 +02:00
Christoph Oelckers
33d5b54ce0 - use int_ang(). 2022-10-04 23:56:43 +02:00
Christoph Oelckers
735b9a8fed - renamed ang to __int_angle 2022-10-04 23:56:42 +02:00
Christoph Oelckers
06b8a9139e - handle most int_pos calls in common code. 2022-10-04 18:44:17 +02:00
Christoph Oelckers
022f22cd10 -replaced tspritetype::set_int_x/y. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
24c845f827 - remove float_pos wrapper. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
3c4e89185d - position cleanup in actor.cpp (mainly queball and recon) 2022-10-02 20:47:01 +02:00
Christoph Oelckers
66acab2ca0 - cleanup, part 1. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
fb4da6bbd4 - added some utilities.
This also had to use explicit types in a few places to clear ambiguities.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
665ee69eba - Duke: cleanup on z-checks, part 3. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
e3d5397d7e - floating point getslope functions.
# Conflicts:
#	source/build/include/build.h
2022-10-02 20:46:57 +02:00
Christoph Oelckers
4c80a19458 - removed unused __interpolatedvec3 function. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
7745701d4b - floatified opos. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
5df4caa82f - renamed interpolate functions as preparation for floatifying opos. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
403e1ad3b3 - Blood: floatified baseFloor and baseCeil. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
c1d603e1e9 - backend update from GZDoom. 2022-10-02 20:33:18 +02:00
Christoph Oelckers
57228f12a3 - fixed: sv_cheats was set to true, essentially rendering the cheat blocker for high skill levels in Duke and RR ineffective. 2022-10-01 09:10:13 +02:00
Christoph Oelckers
fdb13ffdfd - first simple batch of wrapper removal. 2022-08-27 10:50:11 +02:00
Christoph Oelckers
a59a771209 - use floats for ceilingz/floorz storage. 2022-08-27 10:49:59 +02:00