Commit graph

11050 commits

Author SHA1 Message Date
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
Christoph Oelckers
2d51058de8 - add_int_ang 2022-10-05 00:35:14 +02:00
Christoph Oelckers
c2f4fa8bb5 - more angles 2022-10-04 23:56:44 +02:00
Christoph Oelckers
2533841541 - set_int_ang in SW. 2022-10-04 23:56:44 +02:00
Christoph Oelckers
6381015229 - set_int_ang in SW, part 1. 2022-10-04 23:56:44 +02:00
Christoph Oelckers
d55a84d7eb - set_int_ang in Exhumed 2022-10-04 23:56:44 +02:00
Christoph Oelckers
150ab95a3a - set_int_ang in Duke.
Also changed SOUNDFX actor to use a different variable for its index.
2022-10-04 23:56:43 +02:00
Christoph Oelckers
8f904c2256 - angle assignments in Blood. 2022-10-04 23:56:43 +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
9bac3b8857 - floatified DBloodActor::basePoint. 2022-10-04 23:56:24 +02:00
Christoph Oelckers
a860a21bde - use floats in viewInsertTSprite 2022-10-04 18:44:17 +02:00
Christoph Oelckers
06b8a9139e - handle most int_pos calls in common code. 2022-10-04 18:44:17 +02:00
Christoph Oelckers
87ef58c07e - DVector3 version of EGS. 2022-10-04 18:44:17 +02:00
Christoph Oelckers
25a048c62f - fully floatified the crane data. 2022-10-04 18:44:17 +02:00
Christoph Oelckers
9392e31b33 - remove C-style struct parameters. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
ef9534d9fa - deleted unused wrapper method. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
022f22cd10 -replaced tspritetype::set_int_x/y. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
d654f23613 - handle_se00 cleanup 2022-10-04 18:44:16 +02:00
Christoph Oelckers
838d28b934 - more simple replacements. 2022-10-04 18:44:16 +02:00
Christoph Oelckers
3edbec4f55 - use copyXY method where possible. 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
b327f7f03a - some simple replacements. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
1ab1852af8 - do not use ovel to store a sound index. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
05d8cee911 - more cleanup. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
9d4e467268 - did some more. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
95bc8a173f - animatesprites clear of player_int_pos. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
0bf60d53ee - another batch 2022-10-04 18:43:40 +02:00
Christoph Oelckers
3b66cd4047 - more floatification cleanup. 2022-10-02 20:47:01 +02:00
Christoph Oelckers
8bba3b24b5 - floatification access method cleanup in actors_d.cpp. 2022-10-02 20:47:01 +02:00
Christoph Oelckers
f5abeb97e4 - floatification access method cleanup in actors.cpp. 2022-10-02 20:47:01 +02:00
Christoph Oelckers
3c4e89185d - position cleanup in actor.cpp (mainly queball and recon) 2022-10-02 20:47:01 +02:00
Christoph Oelckers
29ae7f7a02 - floatified bobpos. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
b8eb66cccf - Duke: floatified the sector rotation code.
This gives a *massive* improvement to the precision of rotating sectors, most notably the main part of E2L10 "Spin Circle".
2022-10-02 20:47:00 +02:00
Christoph Oelckers
494653a724 - floatified rotation in handle_se00 2022-10-02 20:47:00 +02:00
Christoph Oelckers
1f49f62d75 - cleanup, part 3. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
dd7544c7a6 - cleanup, part 2. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
66acab2ca0 - cleanup, part 1. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
e878ecb511 - floatified player_struct::pos. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
86076b2871 - use player_add_int_xy and player_set_int_xy. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
44dc2a692f - wrapped player::pos z-assignments. 2022-10-02 20:46:59 +02:00
Christoph Oelckers
9cd57f4510 - pushmove wrapper and a few other replacements. 2022-10-02 20:46:59 +02:00
Christoph Oelckers
8482e66caa - __int_opos is gone. 2022-10-02 20:46:59 +02:00
Christoph Oelckers
d6523c30f2 - one more 2022-10-02 20:46:59 +02:00
Christoph Oelckers
c5fb88e203 - another batch of utility use 2022-10-02 20:46:59 +02:00
Christoph Oelckers
8ba7cb0ddb - use the player position utilities in actor*.cpp 2022-10-02 20:46:59 +02:00
Christoph Oelckers
3f33719c36 - added position utilities to player_struct. 2022-10-02 20:46:59 +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
312ee075d2 - use wrapper functions for pos/opos where possible. 2022-10-02 20:46:58 +02:00
Christoph Oelckers
591dcc995a - added a float version of gs.playerheight. 2022-10-02 20:46:58 +02:00
Christoph Oelckers
1e1188ae73 - use gs.playerheight consistently.
There were still several cases using the game specific constants.
2022-10-02 20:46:58 +02:00
Christoph Oelckers
564ec9e518 - renamed player_struct::opos 2022-10-02 20:46:58 +02:00
Christoph Oelckers
5f4c35e9aa - renamed player_struct::pos 2022-10-02 20:46:58 +02:00
Christoph Oelckers
6bd854da88 - floatified player_struct::truecz/truefz. 2022-10-02 20:46:58 +02:00
Christoph Oelckers
7fce0ed7ae - renamed truefz and truecz 2022-10-02 20:46:57 +02:00
Christoph Oelckers
8f64518637 - Duke: cleanup on z-checks, part 4. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
665ee69eba - Duke: cleanup on z-checks, part 3. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
6eabe4e152 - Duke: cleanup on z-checks, part 2. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
b853e9caa0 - Duke: cleanup on z-checks, part 1. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
4506b5cb08 - cleaned up the remaining uses of the integer floorz/ceilingz variables.
This concerns two particularly ugly blocks of code in the move functions - these were fully redone with pure floating point math.
2022-10-02 20:46:57 +02:00
Christoph Oelckers
89c0e4234c - remapped all copy assignments to DDukeActor::ceilingz/floorz.
This commit does not work! It was split for clarity.
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
4787bddddd - Duke: replaced most read access to DDukeActor::floorz/ceilingz with a wrapper function. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
793e9b7623 - renamed DDukeActor::floorz, ceilingz. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
4c80a19458 - removed unused __interpolatedvec3 function. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
6816e32d23 - call float 'interpolated' functions for setting tsprite's pos. 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
41ba829665 - fixed compile 2022-10-02 20:45:53 +02:00
Christoph Oelckers
c1d603e1e9 - backend update from GZDoom. 2022-10-02 20:33:18 +02:00
Christoph Oelckers
5a27390eaf - Blood: don't crash when trying to render from outside a sector. 2022-10-02 09:52:13 +02:00
Christoph Oelckers
631bea6a98 - v3df_follow cannot be disabled.
This caused the sound field to deteriorate. Fortunately the flag was already ignored for player sounds so hopefully it's ok like this.
2022-10-01 16:09:53 +02:00
Christoph Oelckers
f1bdee015d - SW: fixed Bouncing Betty not spawning on Twin Dragon's $outpost.map 2022-10-01 15:57:40 +02:00
Christoph Oelckers
de81bb18c8 - Exhumed: fixed vertical aiming for hitscan weapons.
This code originally did some inept parameter merging which got broken in an earlier refactoring.
2022-10-01 14:35:20 +02:00
Christoph Oelckers
1482052c8a - fixed: chickens in RRRA did not autoaim in hitscan-only mode.
since these are homing missiles they always need to acquire a target, regardless of autoaim mode.
2022-10-01 14:34:55 +02:00
Christoph Oelckers
f307e22f4b - fixed SW's flash bomb. 2022-10-01 14:33:56 +02:00
Christoph Oelckers
9627f00f32 - Duke: added emulation for a sound system bug that prevents certain duplicate sounds from playing.
Since our sound system does not reject this case, the calling code must check for the relevant condition.
2022-10-01 12:59:43 +02:00
Christoph Oelckers
d1b4bef98d - don't draw invalid shadow sprites. 2022-10-01 10:01:56 +02:00