Commit graph

11441 commits

Author SHA1 Message Date
Christoph Oelckers
2954603573 - got rid of integer vector math in hw_bunchdrawer.cpp 2022-10-10 17:37:17 +02:00
Christoph Oelckers
0767ffe41b - eliminated the last wrapper call for track points 2022-10-10 17:37:17 +02:00
Christoph Oelckers
23a0433b95 - the remaining track point stuff. 2022-10-10 17:37:17 +02:00
Christoph Oelckers
aa584c51ac - trackpoint wrapper cleanup 2022-10-10 17:37:17 +02:00
Christoph Oelckers
90cbb1be13 - more track stuff 2022-10-10 17:37:17 +02:00
Christoph Oelckers
767933dff9 - track stuff in ai.cpp 2022-10-10 17:37:17 +02:00
Christoph Oelckers
27152ae189 - floatified track point storage. 2022-10-10 17:37:17 +02:00
Christoph Oelckers
3ac4b6300f - code cleanup to eliminate wrappers. 2022-10-10 17:36:41 +02:00
Christoph Oelckers
45f37525e0 - minor angle stuff in Blood 2022-10-10 17:31:30 +02:00
Christoph Oelckers
ed12e333e3 - RANDOM_ANGLE + move_debris 2022-10-10 17:31:30 +02:00
Christoph Oelckers
834f833298 - 2 getangle calls refactored 2022-10-10 17:31:30 +02:00
Christoph Oelckers
ef1e77514d - floatified DoActorOperate 2022-10-10 17:31:30 +02:00
Christoph Oelckers
072cb5ccdf - floatified CanHitPlayer and sanitized its overcomplicated and broken math. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
bc5a92bcc9 - distance stuff in sound code. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
9444bd4370 - last FAFcansee bunch 2022-10-10 17:31:29 +02:00
Christoph Oelckers
7aca321fab - FAFcansee refactoring, part 5. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
9f9a315ce2 - FAFcansee refactoring, part 4. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
4aa5de689c - renamed old FAFcansee function for easier searching. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
ff6d1fd284 - FAFcansee refactoring, part 3. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
7eb2dede6a - FAFcansee refactoring, part 2. 2022-10-10 17:31:29 +02:00
Christoph Oelckers
5b7b8233e7 - FAFcansee refactoring, part 1. 2022-10-10 17:31:28 +02:00
Christoph Oelckers
6ee24a2213 - let ANIM work on the native floating point data. 2022-10-10 17:31:28 +02:00
Christoph Oelckers
80e10d89f4 - added alignceilslope and alignflorslope variants receiving a position vector. 2022-10-10 17:31:28 +02:00
Christoph Oelckers
98b06697f7 - pass position pointers to DISTANCE. 2022-10-10 17:31:28 +02:00
Christoph Oelckers
bd497a7e68 - floatified remote.pos. 2022-10-09 23:59:01 +02:00
Christoph Oelckers
837b31c672 - got rid of int_ploz and int_phiz. 2022-10-09 23:59:01 +02:00
Christoph Oelckers
7475a6cfb7 - renamed variable back. 2022-10-09 23:57:17 +02:00
Christoph Oelckers
e089100ab1 - floatified PLAYER::bob_amt 2022-10-09 23:56:15 +02:00
Christoph Oelckers
4dc2fc9151 - floatified 3 function interfaces. 2022-10-09 22:30:51 +02:00
Christoph Oelckers
24b23d6919 - floatified PLAYER::ceiling_dist/floor_dist. 2022-10-09 22:30:51 +02:00
Christoph Oelckers
8aab82691b - renamed two PLAYER members for easier searching. 2022-10-09 22:30:51 +02:00
Christoph Oelckers
6497456471 - most of int_phiz,int_ploz 2022-10-09 22:29:54 +02:00
Christoph Oelckers
e1a26c157d - leftovers 2022-10-09 22:00:43 +02:00
Christoph Oelckers
13d9505662 - PLAYER::hiz,loz refactoring, part 1 2022-10-09 22:00:43 +02:00
Christoph Oelckers
30b620c700 - removed unused oz_speed member variable. 2022-10-09 22:00:43 +02:00
Christoph Oelckers
209867e036 - cleaned out some unnecessary inlines. 2022-10-09 22:00:43 +02:00
Christoph Oelckers
e1ceab240b - SW's quake stuff 2022-10-09 22:00:43 +02:00
Christoph Oelckers
31dfd1af7a - eliminated most int_upos calls. 2022-10-09 21:57:30 +02:00
Christoph Oelckers
df2f68efc1 - messy ladder stuff. 2022-10-09 14:53:11 +02:00
Christoph Oelckers
17d5242958 - got rid of int_z_tgt 2022-10-09 14:53:11 +02:00
Christoph Oelckers
d2818322b0 - 2x int_hiz 2022-10-09 14:53:11 +02:00
Christoph Oelckers
7e963cb7a3 - floatified DoHornetMatchPlayerZ 2022-10-09 14:53:11 +02:00
Christoph Oelckers
0d24aeb3f5 - handle all remaining trivial int_loz. 2022-10-09 14:53:11 +02:00
Christoph Oelckers
5e14361dd6 - another set of 2 Utilities prepared for floatification. 2022-10-09 14:53:11 +02:00
Christoph Oelckers
82968f876f - floatified most of DoEelMatchPlayerZ 2022-10-09 14:53:11 +02:00
Christoph Oelckers
9ed66acd44 - renamed 2 integer functions to add float variants 2022-10-09 14:53:10 +02:00
Christoph Oelckers
abf9d764c4 - fix some z scaling mishap (again...)
- shadow stuff
2022-10-09 14:53:10 +02:00
Christoph Oelckers
30e6db9e3b - floatified DoVatorMove and got rid of int_oz. 2022-10-09 14:53:10 +02:00
Christoph Oelckers
af7e63137f - got rid of most int_oz calls. 2022-10-09 14:53:10 +02:00
Christoph Oelckers
9433f2ada8 - floatified DoCoolgMatchPlayerZ. 2022-10-09 14:53:10 +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
00b812a5ff - un-deprecated the integer MSTime variant.
Due to undefined downconversion rules from double to int, there is no way to safely downcast the return from MSTimef, meaning the function is completely useless for retrieving integral time stamps.
The old version is essential for these cases and must be kept around.
2022-10-09 13:47:55 +02:00
Christoph Oelckers
f53a61693b - floatified user.pos.
Special care needed to be taken for two cases where it did not store a coordinate.
2022-10-09 08:21:56 +02:00
Christoph Oelckers
f43a8d4fce - user.pos wrapping. 2022-10-09 08:21:56 +02:00
Christoph Oelckers
bc853d3a00 - user.zclip floatified 2022-10-09 08:21:56 +02:00
Christoph Oelckers
a93349b445 - messy pointer use cleaned up. 2022-10-09 08:21:56 +02:00
Christoph Oelckers
a630f27a48 - wrapped user.zclip reads. 2022-10-09 08:21:56 +02:00
Christoph Oelckers
4021d13e8d - completed floatification of ceiling_dist and floor_dist. 2022-10-09 08:21:56 +02:00
Christoph Oelckers
5416100ba2 - trivial assignments
(does not compile, this commit is only supposed to reduce the noise on the next one.
2022-10-09 08:21:55 +02:00
Christoph Oelckers
5f12f0deaa - missed 3. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
8672a9f051 - wrapped user.floor_dist reads. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
4f073dec26 - wrapped user.ceiling_dist reads. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
467ab9f7ee - int_hiz/int_loz replacements. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
425f4055b4 - floatified user.z_tgt. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
65d1e5cac9 - wrapped user.z_tgt reads. 2022-10-09 08:21:55 +02:00
Christoph Oelckers
620f7c5430 - floatified user.oz. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
a7d62f944b - wrapped user.oz reads. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
306e751a51 - floatified user.hiz and user.loz 2022-10-09 08:21:54 +02:00
Christoph Oelckers
d117544da8 - wrapped user.hiz reads. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
ac3f6d73e3 - wrapped all reads to user.loz. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
ade20cbfe2 - some angular stuff. 2022-10-09 08:21:54 +02:00
Christoph Oelckers
766ddeb445 - one more batch of trivial replacements 2022-10-09 08:21:53 +02:00
Christoph Oelckers
6111b11359 - trivial replacements in SW. 2022-10-09 08:21:53 +02:00
Christoph Oelckers
7152868077 - trivial replacements in Exhumed. 2022-10-09 08:21:53 +02:00
Christoph Oelckers
9314d4c774 - yet another batch of wrapper replacements 2022-10-09 08:21:53 +02:00
Christoph Oelckers
d9397b3b5d - another batch of wrapper replacements 2022-10-09 08:21:53 +02:00
Christoph Oelckers
f13d9892dc - trivial wrapper replacements in Duke 2022-10-09 08:21:53 +02:00
Christoph Oelckers
4db457f3b0 - stuff in animatesprite.cpp 2022-10-09 08:21:53 +02:00
Christoph Oelckers
91acf93c7d - SW: fixed viewpoint interpolation 2022-10-09 08:21:53 +02:00
Christoph Oelckers
7873fd7c3c - int_floorz/int_ceilingz in the renderer. 2022-10-09 08:21:52 +02:00
Christoph Oelckers
e5e00c98e7 - a few set_int_z in Duke/actors.cpp 2022-10-09 08:21:52 +02:00
Christoph Oelckers
93150d9e27 - partial floatification of movetransports_d 2022-10-09 08:21:52 +02:00
Christoph Oelckers
b00c8dbaee - partial floatification of movetransports_r 2022-10-09 08:21:52 +02:00
Christoph Oelckers
a00969fbeb - partial floatification of furthestcanseepoint. 2022-10-09 08:21:52 +02:00
Christoph Oelckers
df9f444d88 - SW: fixed bad actor parameter in SpawnShell.
cherry pick on master
2022-10-09 08:18:38 +02:00
Christoph Oelckers
0e38d5e52b - SW: fixed sound owner issues with non-follow sounds.
These sounds were given the wrong type now.

cherry pick on master.
2022-10-08 19:28:57 +02:00
Christoph Oelckers
96e6424772 - floatified damage logic in aibeast.StompSeqCallback 2022-10-08 19:28:57 +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
b32c4444c4 - replaced all add_int_z calls with constants. 2022-10-08 19:28:57 +02:00
Christoph Oelckers
4a6f9f316a - one assignment 2022-10-08 19:28:57 +02:00
Christoph Oelckers
c0c74fca84 - fishy grenade stuff 2022-10-08 19:28:56 +02:00
Christoph Oelckers
163146250d - Exhumed: clean up PlayFXAtXYZ interface and its global variable abuse 2022-10-08 19:28:43 +02:00
Christoph Oelckers
de18371e06 - handle lasthit in Exhumed 2022-10-08 16:11:24 +02:00
Christoph Oelckers
424a58f91b - Blood: sfxPlay3DSound 2022-10-08 16:11:23 +02:00
Christoph Oelckers
5df5520754 - one more 2022-10-08 16:11:23 +02:00
Christoph Oelckers
0ee39bfad9 - getangle cleanup 2022-10-08 16:11:23 +02:00
Christoph Oelckers
4403a6a411 - eliminated redundant and less precise GetMyAngle function
The engine's getangle function just works fine here.
2022-10-08 16:11:23 +02:00
Christoph Oelckers
c66c750547 - handle all constant add_int_z calls in Exhumed 2022-10-08 16:11:23 +02:00
Christoph Oelckers
3a77742b72 - handle most set_int_z calls in Exhumed 2022-10-08 16:11:23 +02:00
Christoph Oelckers
ae79f3e3c3 - half of GetActorHeight 2022-10-08 16:11:23 +02:00
Christoph Oelckers
f78ecd22a4 - Exhumed: eliminated several set_int_pos calls 2022-10-08 16:11:01 +02:00
Christoph Oelckers
7d9406bf01 - AngleDiff 2022-10-08 10:06:04 +02:00
Christoph Oelckers
9d5acf8350 - getangle calls 2022-10-08 10:06:04 +02:00
Christoph Oelckers
d5bcc64206 - Exhumed: AddFlash floatified 2022-10-08 10:06:04 +02:00
Christoph Oelckers
f6c7a1c41d - final BuildAnim calls
This was a bit more complex.
2022-10-08 10:06:04 +02:00
Christoph Oelckers
8ee10c5488 - Exhumed: use DVector3 in BuildAnim and some related code 2022-10-08 10:06:03 +02:00
Christoph Oelckers
416be99967 - fixed: SW's intro video must not stop playing music. 2022-10-08 10:04:31 +02:00
Mitchell Richters
ca521f8a1e - Test whether texture filtering is allowed before unconditionally allowing anisotrophy in the GLES backend. 2022-10-08 10:04:31 +02:00
Christoph Oelckers
4d02cdcce9 - use explicit types in hitscan calls 2022-10-06 20:50:47 +02:00
Christoph Oelckers
5455ce42c0 -got rid of some simple int_ppos wrappers. 2022-10-06 20:50:47 +02:00
Christoph Oelckers
76569ffd9f - fix constants 2022-10-06 20:50:47 +02:00
Christoph Oelckers
eedac509a2 - LadderPosition 2022-10-06 20:50:47 +02:00
Christoph Oelckers
c6af5ff9e1 - removed all quickly doable ppos wrapper calls. 2022-10-06 20:50:47 +02:00
Christoph Oelckers
280cd8970e - floatify all 3 player position variables. 2022-10-06 20:50:47 +02:00
Christoph Oelckers
c5414bd29c - map to final names. 2022-10-06 20:50:46 +02:00
Christoph Oelckers
6ced076812 - ladder stuff 2022-10-06 20:50:46 +02:00
Christoph Oelckers
72869304ea - add_int_ppos_XY 2022-10-06 20:50:46 +02:00
Christoph Oelckers
8ff62c5a07 - sone remaining int_ppos. 2022-10-06 20:50:46 +02:00
Christoph Oelckers
f125d615c8 -more ppos setters. 2022-10-06 20:50:46 +02:00
Christoph Oelckers
55aa981f89 - ppos.Z assignments 2022-10-06 20:50:46 +02:00
Christoph Oelckers
5db79fecd7 - more int_ppos 2022-10-06 20:50:45 +02:00
Christoph Oelckers
8e966fc575 - int_ppos replacements 2022-10-06 20:50:45 +02:00
Christoph Oelckers
da73d2bba4 - renamed player position variables. 2022-10-06 20:50:45 +02:00
Christoph Oelckers
22dae296c6 - SW: SectorExp floatified 2022-10-06 20:50:45 +02:00
Christoph Oelckers
ed6adc33c4 - floatified SO rotations. 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
b9dbcebe2e - floatified SECTOR_OBJECT::pmid 2022-10-06 20:50:44 +02:00
Christoph Oelckers
9393170408 - new utilities for SO floatification. 2022-10-06 20:50:44 +02:00
Christoph Oelckers
be2f61bce2 - optimized TVector3::XY() to return a writable reference. 2022-10-06 20:50:44 +02:00
Christoph Oelckers
48cbdeb697 - replaced all possible __int_pmid with access functions. 2022-10-06 20:50:44 +02:00
Christoph Oelckers
819297a409 - SW: renamed SECTOR_OBJECT::pmid 2022-10-06 20:50:44 +02:00
Christoph Oelckers
eef7802111 - SW: floatify some set_int_pos calls 2022-10-06 20:50:44 +02:00
Christoph Oelckers
049c6f948d - deleted unused SpawnWallHole function. 2022-10-06 20:50:43 +02:00
Christoph Oelckers
e8d18e42d1 - SW: QueueHole 2022-10-06 20:50:43 +02:00
Christoph Oelckers
661655fb67 - SW: use a DVector3 in SpawnVis 2022-10-06 20:50:43 +02:00
Christoph Oelckers
89816f4582 - dumped broken and useless xyrand function.
Didn't work, wasn't used anywhere else, so a properly done local inline is preferable.
2022-10-06 20:44:52 +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
129457044c - redirect get_floorspr_points to the floating point variant. 2022-10-05 18:29:03 +02:00
Christoph Oelckers
c712d594e0 - fully floatified GetFlatSpritePosition 2022-10-05 18:29:03 +02:00
Christoph Oelckers
b9ea355e2e - use math utilities to get closest point on wall in clip.cpp. 2022-10-05 18:29:03 +02:00
Christoph Oelckers
e6f1d92567 - use floats for spawning Exhumed actors 2022-10-05 18:25:57 +02:00
Christoph Oelckers
21944d5ac2 - updatesectorz with DVector3. 2022-10-05 18:22:07 +02:00
Christoph Oelckers
643d3e7eba - SW’s BulletHitSprite 2022-10-05 18:19:56 +02:00
Christoph Oelckers
b3d9320d54 - Distance in SW 2022-10-05 18:18:27 +02:00
Christoph Oelckers
84f690654e - hitpos replacements in spawn calls 2022-10-05 18:17:15 +02:00
Christoph Oelckers
5505c362e2 - floatified hitpos 2022-10-05 18:11:59 +02:00
Christoph Oelckers
1f96b4eac6 - Warp wrappers 2022-10-05 18:11:12 +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
086c699df0 - use float coords for spawning some SW actors. 2022-10-05 18:01:57 +02:00
Christoph Oelckers
0c8ed75d54 - SW: SpawnActor with float vector 2022-10-05 18:01:21 +02:00
Christoph Oelckers
8f4c418a1b - pos simplifications 2022-10-05 18:00:25 +02:00
Christoph Oelckers
46aa695b54 - add a float version of ActorZOfMiddle. 2022-10-05 17:59:32 +02:00
Christoph Oelckers
cdff2b12cc - renamed ActorZOfMiddle 2022-10-05 17:58:37 +02:00
Christoph Oelckers
360e01a778 another batch of set_int_pos in Exhumed. 2022-10-05 17:38:44 +02:00
Christoph Oelckers
f485f9d42e - batch of set_int_pos in Exhumed 2022-10-05 17:36:31 +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
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
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
Christoph Oelckers
e2a1190e32 - SW: disabled 'dontpan' and force 'follow' sound flag.
While these may theoretically be useful, their use in SW is so poor that we are better off playing everything except ambients as a positioned world sound.
2022-10-01 09:39:49 +02:00
Christoph Oelckers
64a96e1b94 - fixed: RR: save the current track for the "8-track player"
This way a saved game can properly resume the loop.
2022-10-01 09:16:47 +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
Christoph Oelckers
367a998b40 - removed the scripting wrappers for floorz and ceilingz.
These won't be needed anymore with floating point values
2022-08-27 10:16:57 +02:00
Christoph Oelckers
044929ad06 - replaced all remaining read access to __int_floorz and __int_ceilingz with wrappers. 2022-08-27 10:13:15 +02:00
Christoph Oelckers
47a594a96c - renamed setPosFromLoad to setPosFromMap. 2022-08-27 10:03:31 +02:00
Christoph Oelckers
109684c029 - renamed a few things to make searching easier. 2022-08-27 10:03:10 +02:00