Commit graph

485 commits

Author SHA1 Message Date
Mitchell Richters
401a829d54 - Rename PlayerHorizon::horiz in preparation for replacement work. 2022-12-11 18:41:53 +01:00
Mitchell Richters
f027d07ae5 - Annotate all player angles that are being set as the sprite angles to review later.
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
2e0b9490e1 - Change spritetypebase::angle to a DRotator named Angles.
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Mitchell Richters
f10f1b9154 - Duke: Remove player_struct::posoldZset() and player_struct::posoldZget(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
66a08a26e8 - Duke: Remove player_struct::posoldX(), player_struct::posoldY(), and player_struct::posoldXY(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
27be72c7ec - Duke: Remove player_struct::posGet(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
b42672dcf9 - Duke: Remove player_struct::posZget(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
92dd6c9795 - Duke: Remove player_struct::posXY(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171 - Duke: Remove player_struct::posX() and player_struct::posY(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
b1bd59db41 - Duke: Clean up all player position calls referencing gs.playerheight that don't need it when using the sprite height. 2022-12-11 18:41:42 +01:00
Mitchell Richters
6eeedbd38a - Duke: Move player_struct::restorexyz() to DCoreActor::restorepos(). 2022-12-11 18:41:42 +01:00
Mitchell Richters
a78d976352 - Duke: Remove player_struct::backupxyz() in lieu of actor variant. 2022-12-11 18:41:42 +01:00
Mitchell Richters
dd5834444e - Duke: Swap out the internals of the player's pos methods and get the game going again. 2022-12-11 18:41:41 +01:00
Mitchell Richters
e4dd69f5b0 - Duke: Wrap calls that get player_struct::PlayerOldPosition.Z. 2022-12-11 18:41:40 +01:00
Mitchell Richters
830480b8b9 - Duke: Wrap calls that set player_struct::PlayerOldPosition.Z. 2022-12-11 18:41:40 +01:00
Mitchell Richters
4027f7256d - Duke: Wrap calls to player_struct::PlayerOldPosition.Y. 2022-12-11 18:41:40 +01:00
Mitchell Richters
823c5a7a47 - Duke: Wrap calls to player_struct::PlayerOldPosition.X. 2022-12-11 18:41:40 +01:00
Mitchell Richters
a3b1ab10fe - Duke: Wrap calls that get player_struct::PlayerNowPosition. 2022-12-11 18:41:39 +01:00
Mitchell Richters
25e6c4ecf8 - Duke: Wrap calls that get player_struct::PlayerNowPosition.Z. 2022-12-11 18:41:39 +01:00
Mitchell Richters
008c05710b - Duke: Wrap calls to player_struct::PlayerNowPosition.Y. 2022-12-11 18:41:38 +01:00
Mitchell Richters
3a07c05af7 - Duke: Wrap calls to player_struct::PlayerNowPosition.X. 2022-12-11 18:41:38 +01:00
Mitchell Richters
5d3878eb55 - Duke: Wrap calls to player_struct::PlayerNowPosition.XY(). 2022-12-11 18:41:38 +01:00
Mitchell Richters
4b7d2fcfcc - Duke: Rename player's opos to something identifiable. 2022-12-11 18:41:38 +01:00
Mitchell Richters
4aa63b5446 - Duke: Rename player's pos to something identifiable. 2022-12-11 18:41:38 +01:00
Christoph Oelckers
4d6920e80b - fixed failiure to initialize the ambient tags array.
Also adding range checks to all places where it gets used. This is from CON code so proper values are never guaranteed.
2022-11-24 09:01:44 +01:00
Christoph Oelckers
5528725985 - got rid of deletesprite, plus one new flag. 2022-11-20 19:25:23 +01:00
Christoph Oelckers
65a5e5e29a - unlimized two map resources - cyclers and ambient tags. 2022-11-20 14:13:11 +01:00
Christoph Oelckers
cb005062cd - scriptified activators and locators. 2022-11-20 12:43:24 +01:00
Christoph Oelckers
046ba1ae0c - scriptified touchplate 2022-11-19 15:40:35 +01:00
Christoph Oelckers
42e02d2956 - eliminated firstWall as well. 2022-11-15 15:44:33 +01:00
Christoph Oelckers
84b17a8a53 - eliminate wall_count. 2022-11-15 14:59:28 +01:00
Christoph Oelckers
bfae5ce1bc - use a TArrayView to store the wall references in a sector.
This is a lot more scripting friendly than hacking around the indices.
2022-11-15 14:53:39 +01:00
Christoph Oelckers
34333302f9 - wrapped all reading wallptr references. 2022-11-15 12:37:14 +01:00
Christoph Oelckers
c23db8ea35 - wrapped all reads of sectortype::wallnum and renamed all other wallnum variables. 2022-11-15 12:21:21 +01:00
Christoph Oelckers
b7a7584059 - renamed wallnum and sectnum functions.
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +01:00
Christoph Oelckers
ad7cf290d2 - restricted use of gs.firstdebris to the only place where it is really needed.
Also no script export for this, it is only needed for converting CON parameters to propr indices.
2022-11-15 08:28:05 +01:00
Christoph Oelckers
d253468b22 - scriptified the scraps.
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
ac4be79e96 - implemented cl_weaponswitch for Duke. 2022-11-12 09:34:08 +01:00
Christoph Oelckers
902f8c9706 - silenced lots of warnings for deliberate type conversions.
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
3c6b64d621 - renamed everything back 2022-10-30 16:51:33 +01:00
Christoph Oelckers
81341ce4a6 - unwrapped SetScale as well.
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
15db7a7143 - unwrapped SetScaleX/Y. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d - removed AddScale wrappers. 2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9 - started removing wrappers. ScaleX() and ScaleY() done.
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
bda616eb01 - fixed warning 2022-10-30 16:51:27 +01:00
Christoph Oelckers
2a4483e860 - all remaining repeats in Duke except spawn_d and spawn_r 2022-10-30 16:51:27 +01:00
Christoph Oelckers
1a22127123 - refactoring CreateActor - part 1 2022-10-30 16:51:26 +01:00
Christoph Oelckers
dd3346cbc5 - mostly comparisons and code surrounding them 2022-10-30 16:51:26 +01:00
Christoph Oelckers
5700d25120 - minor cleanup on scaling code 2022-10-30 16:51:25 +01:00
Christoph Oelckers
8a8ef22e53 - mostly '>' comparisons with scale values. 2022-10-30 16:51:22 +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
71d61b26df - 34 more uses of SetScale. 2022-10-30 16:51:19 +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
03d6826fce - first batch of set_const_clipdist replacements 2022-10-30 16:51:14 +01:00
Mitchell Richters
cea2b6b428 - Rename PlayerHorizon::__horiz back to horiz. 2022-10-30 16:51:12 +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
Mitchell Richters
9b98388215 - VecToAngle() with XY() inside to .Angle() replacements. 2022-10-27 16:55:53 +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
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
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
Christoph Oelckers
b2fd1fdaa4 - second part of final bsin replacement. 2022-10-22 12:09:54 +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
9325886e35 - split use of tempang between real angles and other counters. 2022-10-22 11:33:16 +02:00
Christoph Oelckers
1fdfe4635b - only use the floatified version of findplayer. 2022-10-22 11:33:14 +02:00
Christoph Oelckers
cd6c524b90 - converted most of the remaining CreateActor calls. 2022-10-22 09:34:16 +02:00
Christoph Oelckers
062e533b81 - floatified hitasprite's callers. 2022-10-22 09:34:13 +02:00
Christoph Oelckers
4dfba60d99 - eliminated all ldist calls outside the weapon code. 2022-10-21 00:00:08 +02:00
Christoph Oelckers
829d06790f - handle the remaining movesprite_ex calls 2022-10-21 00:00:04 +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
021f7062d1 - ported all simple EGS calls to CreateActor 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
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
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
a847b23e7c - made player.vel a real float vector with proper value range. 2022-10-20 00:48:07 +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
8171927c2a - renamed player_struct::vel 2022-10-20 00:19:56 +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
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
3fc592c505 - wrap clipdist copy 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
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
ec88d1ea6c - set_int_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
0740ccbef1 - use PlayerIndex where appropriate. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
6ddfd8e97a - set_int_zvel 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
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
Christoph Oelckers
ee41cda31e - Duke: floatified pyoff 2022-10-13 22:54:42 +02:00
Christoph Oelckers
113980ca8e - cansee in Duke 2022-10-11 18:05:15 +02:00
Christoph Oelckers
d9397b3b5d - another batch of wrapper replacements 2022-10-09 08:21:53 +02:00
Mitchell Richters
478e7a6801 - Eliminate some TAngle floating point Build method usage. 2022-10-05 00:36:31 +02:00
Mitchell Richters
5c84f93c08 - Use the static constexpr nullAngle everywhere possible. 2022-10-05 00:36:30 +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
dbc46e2a75 - Change out PlayerAngle::settarget()'s input from binangle to DAngle. 2022-10-05 00:36:27 +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
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
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
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
05d8cee911 - more cleanup. 2022-10-04 18:44:15 +02:00
Christoph Oelckers
29ae7f7a02 - floatified bobpos. 2022-10-02 20:47:00 +02:00
Christoph Oelckers
1f49f62d75 - cleanup, part 3. 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
44dc2a692f - wrapped player::pos z-assignments. 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
c5fb88e203 - another batch of utility use 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
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
665ee69eba - Duke: cleanup on z-checks, part 3. 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
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
5df4caa82f - renamed interpolate functions as preparation for floatifying opos. 2022-10-02 20:46:56 +02:00
Christoph Oelckers
c84d75b8bf - use inline access functions to read floorz/ceilingz. 2022-08-27 09:58:16 +02:00
Christoph Oelckers
0672572e63 - renamed sectortype::floorz and ceilingz as preparation for floatification 2022-08-27 09:47:48 +02:00
Christoph Oelckers
204d6018f4 - Duke: renamed all spr.pos
This was pure search&replace with no other code edits.
2022-08-26 19:53:07 +02:00
Christoph Oelckers
9bf94cbc1c - Duke: eighth batch 2022-08-26 19:53:06 +02:00
Mitchell Richters
00e12ea031 - Remove some uses of xs_Float.h functions in game-side code where overflow protection isn't needed.
* Went a little bit nuts and just used this everywhere back way back when.
2022-07-23 10:37:32 +10:00
Mitchell Richters
a29bce9eda - Duke: Interpolate loogcnt when drawing onscreen. 2022-06-06 11:24:47 +10:00
Mitchell Richters
f4b78dc3c7 - Duke: Interpolate access_incs when drawing onscreen (security card usage). 2022-06-06 09:47:30 +10:00
Mitchell Richters
3b2ef4d18b - Duke: Interpolate tipincs when drawing onscreen (tipping the dancers). 2022-06-06 09:40:47 +10:00
Mitchell Richters
d6549d6335 - Duke: Interpolate knee_incs when drawing onscreen (stomping on shrunken enemies). 2022-06-06 09:19:55 +10:00
Mitchell Richters
ab95a8b890 - Duke: Interpolate fist_incs when drawing onscreen (hitting the nuke detonator at the end of each level). 2022-06-05 21:00:44 +02:00
Mitchell Richters
7282e0d8bf - Remove multiple addadjustment()/settarget() overloads in favour of native binangle/fixedhoriz versions only.
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
aab13addb7 -renamed spritetype’s owner field to ‚intowner‘
Mainly for easier searching.
Also remove the duplicate ‚detail‘ field.
2022-05-24 00:30:41 +02:00
Christoph Oelckers
f44736a5b6 -use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible. 2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55 - renamed walltype::pos as preparation for refactoring.
no functional changes here
2022-02-15 22:18:22 +01:00
Christoph Oelckers
82898e42a6 - fix the camera.
- camera flag added
2022-01-27 01:05:12 +01:00
Christoph Oelckers
eae5ca93d0 - cleanup - flag name and removal of unused code. 2022-01-27 00:42:40 +01:00
Christoph Oelckers
fc94fb9651 - replaced checktimetosleep with a flag. 2022-01-27 00:42:07 +01:00