Commit graph

2798 commits

Author SHA1 Message Date
Mitchell Richters
befa5a933c - Duke: Fix questionable setup in previous commit to interpolate SE_20_STRETCH_BRIDGE. 2022-10-30 16:51:25 +01:00
Mitchell Richters
05a05c6406 - Duke: Fix interpolation for SE_20_STRETCH_BRIDGE, such as curtains in E1L1/2/3.
* I'm not sure if there's a better way to handle this, but I had to do the nested `twoSided()` checks to ensure all walls of E1L3's curtains in the execution chair viewing room interpolated as expected.
2022-10-30 16:51:24 +01:00
Mitchell Richters
b3943a0c04 - Duke: Maintain x/y/z velocity when falling through a portal, such as E1L1's air duct. 2022-10-30 16:51:24 +01:00
Mitchell Richters
7e7c1b1179 - Duke: Fix hitching going up/down on SE17 elevators, and Z interpolation while jumping, etc. 2022-10-30 16:51:24 +01:00
Mitchell Richters
80f4124b17 - Duke: Fix integer division in shootrpg().
* Stems from initial floatification in `- floatified Duke's shootrpg`.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
520d838a8c - use Scale wrappers in global code and parts of Duke. 2022-10-30 16:51:23 +01:00
Christoph Oelckers
1d48b0776e - cleanup in Blood plus repeats in aiunicult.cpp
* removed the picWidth/Height functions because their one use can be easily inlined
* deleted the unused initvals in GENDUDEEXTRA
2022-10-30 16:51:23 +01:00
Christoph Oelckers
8a8ef22e53 - mostly '>' comparisons with scale values. 2022-10-30 16:51:22 +01:00
Christoph Oelckers
a11a366697 - some automatic replacements. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
730c0ef66d - lots of repeats in RR's spawn code. 2022-10-30 16:51:21 +01:00
Christoph Oelckers
91c318b708 - renamed most non-sprite xrepeat and yrepeat as refactpring aid.
These will be renamed back later but now they create too much search noise.
A few local variables have been permanently renamed to scale*.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
cf5d787f40 - manual repeats in Duke. 2022-10-30 16:51:20 +01:00
Christoph Oelckers
2589e7030c - more repeats replaced by SetScale. 2022-10-30 16:51:19 +01:00
Mitchell Richters
b004de9fb0 - Remove leftover x/y repeats from - several manual replacements with SetScale.. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
71d61b26df - 34 more uses of SetScale. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
e60fafec52 - got rid of most REPEAT_SCALE factors. 2022-10-30 16:51:19 +01:00
Christoph Oelckers
8d1626de02 - yet more SetScale uses. 2022-10-30 16:51:18 +01:00
Christoph Oelckers
e6a97157d7 - several manual replacements with SetScale. 2022-10-30 16:51:18 +01:00
Christoph Oelckers
d8fac32459 - more simple SetScale replacements. 2022-10-30 16:51:17 +01:00
Christoph Oelckers
86d6ba43d4 - more automatic SetScale replacement, plus all of SetScale(0.5, 0.5); 2022-10-30 16:51:17 +01:00
Christoph Oelckers
c7c3b2a20c - added a SetScale method to spritetype and used it for all places setting x/yrepeat to 0. 2022-10-30 16:51:17 +01:00
Christoph Oelckers
9f19a1315b - replaced most native_clipdist() calls
Only those in nnext using internal int storage remain.
2022-10-30 16:51:16 +01:00
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
d22c473c31 - manual set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
03d6826fce - first batch of set_const_clipdist replacements 2022-10-30 16:51:14 +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
Mitchell Richters
94941adce8 - Duke: Fix sign on 4x tangent offsets. 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
94b91f6ec3 - build.h cleanup
* moved krand and krandf into the games/duke folder because no other game uses them
* moved CVARS to gamefuncs.h.
2022-10-30 16:51:09 +01:00
Mitchell Richters
29eb729cd3 - Fix multiple bad calls to pushmove(). 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
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
e7dff22095 - Duke: Fix some badly negated angle setups. 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
13d643deb5 - Duke: Move Duke-exclusive code from PlayerHorizon struct into displayweapon_d() and clamp tangent to handle high pitches.
* Clamped range is slightly higher than original (200 vs. 256), however when tested with idle knuckle cracking, etc, hands were drawn not above the screen unlike unclamped tangent.
2022-10-25 07:07:15 +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
Christoph Oelckers
22ccf33569 - floatified walldist parameter of getzrange 2022-10-25 07:07:14 +02:00
Mitchell Richters
bb6e12a2b1 - Eliminate remaining calls to TAngle<T>::fromBuildf(). 2022-10-25 07:07:03 +02:00
Mitchell Richters
1fb85b0a8d - Use deltaangle() in a few places with our DAngle horizon. 2022-10-25 07:06:55 +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
41bbbd9df5 - Remove all remaining uses of fixedhoriz::asbuild(). 2022-10-25 07:06:55 +02:00
Mitchell Richters
92798b5a07 - Remove most buildhoriz() calls. 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
5851c0f2c6 - Clean up some q16horiz usage and how the view pitch is clamped. 2022-10-25 07:06:53 +02:00
Mitchell Richters
4ef9ec93ea - Remove fixedhoriz::asbuildf() and associated buildf friend.
* The new friend `tanhoriz()` is just for the input code for now.
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
Christoph Oelckers
40cb2116e0 - restore Duke's cheats. 2022-10-24 23:30:09 +02:00
Christoph Oelckers
9342b7b1a4 - Duke/RR: fixed move_player smart action. 2022-10-24 22:09:34 +02:00
Christoph Oelckers
33002b37a9 - RR: fixed randomization for hitscan weapons. 2022-10-24 21:26:41 +02:00
Christoph Oelckers
e2d0cbf772 - allow entering cheats in the chat editor without using '#'. 2022-10-23 18:46:18 +02:00
Christoph Oelckers
74cf9a2ff2 - hitscan fully rewritten.
No traces of Build code left here! :)
2022-10-22 20:41:27 +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
c44fd07f37 - floatified the portal displacement 2022-10-22 12:16:57 +02:00
Christoph Oelckers
375d346ae8 - pass a vector to the processSprites interface. 2022-10-22 12:16:56 +02:00
Christoph Oelckers
0fdc91904d - replaced getposfromactor 2022-10-22 12:09:54 +02:00
Christoph Oelckers
896c480eb6 - deleted player_int_pos 2022-10-22 12:09:54 +02:00
Christoph Oelckers
b2fd1fdaa4 - second part of final bsin replacement. 2022-10-22 12:09:54 +02:00
Christoph Oelckers
05117f9f5d - first part of final bsin replacement. 2022-10-22 12:09:54 +02:00
Christoph Oelckers
5f44dcc262 - refactor animatesprites API 2022-10-22 12:09:54 +02:00
Christoph Oelckers
9a4c699f53 - floatify all 3 operateweapon functions. 2022-10-22 12:09:44 +02:00
Christoph Oelckers
eae2e638aa - floatified all getangle calls. 2022-10-22 11:33:16 +02:00
Christoph Oelckers
c511e5dca9 - eliminated int_xvel 2022-10-22 11:33:16 +02:00
Christoph Oelckers
ad2e984367 - floatified move_r 2022-10-22 11:33:16 +02:00
Christoph Oelckers
eb40f78bd1 - floatified move_d 2022-10-22 11:33:16 +02:00
Christoph Oelckers
9325886e35 - split use of tempang between real angles and other counters. 2022-10-22 11:33:16 +02:00
Christoph Oelckers
ee28c90429 - angle stuff in recon() 2022-10-22 11:33:16 +02:00
Christoph Oelckers
e5d9875ae5 - one inttoworld -> maptoworld 2022-10-22 11:33:15 +02:00
Christoph Oelckers
8d99277b87 - remaining add_int_ang calls. 2022-10-22 11:33:15 +02:00
Christoph Oelckers
62d9a80379 - floatified most simple set_int_ang and add_int_ang calls. 2022-10-22 11:33:15 +02:00
Christoph Oelckers
d994dbd537 - floatified player_orig::oa 2022-10-22 11:33:15 +02:00
Christoph Oelckers
54346d9398 - eliminate all int_ang calls, except the one setting player.oa. 2022-10-22 11:33:15 +02:00
Christoph Oelckers
61a45da964 - floatified all remaining add_int_pos calls. 2022-10-22 11:33:15 +02:00
Christoph Oelckers
6c0e2624e5 - remaining angle wrappers in actors.cpp 2022-10-22 11:33:15 +02:00
Christoph Oelckers
2ea426be38 - handle several int_angle calls. 2022-10-22 11:33:15 +02:00
Christoph Oelckers
e42036d43b - only use the floatified version of findplayer. 2022-10-22 11:33:14 +02:00
Mitchell Richters
132864ec8d - Duke: Fix issue stemming from - only use the floatified version of findplayer..
* This value must be floored.
* Fixes E2L1's space ship projectile timing.
2022-10-22 11:33:14 +02:00
Christoph Oelckers
1096344cae - only use the floatified version of findplayer. 2022-10-22 11:33:14 +02:00
Christoph Oelckers
201526b53c - only use the floatified version of findplayer. 2022-10-22 11:33:14 +02:00
Christoph Oelckers
1fdfe4635b - only use the floatified version of findplayer. 2022-10-22 11:33:14 +02:00
Christoph Oelckers
848d7fc16e - VM interface cleanup 2022-10-22 11:33:14 +02:00
Christoph Oelckers
b712315ec3 - floatified playerJump 2022-10-22 11:33:14 +02:00
Christoph Oelckers
14b5984664 - removed int_playerheight 2022-10-22 11:33:14 +02:00
Christoph Oelckers
4e9ab67c35 - RR's movement and underwater completed. 2022-10-22 11:33:13 +02:00
Christoph Oelckers
8060813ea8 - floatified large parts of processinput_r 2022-10-22 11:33:13 +02:00
Christoph Oelckers
167e0ecd0e - merge with processinput_d
- floatified processinput_d
2022-10-22 11:33:13 +02:00
Christoph Oelckers
47dc2e6b1f - hitscan call in operatetripbomb 2022-10-22 11:33:13 +02:00
Christoph Oelckers
89cb29292c - floatified operateJetpack 2022-10-22 11:33:13 +02:00
Christoph Oelckers
583a5bd0e3 - floatified playerisdead 2022-10-22 11:33:13 +02:00
Christoph Oelckers
4ded343aa5 - floatified SE16 2022-10-22 11:30:24 +02:00
Christoph Oelckers
e4898af11a - floatified remaining code of SE17. 2022-10-22 09:34:16 +02:00
Christoph Oelckers
671e75ba5f - eliminate the last int_zvel call 2022-10-22 09:34:16 +02:00
Christoph Oelckers
cd6c524b90 - converted most of the remaining CreateActor calls. 2022-10-22 09:34:16 +02:00
Christoph Oelckers
30a3bba644 - many CreateActor calls converted to true floats. 2022-10-22 09:34:15 +02:00
Christoph Oelckers
5ccefcb77b - first round of CreateActor calls. 2022-10-22 09:34:15 +02:00
Mitchell Richters
bbdb953eda - Duke: Fix issue stemming from - handle all remaining set_int_xvel and set_int_zvel..
* Fixes the Liztrooper sprite angle issues.
2022-10-22 09:34:15 +02:00
Christoph Oelckers
13dd7260f5 - handle all remaining set_int_xvel and set_int_zvel. 2022-10-22 09:34:15 +02:00
Christoph Oelckers
e73a6409bb - forcesphere stuff 2022-10-22 09:34:15 +02:00
Christoph Oelckers
42f179f675 - GreenSlime stuff 2022-10-22 09:34:15 +02:00
Christoph Oelckers
fdfd8c2a35 - change for pyoff 2022-10-22 09:34:15 +02:00
Christoph Oelckers
2e947fded3 - trivial changes 2022-10-22 09:34:14 +02:00
Christoph Oelckers
9557137b58 - floatified queball 2022-10-22 09:34:14 +02:00
Christoph Oelckers
9f219ce809 - floatified bounce() 2022-10-22 09:34:14 +02:00
Christoph Oelckers
b9d803bc24 - floatified Duke's sound frontend 2022-10-22 09:34:14 +02:00
Christoph Oelckers
6ed157ccdb - handle all remaining int_pos outside the sound code.
SPOTLITE has no handler, so its temp_data is of no use.
2022-10-22 09:34:14 +02:00
Christoph Oelckers
f52b361dfc - floatified aim() 2022-10-22 09:34:14 +02:00
Christoph Oelckers
b8efc5c563 - floatified RR noise code. 2022-10-22 09:34:14 +02:00
Christoph Oelckers
7ee620628d - floatified handle_se24 2022-10-22 09:34:13 +02:00
Christoph Oelckers
9cfd56a912 - mathutil is not needed anymore. 2022-10-22 09:34:13 +02:00
Christoph Oelckers
ebb7442370 - floatified hitawall 2022-10-22 09:34:13 +02:00
Christoph Oelckers
b176d94ede - floatified hitasprite 2022-10-22 09:34:13 +02:00
Christoph Oelckers
062e533b81 - floatified hitasprite's callers. 2022-10-22 09:34:13 +02:00
Christoph Oelckers
d4aaee6274 - floatified hits() 2022-10-22 09:34:13 +02:00
Christoph Oelckers
9591325876 - floatified return value of hits() 2022-10-22 09:34:13 +02:00
Christoph Oelckers
479616a80f - got new CVar system from GZDoom. 2022-10-22 00:12:17 +02:00
Christoph Oelckers
52dc48d671 - fixed spawn position calculation in shootflamethrowerflame. 2022-10-21 22:20:41 +02:00
Christoph Oelckers
45e2347006 - fixed velocity issues with shoot* functions. 2022-10-21 21:42:00 +02:00
Christoph Oelckers
99ca695333 - floatified the main shoot functions. 2022-10-21 00:00:09 +02:00
Christoph Oelckers
be0eb81c95 - deleted unused utilities 2022-10-21 00:00:09 +02:00
Christoph Oelckers
66b00cfb52 - floatified RR's shootmortar 2022-10-21 00:00:09 +02:00
Christoph Oelckers
d0a890dd15 - floatified RR's shootwhip. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
836d7fea34 - fixed some warnings. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
83fc7a3116 - floatified RR's shootrpg. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
81865969be - floatified RR's shootstuff 2022-10-21 00:00:08 +02:00
Christoph Oelckers
b105897d9f - 'effector->GetOwner()' was used a lot in this block... 2022-10-21 00:00:08 +02:00
Christoph Oelckers
4dfba60d99 - eliminated all ldist calls outside the weapon code. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
ef7a6f8c8d - floatified remaining parts of shootflamethrowerflame. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
9d8685096d - floatified shootshrinker 2022-10-21 00:00:07 +02:00
Christoph Oelckers
0b58f2ea3c - floatified shootmortar 2022-10-21 00:00:07 +02:00
Christoph Oelckers
840d1f4793 - floatified shootgrowspark 2022-10-21 00:00:07 +02:00
Christoph Oelckers
cb7c5dc3ac - floatified tracers 2022-10-21 00:00:07 +02:00
Mitchell Richters
623e0ff30e - floatified RR's shootweapon.
Mostly copy/paste from Duke.

* Edited to fix missed `zvel` change within `if (atwith == SHOTSPARK1)`.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
b706e6276a - floatified RR's shootmelee.
Mostly copy/paste from Duke.
2022-10-21 00:00:07 +02:00
Christoph Oelckers
e224abb949 - silenced warnings. 2022-10-21 00:00:07 +02:00
Christoph Oelckers
977131eb8c - eliminated all set_int_z calls in Duke. 2022-10-21 00:00:07 +02:00
Christoph Oelckers
933e42eca6 - moved the remaining shoot handlers out of shoot_d. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
7becce8cb6 - floatified shootlaser 2022-10-21 00:00:06 +02:00
Christoph Oelckers
9598468c9a - floatified Duke's shootrpg 2022-10-21 00:00:06 +02:00
Christoph Oelckers
b5a869b053 - floatified Duke's shootstuff. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
1702491619 - floatified Duke's shootweapon. 2022-10-21 00:00:06 +02:00
Christoph Oelckers
aad2c30af7 - floatified shootknee 2022-10-21 00:00:06 +02:00
Christoph Oelckers
436b8bc50a - floatified shootfireball 2022-10-21 00:00:06 +02:00
Christoph Oelckers
a226a847bd - fixed warnings 2022-10-21 00:00:06 +02:00
Christoph Oelckers
9deb1dfa69 - floatified shootbloodsplat. 2022-10-21 00:00:05 +02:00
Christoph Oelckers
4f5dce81f6 - floatifx position in checkhitswitch_d. 2022-10-21 00:00:05 +02:00
Mitchell Richters
2081e270cd - Duke: Fix bad setup in move_d() that stopped enforcer working properly in E3L1.
* Merge with or above `- eliminated all of add_int_zvel.`.
2022-10-21 00:00:05 +02:00
Christoph Oelckers
1814274124 - eliminated all of add_int_zvel. 2022-10-21 00:00:05 +02:00
Christoph Oelckers
65b6b5ba71 - migrated all simple EGS calls to CreateActor
The remaining ones require more work on the weapon code first
2022-10-21 00:00:05 +02:00
Christoph Oelckers
a48ebc51a6 - This makes no sense either way… 2022-10-21 00:00:05 +02:00
Christoph Oelckers
068099cb3e - floatify glass spawners 2022-10-21 00:00:05 +02:00
Christoph Oelckers
5140baf7c5 - floatified a bunch in move_r 2022-10-21 00:00:05 +02:00
Christoph Oelckers
3e511f33b8 - movetripbomb and movecrack 2022-10-21 00:00:04 +02:00
Christoph Oelckers
facedb6325 - floatified movesprite_ex 2022-10-21 00:00:04 +02:00
Christoph Oelckers
829d06790f - handle the remaining movesprite_ex calls 2022-10-21 00:00:04 +02:00
Christoph Oelckers
4b184c6d43 - movesprite_ex refactoring, part 2 2022-10-21 00:00:04 +02:00
Christoph Oelckers
5dedce047a - movesprite_ex refactoring, part 1 2022-10-21 00:00:04 +02:00
Christoph Oelckers
0432930e5b - converted all dist() calls to vector math and deleted the utilities 2022-10-21 00:00:04 +02:00
Christoph Oelckers
2bcc552ce0 - replace FireProj struct with a second temp_pos vector
We’re going to need this anyway for some SE’s.
2022-10-21 00:00:04 +02:00
Christoph Oelckers
dfd098d719 - simple replacements in sector and spawn code 2022-10-21 00:00:04 +02:00
Christoph Oelckers
1c05d80e53 - simple replacements in player code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
f6d06b1326 - simple replacements in actor code 2022-10-21 00:00:03 +02:00
Christoph Oelckers
ada4af8fb7 -consolidated sprite rotation formula in 2 inline functions. 2022-10-21 00:00:03 +02:00
Christoph Oelckers
c066f1754c - use randomAngle 2022-10-21 00:00:03 +02:00
Christoph Oelckers
b164426dd2 - partial work on processinput_d 2022-10-21 00:00:03 +02:00
Christoph Oelckers
bda3a38ed9 - ported the remaining S_PlaySound3D calls 2022-10-21 00:00:03 +02:00
Christoph Oelckers
4956062b22 - added S_PlaySound3D variant receiving a float vector 2022-10-21 00:00:03 +02:00
Christoph Oelckers
e31f10be8a - floatify position in all remaining updatesector calls for the player 2022-10-21 00:00:03 +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
Christoph Oelckers
1a597c4e0b - fixed and floatified chickenarrow. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
021f7062d1 - ported all simple EGS calls to CreateActor 2022-10-21 00:00:02 +02:00
Christoph Oelckers
dafc1ff2d2 - spawn coordinate in guts 2022-10-21 00:00:02 +02:00
Christoph Oelckers
6bd97e312d - cleanup of the wall hit checks in hitradius
Yes, the z-check was indeed bad.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
3352783be2 - added a Sum function to TVector familiy
Duke uses this kind of distance check quite a lot so it makes sense to add it to the vectors.
2022-10-21 00:00:02 +02:00
Christoph Oelckers
1d7f2c81b6 - fixed position backup for trip bombs. 2022-10-21 00:00:02 +02:00
Christoph Oelckers
38a8e15ff9 - floatified most of movetripbomb and ovel 2022-10-21 00:00:02 +02:00
Christoph Oelckers
1c50801c64 - floatified furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
3c1970e9e0 - floatified alterang and changed return type of furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
45f28f666c - floatified dodge. 2022-10-20 23:59:28 +02:00
Christoph Oelckers
c7eabe5b55 - gameexec.cpp code cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3711473194 - gameexec cleanup 2022-10-20 23:59:27 +02:00
Christoph Oelckers
3cefda2983 - simplify some angle stuff 2022-10-20 23:59:15 +02:00
Christoph Oelckers
43e1e3f50f - floatified SE 32. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
c0e7e6a543 - floatified leftover pieces of some debris-type actors. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
2de1aea4a6 - floatified exit position. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
1a64d18349 - floatified RR hitscan teleporter stuff and other minor things. 2022-10-20 23:08:55 +02:00
Christoph Oelckers
4322a30efb - unlimited the number of active animations, also fixed a few bugs. 2022-10-20 23:08:54 +02:00
Christoph Oelckers
e3ea4cd55c - floatified animation code. 2022-10-20 23:08:22 +02:00
Christoph Oelckers
0c7274752c - falladjustz 2022-10-20 22:25:10 +02:00
Christoph Oelckers
6482fefeb3 - 3x add_int_z. 2022-10-20 22:25:10 +02:00
Christoph Oelckers
fe0a10ed29 - handle neartag calls in checksectors. 2022-10-20 22:25:10 +02:00
Christoph Oelckers
13fc658c1f -floatified findplayer and findotherplayer. 2022-10-20 22:25:09 +02:00
Christoph Oelckers
68bc812681 - floatify hande_se35
This looks broken because the destination height is never set anywhere.
2022-10-20 22:25:09 +02:00
Christoph Oelckers
4196195b89 - floatified handle_se25 2022-10-20 22:25:09 +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
a178ef1ff6 - Duke: Floatify player_struct::fric. 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
9426f42f41 - replaced old refactoring wrapper. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
088699f5c8 - floatified handle_se20. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
471f64cf72 - fixes for player velocity. 2022-10-20 00:48:08 +02:00
Christoph Oelckers
a847b23e7c - made player.vel a real float vector with proper value range. 2022-10-20 00:48:07 +02:00
Christoph Oelckers
417dc7c330 - floatified gs.gravity and all relations to player.vel. 2022-10-20 00:47:32 +02:00
Christoph Oelckers
6f8d0e7870 - handle all remaining vel uses not related to gravity and clipmove 2022-10-20 00:47:32 +02:00
Christoph Oelckers
3e05acfcc9 - handle ca. half of the remaining use of vel. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
bca4819841 - handle some simple vector additions with velocity. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
c821683bc5 - copy Duke handling of movement code to RR. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
cebecabe66 - search& replace of zero assignments and comparisons. 2022-10-20 00:47:31 +02:00
Christoph Oelckers
2266ae1cd6 - converted vel use in player_d.cpp's main movement functions
Still using conversion factors until all code has been processed.
2022-10-20 00:47:31 +02:00
Christoph Oelckers
b46b087e0c - first round of vel refactoring.
VEL_FACTOR is used as a marker that later can be quickly removed once the data type gets changed over.
2022-10-20 00:47:19 +02:00
Christoph Oelckers
50a9ca49f3 - floatified player_struct::hitang 2022-10-20 00:33:31 +02:00
Christoph Oelckers
a5652655db - floatified gs.playerfriction 2022-10-20 00:20:41 +02:00
Christoph Oelckers
477120923f - made player.vel and gs.playerfriction floating point.
No change in value range yet, but having them as floats now allows easier refactoring.
2022-10-20 00:20:40 +02:00
Christoph Oelckers
8171927c2a - renamed player_struct::vel 2022-10-20 00:19:56 +02:00
Christoph Oelckers
03a0eb7284 - floatified and consolidated handle_se29. 2022-10-20 00:19:56 +02:00
Christoph Oelckers
9a07dc5b7b - floatified handle_se21 and most of movetongue 2022-10-20 00:19:33 +02:00
Christoph Oelckers
a9c7a5e62f - floatified handle_se21 2022-10-19 18:26:16 +02:00
Christoph Oelckers
b0b5dbc55b - eliminated add_int_ceilingz 2022-10-19 18:26:16 +02:00
Christoph Oelckers
81d4ca71d7 - floatified movetouchplate 2022-10-19 18:26:16 +02:00
Christoph Oelckers
8e4a3f1946 - floatified position in RANDOMSCRAP 2022-10-19 18:26:16 +02:00
Christoph Oelckers
23c529589e - eliminated add_int_xvel 2022-10-19 18:26:16 +02:00
Christoph Oelckers
a6bf98399c - fixed inconsistency between angle and intangle use.
Angles abused as flag words should always use intangle.
2022-10-19 18:02:05 +02:00
Christoph Oelckers
11735c2963 - floatified handle_se13. 2022-10-18 20:02:30 +02:00
Christoph Oelckers
998d71875f - floatified handle_se11. 2022-10-18 20:02:30 +02:00
Christoph Oelckers
b62c081d37 - renamed variables in handle_se08 2022-10-18 20:02:30 +02:00
Christoph Oelckers
845287a7ba - floatified handle_se05 2022-10-18 20:02:30 +02:00
Christoph Oelckers
49125ffed5 - floatified handle_se02 2022-10-18 20:02:29 +02:00
Christoph Oelckers
3898e2fa4c - floatified handle_se06 (both variants) 2022-10-18 20:02:29 +02:00
Christoph Oelckers
228db5839a - floatified handle_se30. 2022-10-18 20:02:28 +02:00
Christoph Oelckers
e7ba113402 - use high precision storage for all of SE00's work data. 2022-10-18 20:02:28 +02:00
Christoph Oelckers
2be133aaee - poolball stuff in Duke 2022-10-18 20:02:01 +02:00
Christoph Oelckers
fe7dfa1c53 - floatify angle stuff for bowling, henstand etc. in RR. 2022-10-18 20:02:01 +02:00
Christoph Oelckers
c30493c344 - floatified handle_se14 2022-10-18 20:02:01 +02:00
Christoph Oelckers
bd3f96e779 - floatified handle_se00 2022-10-18 20:02:01 +02:00
Christoph Oelckers
b5b159f45b - unlimited and floatified the movesector position array. 2022-10-18 20:02:00 +02:00
Christoph Oelckers
4f9718e8a8 - added velocity checks when attempting to dive or surface.
This could misbehave at low velocities that could be misinterpreted as a boundary crossing due to the missing check for the movement direction.
2022-10-18 19:59:07 +02:00
Mitchell Richters
33def4bd6e - Duke: Clean up some long VecToAngle() calls. 2022-10-18 19:52:02 +02:00
Christoph Oelckers
c84bf46611 - eliminated add_int_ceilingz in handle_se32. 2022-10-18 19:51:53 +02:00
Christoph Oelckers
b467e6c6cf - handled a few easy to change distance calculations and nearby assignments. 2022-10-18 19:36:25 +02:00
Christoph Oelckers
4cb214f3ab - int_vel stuff with constants. 2022-10-18 19:36:17 +02:00
Christoph Oelckers
901728d88f - int_vel stuff with constants. 2022-10-18 19:31:11 +02:00
Christoph Oelckers
d34a423272 - int_vel stuff with constants. 2022-10-18 19:31:11 +02:00
Christoph Oelckers
eaf8a8ccca - some minor random changes. 2022-10-18 19:31:11 +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
f4df9a25da - pass index and angle to movesector as arguments.
This allows refactoring the multiple SEs using this function individually.
2022-10-18 18:30:38 +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
32d49cf199 - Duke: fixed bad crusher speed in SE 25. 2022-10-18 07:10:43 +02:00
Christoph Oelckers
db810250c3 - full floatification of handle_se31. 2022-10-17 17:26:00 +02:00
Christoph Oelckers
8e48911723 - very simple replacements 2022-10-17 17:25:58 +02:00
Christoph Oelckers
1ba20c7dce - wrapped most clipdist assignments 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
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
3c498e715d - wrapped all literal assignments to clipdist - part 3 2022-10-17 17:03:53 +02:00
Christoph Oelckers
a14c37f596 - wrapped all literal assignments to clipdist - part 2 2022-10-17 17:03:53 +02:00
Christoph Oelckers
28a3a8e314 - wrapped all literal assignments to clipdist - part 1 2022-10-17 17:03:52 +02:00
Christoph Oelckers
6b5cbac96a - consolidate common formula 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Mitchell Richters
acd3304b7e - Duke: Give displayrooms() a slight tidy-up. 2022-10-16 10:59:05 +02:00
Mitchell Richters
2c6435377a - Duke: Change clamping of ceilz/floorz in draw code.
* Also repair potential bug between actor's cz/fz vs. player's truecz/truecz introduced in "- Duke: Floatify `displayrooms()` and flatten smoothratio back out to float.".
2022-10-16 10:59:04 +02:00
Mitchell Richters
ecd880ad6c - Duke: Floatify displayrooms() and flatten smoothratio back out to float. 2022-10-16 10:59:04 +02:00
Mitchell Richters
ea3ca4a4ea - Duke: Tidy up old multiplayer variables to modern standards. 2022-10-16 10:59:04 +02:00
Christoph Oelckers
b53e4b824e - handle the portals in Duke and Blood. 2022-10-16 09:40:29 +02:00
Christoph Oelckers
5cda92b629 - partial floatification of FAFgetzrange/point 2022-10-16 09:40:28 +02:00
Christoph Oelckers
64e915868e - use setfloorz 2022-10-15 17:16:57 +02:00
Mitchell Richters
3019f9effc - Floatify smoothratio for GameInterface::processSprites().
* Exhumed is now completely free of any Q16.16 interpolation scaling.
2022-10-15 13:32:03 +02:00
Mitchell Richters
01d185dc6b - Floatify smoothratio for DrawOverheadMap(). 2022-10-15 13:32:03 +02:00
Mitchell Richters
45d4d3e41a - Eliminate __interpvalue() and clean up Q16.16 smoothratio values where it made sense to do so.
* Also eliminates a now empty header.
2022-10-15 13:32:02 +02:00
Mitchell Richters
f02035b15a - Eliminate __interpvaluef() and clean up Q16.16 smoothratio values where it made sense to do so. 2022-10-15 13:32:01 +02:00
Mitchell Richters
2c8cb8f052 - Rename DCoreActor method interpolatedvec3() to interpolatedpos(). 2022-10-15 13:32:01 +02:00
Mitchell Richters
39ac3b44b0 - Add scaler operators to fixedhorizon class and eliminate class-specific interpolatedhorizon() inlines. 2022-10-15 13:32:01 +02:00
Mitchell Richters
74167e1a7c - Remove interpolators for TVector and TAngle objects, replacing with single generic version. 2022-10-15 13:32:01 +02:00
Mitchell Richters
06e772b44b - Rename interpolatedvalue() in preparation for replacement. 2022-10-15 13:32:01 +02:00
Mitchell Richters
8fd6452baf - Rename interpolatedvaluef() in preparation for replacement. 2022-10-15 13:32:01 +02:00
Christoph Oelckers
92379863f1 - don't use DAngle for calculating bobbing amplitudes.
It makes more sense here to have a dedicated function since this is not really angular math.
2022-10-15 13:31:59 +02:00
Christoph Oelckers
7dab26f04d - handle several movesprite_ex calls. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
4f9ffc9437 - mainly handling angle literals. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
a6eec404db - parts of Blood's MoveThing 2022-10-15 12:42:30 +02:00
Christoph Oelckers
e5219382f2 - added some Sector Effector symbolic names. 2022-10-15 12:42:30 +02:00
Christoph Oelckers
4df1578064 - a few random wrapper removals in Duke 2022-10-15 12:42:30 +02:00
Christoph Oelckers
6b0b8f944c - floatified the height parameter of nextsectorneighborptr 2022-10-15 12:42:30 +02:00
Mitchell Richters
7d5040f560 - Fix all calls to interpolatedangle() that didn't revert smoothratio back to a float. 2022-10-15 12:16:53 +02:00
Mitchell Richters
f72d42bb8e - Uplift renderer entry point to DVector3 and provide wrappers for old setups. 2022-10-15 12:16:53 +02:00
Mitchell Richters
977d8f8109 - Convert gi->chaseCamPos() to return a floating point DVector3 object. 2022-10-15 12:16:53 +02:00
Mitchell Richters
ab77d77a53 - Optimise automap sector loops in Duke/SW automap code. 2022-10-15 12:16:53 +02:00
Mitchell Richters
18f97c3d7e - SW: Move player sprite loop out of sector loop, and eliminate goto crap. 2022-10-15 12:16:52 +02:00
Mitchell Richters
f236cc8728 - Consolidate some duplicated automap code between Duke and SW. 2022-10-15 12:16:52 +02:00
Mitchell Richters
ef56d00d78 - Pass automap angle vector as an actual vector.
* Also reconfigure setup so that angle requires zero pre-processing or setup in the automap code, have it all handled in `OutAutomapVector()`.
2022-10-15 12:16:52 +02:00
Christoph Oelckers
712d28ff40 - clean out some stuff 2022-10-15 11:35:38 +02:00
Christoph Oelckers
eed7f0806c - more quick replacements 2022-10-15 10:15:21 +02:00
Christoph Oelckers
3e76d49b6e - removed the mul vel wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
6fd8dae380 - removed the non-Blood float_* access wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
62ba753585 - remove vel clear wrappers 2022-10-15 10:15:21 +02:00
Christoph Oelckers
fca2f8c683 - replace all ‚labs‘ with ‚abs‘ 2022-10-14 23:55:31 +02:00
Mitchell Richters
4acce612cd - Take advantage of TVector2<>::Rotated90CW() in some automap code. 2022-10-14 23:55:31 +02:00
Christoph Oelckers
58642c4d2f - cleaned up the distance checks in operatetripbomb 2022-10-14 23:55:31 +02:00
Christoph Oelckers
9ba03ac53f - renamed yvel to yint in Duke.
It's never used as velocity, but as an auxiliary parameter so name it appropriately.
2022-10-14 23:17:45 +02:00
Christoph Oelckers
5f4a0cf208 - removed bogus velocity code for RRRA's empty bike and boat. 2022-10-14 23:17:45 +02:00
Christoph Oelckers
9621cd08d2 - use PlayerIndex plus a bit of cleanup. 2022-10-14 23:17:45 +02:00
Christoph Oelckers
9600face4a - the rest. 2022-10-14 23:13:33 +02:00
Christoph Oelckers
567b20f9ef - almost the rest. 2022-10-14 23:13:33 +02:00
Christoph Oelckers
ce20bd9c56 - more wraps 2022-10-14 23:13:33 +02:00
Christoph Oelckers
643dda6085 -add_int_xvel(- 2022-10-14 23:13:33 +02:00
Christoph Oelckers
d19e99481d - add_int_xvel 2022-10-14 23:13:33 +02:00
Christoph Oelckers
33eeb8d9c2 - right shifts 2022-10-14 23:13:33 +02:00
Christoph Oelckers
ec88d1ea6c - set_int_xvel 2022-10-14 23:13:32 +02:00
Christoph Oelckers
fb1a9881e3 - half done with xvel 2022-10-14 23:13:32 +02:00
Christoph Oelckers
434548a5aa - more xvel wraps. 2022-10-14 23:13:32 +02:00
Christoph Oelckers
cf90970121 - float_vel wraps 2022-10-14 23:13:32 +02:00
Christoph Oelckers
0aad018796 - second batch of xvel wraps. 2022-10-14 23:13:32 +02:00
Christoph Oelckers
ba044ac2f4 - first bunch of wrapping xvel. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
0740ccbef1 - use PlayerIndex where appropriate. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
36f109502d - use clear_xvel wrapper. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
a006482c07 - this concludes all trivial int_zvel replacements. 2022-10-14 22:57:37 +02:00
Christoph Oelckers
a98e37b345 - handle int_zvel() == 0 2022-10-14 22:57:36 +02:00
Christoph Oelckers
9f9858d8f4 - handle remaining zvel comparisons. 2022-10-14 22:57:36 +02:00
Christoph Oelckers
56e5388150 - handle 'zvel >' comparisons with constants. 2022-10-14 22:55:27 +02:00
Christoph Oelckers
7e8afd58da - handle 'zvel <' comparisons with constants. 2022-10-14 22:53:22 +02:00
Christoph Oelckers
07bac24234 - quickly got rid of a significant bunch of int_zvel calls.
Mapping to float_zvel what could be done with search and replace.
2022-10-14 20:31:57 +02:00
Christoph Oelckers
bd520e63dd - use float_zvel in a few places. 2022-10-14 20:31:57 +02:00
Christoph Oelckers
999cd16b24 - use clear_zvel 2022-10-14 20:31:57 +02:00
Christoph Oelckers
8946a66350 - handle zvel multiplications with a wrapper.
This completes wrapping of zvel.
2022-10-14 20:31:56 +02:00
Christoph Oelckers
231107921e - handle a few more operators 2022-10-14 20:31:56 +02:00
Christoph Oelckers
588af5aa71 - add_int_zvel with - 2022-10-14 20:31:56 +02:00
Christoph Oelckers
8bfedc327f - add_int_zvel 2022-10-14 20:31:56 +02:00
Christoph Oelckers
6ddfd8e97a - set_int_zvel 2022-10-14 20:31:55 +02:00
Christoph Oelckers
70d0d0622b - wrapped 0 assignments to zvel 2022-10-14 20:31:55 +02:00
Christoph Oelckers
a9d96864d3 - more zvel wrapping 2022-10-14 20:31:55 +02:00
Christoph Oelckers
3f7b423a4a - zvel wrapping, part 1. 2022-10-14 20:31:55 +02:00
Mitchell Richters
d63fb33dd0 - Pass DVector2 objects directly through to F2DDrawer::AddLine() and F2DDrawer::AddThickLine().
* Since all the external code calling through to these methods are built on vectors, makes sense to pass them around by reference.
2022-10-14 18:19:04 +02:00
Mitchell Richters
e57ef59900 - Minor consistency fix with Duke and SW's automap code. 2022-10-14 18:19:03 +02:00
Mitchell Richters
5407de6924 - Use MaxSmoothRatio everywhere so refactoring is easier later on. 2022-10-14 18:19:03 +02:00
Mitchell Richters
04d20a52c3 - Duke: Set both orotscrnang and rotscrnang when being called from a script, since the former is an addition. 2022-10-14 18:19:03 +02:00
Mitchell Richters
d427fc3e02 - Duke: Slightly tidy up CSTAT_SPRITE_ALIGNMENT_FACING automap code. 2022-10-14 18:19:02 +02:00
Mitchell Richters
7d85acac13 - Clean up remaining automap interfaces to finish the floatification.
* Even though we pre-calculate the sine/cosine needed in `DrawOverheadMap()`, Duke and SW require the full angle for their more mature automaps.
2022-10-14 18:19:02 +02:00
Christoph Oelckers
5e2d3f5c46 - deleted unused variables from Duke's DrawAutomapPlayer 2022-10-14 18:13:51 +02:00
Mitchell Richters
c2e9e06d2a - Duke: Floatify last part of automap draw code. 2022-10-14 18:13:50 +02:00
Mitchell Richters
ccfaa76da4 - Duke: Floatify CSTAT_SPRITE_ALIGNMENT_FLOOR|CSTAT_SPRITE_ALIGNMENT_SLOPE automap draw code. 2022-10-14 18:13:50 +02:00
Mitchell Richters
6a4812ce48 - Duke: Floatify CSTAT_SPRITE_ALIGNMENT_WALL automap draw code. 2022-10-14 18:13:49 +02:00
Mitchell Richters
986466de67 - Commence updating gi->DrawAutomapPlayer() for floatification, beginning with Duke's CSTAT_SPRITE_ALIGNMENT_FACING code. 2022-10-14 18:13:49 +02:00
Christoph Oelckers
01bb7aa9f5 removed player_set_int_z 2022-10-14 00:06:29 +02:00