Commit graph

2187 commits

Author SHA1 Message Date
Mitchell Richters
e3f6b5ff85 - SW: Clean up a useless test function. 2022-12-11 18:41:50 +01:00
Mitchell Richters
c43bde9b4d - SW: Remove all the player oldpos stuff.
* This only had one valid use, for a bad setup in `DoPlayerRun()` where `DoPlayerBob()` was called before `DoPlayerMove()`.
2022-12-11 18:41:49 +01:00
Mitchell Richters
703db0e3c3 - SW: Remove PLAYER::posGet(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
be06582062 - SW: Remove PLAYER::posAdd(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
7eba7aacbd - SW: Remove last PLAYER::posSet() calls. 2022-12-11 18:41:49 +01:00
Mitchell Richters
bf0f0345b3 - SW: Remove most PLAYER::posSet() calls. 2022-12-11 18:41:49 +01:00
Mitchell Richters
0917434888 - SW: Remove PLAYER::posXY(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
ff75fa513a - SW: Remove PLAYER::posZadd(). 2022-12-11 18:41:48 +01:00
Mitchell Richters
3b961ccae9 - SW: Remove PLAYER::posZget().
- SW: Remove `PLAYER::posZget()`.
2022-12-11 18:41:48 +01:00
Mitchell Richters
fe795e6cfb - SW: Remove PLAYER::posZset() in favour of new utilities. 2022-12-11 18:41:48 +01:00
Mitchell Richters
f18512e270 - SW: Ladder fixes where centering of player was effectively occurring twice. 2022-12-11 18:41:48 +01:00
Mitchell Richters
7624f8b77d - SW: Death sequence fixes. 2022-12-11 18:41:48 +01:00
Mitchell Richters
88bace9dd7 - SW: Slightly increase the range check in DoPlayerDeathHoriz(). 2022-12-11 18:41:48 +01:00
Mitchell Richters
61086d7a8b - SW: Don't bob the actual sprite's Z since we apply it as an offset in the draw code. 2022-12-11 18:41:48 +01:00
Mitchell Richters
e6044bc0fd - SW: Repair player height issues. 2022-12-11 18:41:48 +01:00
Mitchell Richters
6d736aea19 - SW: Swap out the internals of the player's pos methods and get the game going again.
* Leave `PLAYER::PlayerOldPosition` for now.
2022-12-11 18:41:47 +01:00
Mitchell Richters
c14d1587f0 - SW: Move PLAYER struct underneath include for swactor.h.
* Needed by the next commit since the forward declaration isn't working.
2022-12-11 18:41:47 +01:00
Mitchell Richters
97a07cd83c - SW: Wrap remaining calls to PLAYER::PlayerOldPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
9ab5fd0801 - SW: Wrap calls to PLAYER::PlayerOldPosition.XY(). 2022-12-11 18:41:47 +01:00
Mitchell Richters
f711355f2f - SW: Wrap calls that get PLAYER::PlayerPrevPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
ad7a626b92 - SW: Wrap calls that set PLAYER::PlayerPrevPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
2d351b2c28 - SW: Wrap calls that set PLAYER::PlayerPrevPosition.Z. 2022-12-11 18:41:47 +01:00
Mitchell Richters
bf833fcfa3 - SW: Wrap calls to PLAYER::PlayerPrevPosition.XY(). 2022-12-11 18:41:47 +01:00
Mitchell Richters
82e0e25b7e - SW: Manual fixes to last commit I wanted to keep separate. 2022-12-11 18:41:46 +01:00
Mitchell Richters
a54d0f7639 - SW: Wrap calls that get PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
964557ab6b - SW: Wrap calls that add to PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
11f9d82239 - SW: Wrap calls that set PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
4bf202bee4 - SW: Wrap calls that get PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
4e0aa1add1 - SW: Wrap calls that add/subtract PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
6226d302f5 - SW: Wrap calls that set PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
7757288d33 - SW: Tidy up one vector equality test. 2022-12-11 18:41:45 +01:00
Mitchell Richters
7d0b2fba69 - SW: Wrap calls to PLAYER::PlayerNowPosition.XY(). 2022-12-11 18:41:45 +01:00
Mitchell Richters
f0074a913e - SW: Rename Player::oldpos to Player::PlayerOldPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
bf10d9816f - SW: Rename Player::opos to Player::PlayerPrevPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
cf25884675 - SW: Rename Player::pos to Player::PlayerNowPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
17914db418 - SW: Utilise new weapon drawing offsets from the backend. 2022-12-11 18:41:38 +01:00
Mitchell Richters
ef52694365 - Improved crosshair drawing that factor's in look_ang better I've had stashed away for a little bit. 2022-11-30 10:03:52 +01:00
Mitchell Richters
a012fd8f94 - SW: Pitch-adjusted velocity for SpawnShell(). 2022-11-30 10:03:52 +01:00
Mitchell Richters
84dbd935d7 - SW: Pitch-adjusted velocity for PlayerInitCaltrops(). 2022-11-30 10:03:52 +01:00
Mitchell Richters
b6665a9855 - SW: Pitch-adjusted velocity for PlayerInitChemBomb(). 2022-11-30 10:03:52 +01:00
Mitchell Richters
8193416e7e - SW: Pitch-adjusted velocity for InitFireball(). 2022-11-30 10:03:52 +01:00
Mitchell Richters
c8f4e8dab2 - SW: Pitch-adjusted velocity for InitMine(). 2022-11-30 10:03:51 +01:00
Mitchell Richters
db2f9b9b13 - SW: Pitch-adjusted velocity for InitGrenade(). 2022-11-30 10:03:51 +01:00
Mitchell Richters
9d0b146470 - SW: Pitch-adjusted velocity for InitSobjMachineGun(). 2022-11-30 10:03:51 +01:00
Mitchell Richters
95a5e51283 - SW: Pitch-adjusted velocity for InitTurretLaser(). 2022-11-30 10:03:51 +01:00
Mitchell Richters
a1791acf97 - SW: Pitch-adjusted velocity for InitTurretRail(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
01e326df9d - SW: Pitch-adjusted velocity for InitTurretFireball(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
462576bc51 - SW: Pitch-adjusted velocity for InitTurretRocket(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
9299e5f813 - SW: Pitch-adjusted velocity for InitTurretMicro(). 2022-11-30 10:03:50 +01:00
Mitchell Richters
86a7f7ca2c - SW: Pitch-adjusted velocity for InitTankShell(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
b99dac1e56 - SW: Pitch-adjusted velocity for InitUzi(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
319c1533b3 - SW: Pitch-adjusted velocity for InitTracerTurret(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
25e0b9a073 - SW: Pitch-adjusted velocity for InitTracerUzi(). 2022-11-30 10:03:49 +01:00
Mitchell Richters
7ae21a27cc - SW: Pitch-adjusted velocity for InitMicro(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
7658d8772d - SW: Pitch-adjusted velocity for InitNuke(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
393553780b - SW: Pitch-adjusted velocity for InitBunnyRocket(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
26460bc6aa - SW: Pitch-adjusted velocity for InitRocket(). 2022-11-30 10:03:48 +01:00
Mitchell Richters
8da5b096c0 - SW: Pitch-adjusted velocity for InitRail(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
283f8d208a - SW: Pitch-adjusted velocity for InitLaser(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
51c0fbcca1 - SW: Pitch-adjusted velocity for InitShotgun(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
3fd397e384 - SW: Pitch-adjusted velocity for InitHeartAttack(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
a27e5a0ed2 - SW: Pitch-adjusted velocity for InitStar(). 2022-11-30 10:03:47 +01:00
Mitchell Richters
bcf09c3037 - SW: Pitch-adjusted velocity for InitFistAttack(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
2577ea21f2 - SW: Pitch-adjusted velocity for InitSwordAttack(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
2b4149b70e - SW: Pitch-adjusted velocity for InitSpellMirv(). 2022-11-30 10:03:46 +01:00
Mitchell Richters
b7a1e699f6 - SW: Pitch-adjusted velocity for InitSpellNapalm(). 2022-11-30 10:03:46 +01:00
Christoph Oelckers
ec48b91730 - fixed the last remaining z/inttoworld mismatches.
The one in clipmove was critical, the other ones not so much.
2022-11-27 10:21:47 +01:00
Christoph Oelckers
ed4f49ac86 - fixed sound code for backend update. 2022-11-24 17:46:39 +01:00
Christoph Oelckers
42e02d2956 - eliminated firstWall as well. 2022-11-15 15:44:33 +01:00
Christoph Oelckers
5798fa067f - cleaned up all -> accesses through firstWall(). 2022-11-15 15:33:35 +01:00
Christoph Oelckers
af60408e63 - sector wall access cleanup.
lastWall was only used twice and firstWall() + index can be done better now.
2022-11-15 15:31:52 +01:00
Christoph Oelckers
7d9a4ea70d - eliminated wallsofsector. 2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53 - eliminate wall_count. 2022-11-15 14:59:28 +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
ac4be79e96 - implemented cl_weaponswitch for Duke. 2022-11-12 09:34:08 +01:00
Christoph Oelckers
cfb9ebf8e5 - fixed bad velocity assignment in DoLaser, causing an endless loop. 2022-11-10 10:00:44 +01:00
Christoph Oelckers
e88b24bce7 - SW: fixed clipdist for brown rippers. 2022-11-09 20:16:47 +01:00
Christoph Oelckers
d2f0981091 - SW: fixed distance check in DoGet. 2022-11-09 19:03:23 +01:00
Christoph Oelckers
870801b8ac - SW: explicitly initialize sector object turn angle values.
The integer code relied on the memset to -1, but with floats that sets it to -NaN.
2022-11-09 18:35:03 +01:00
Christoph Oelckers
fd1864bb48 - fixed bad iterator setup in SpriteSetupPost 2022-11-07 13:48:01 +01:00
Mitchell Richters
d892fa10d2 - SW: Fix ladder speed with unnecessary amplification applied.
* Fixes #745.
2022-11-07 20:23:14 +11:00
Mitchell Richters
143f691c06 - SW: Try to fix up the camera drawing a bit.
* Slight pitch adjustment, plus factoring in that values of 0 constituted 100 under original game.
* View screens in game are not actually 1:1 AR but 1.12:1
2022-11-06 21:59:07 +11:00
Christoph Oelckers
99753fd03a - fixed bad scaling factor in girlninj.cpp. 2022-11-04 18:18:23 +01:00
Christoph Oelckers
0c87bcb91b - renamed getzsofslopeptr to calcSlope and removed one redundant inline. 2022-10-30 16:51:40 +01:00
Christoph Oelckers
32b2e84fdc - added episode and total episode time display to alt HUD 2022-10-30 16:51:40 +01:00
Christoph Oelckers
f4c8ac0140 - made AnimSet's vel parameter an actual double.
This does not affect any outcome, it just avoids pointless type conversions.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
4ac3820511 - deleted two unused local variables. 2022-10-30 16:51:36 +01:00
Christoph Oelckers
98e2fecd37 - another bunch of type conversion warnings fixed.
the ones in the findplayer functions are not critical in singleplayer.
2022-10-30 16:51:35 +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
0c8a76dc9c - use ActorVect… functions in a few more places 2022-10-30 16:51:35 +01:00
Christoph Oelckers
e5efb5c15f - fixed seeker missile aiming
merge to "floatified VectorMissileSeek"
2022-10-30 16:51:34 +01:00
Christoph Oelckers
c159953ac6 - use normalangle(). 2022-10-30 16:51:33 +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
da523eb8e3 - unwrapped vector SetScale. 2022-10-30 16:51:32 +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
85b52b1c77 - removed Scale(), CopyScale() and MultScale 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
2df12e7961 - these are the final repeats 2022-10-30 16:51:31 +01:00
Christoph Oelckers
854c42e4ca - handle all remaining repeat constants. 2022-10-30 16:51:31 +01:00
Christoph Oelckers
42b36d97b9 - half of the remainint repeats in weapon.cpp. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
391b8ffc34 - batch of repeats in weapons.cpp 2022-10-30 16:51:30 +01:00
Christoph Oelckers
0e8594628e - did the messier parts of weapon.cpp's repeats. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
ce0a40320c - handle all 'notreallypos' places. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
8a455aa09b - all remaining repeats outside weapon.cpp plus a few more. 2022-10-30 16:51:30 +01:00
Christoph Oelckers
60782efd01 - some odd repeats. 2022-10-30 16:51:29 +01:00
Christoph Oelckers
33aed76977 - random scale stuff in jweapon.cpp 2022-10-30 16:51:29 +01:00
Christoph Oelckers
8cb40291f2 - lots of repeat literals in SW 2022-10-30 16:51:29 +01:00
Christoph Oelckers
8ede08ce69 - mostly coolie related scaling factors. 2022-10-30 16:51:29 +01:00
Christoph Oelckers
abf5c9feee - all repeats in SW’s draw code 2022-10-30 16:51:29 +01:00
Christoph Oelckers
509d56d042 - handle bunny scaling in SW 2022-10-30 16:51:29 +01:00
Christoph Oelckers
dd3346cbc5 - mostly comparisons and code surrounding them 2022-10-30 16:51:26 +01:00
Christoph Oelckers
1085752e01 - added more Scale wrappers to spritetype. 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
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
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
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
35fbc634de - silence some warnings 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
e80c32cfd4 - handle magic clipdist values 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
ed5b35453a - ';;' cleanup 2022-10-30 16:51:15 +01:00
Christoph Oelckers
7ed45d713a - refactor all oclipdist uses 2022-10-30 16:51:15 +01:00
Christoph Oelckers
d22c473c31 - manual set_const_clipdist replacements 2022-10-30 16:51:15 +01:00
Christoph Oelckers
48fda0cafd - second batch of set_const_clipdist replacements 2022-10-30 16:51:15 +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
Christoph Oelckers
88dcc37e94 - got rid of the wrappers for the SO angles. 2022-10-30 16:51:13 +01:00
Mitchell Richters
215fc7d407 - SW: Optimise DoPlayerDeathHoriz() a bit. 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
679e029c6d - do not save randomseed twice. 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
f45acdc2a8 - floatified two SOP clipdist variables 2022-10-30 16:51:08 +01:00
Christoph Oelckers
9257fe0078 - fixed clipmove factors. 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
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
75047b6ad5 - Eliminate MulScaleF(). 2022-10-27 16:55:52 +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
Mitchell Richters
9dd27ee3a2 - Remove old integer dragpoint() interface that was used by floats in lots of places.
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Christoph Oelckers
22ccf33569 - floatified walldist parameter of getzrange 2022-10-25 07:07:14 +02:00
Christoph Oelckers
3c3b602989 - made getzrangepoint slope sprite aware. 2022-10-25 07:07:13 +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
a952c35669 - SW: Convert DoPlayerDeathHoriz() to work on pitch and remove now-unused buildhoriz(). 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
06a9a7b1a7 - SW: Change all weapon recoils to work on pitch. 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
d8a6471680 - Add fixedhoriz::Tan() and replace most asbuildf() calls with it. 2022-10-25 07:06:53 +02:00
Mitchell Richters
f6f88f587d - SW: Consolidate random range applied to weapon vel.Z into an inline. 2022-10-25 07:06:53 +02:00
Christoph Oelckers
babbad83af - fixed FAFhitscan to not pass the hitpos back into hitscan.
This will overwrite the scan's start and cause the function to malfunction.
2022-10-22 20:41:27 +02:00
Christoph Oelckers
116ba340b2 - further hitscan overhaul.
* added floating point sprite intersect handlers for all sprite types. Hopefully this code is more understandable than Build's original variant.
* cleaned up intersectSprite a bit and moved the geometry math into the utility header.
* made some minor corrections to neartag.
* moved SW's testpointinquad to the backend because it was useful here.
2022-10-22 20:41:26 +02:00
Christoph Oelckers
243c071834 - got rid of bsinf and bcosf. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
ef2f781e09 - rewrite from scratch of neartag. 2022-10-22 12:17:04 +02:00
Christoph Oelckers
600648939a - removed some unnecessary distance checks.
These are the same as the specified max distance and redundant.
2022-10-22 12:17:03 +02:00
Christoph Oelckers
aae468e2b2 - migrated all of SW's neartag calls to the fully floatified version 2022-10-22 12:17:03 +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
c5a5e3cef5 - deleted some unused deprecated functions. 2022-10-22 12:17:01 +02:00
Christoph Oelckers
d9453138f9 - fixed FAFcansee not working in some edge cases where one actor is very small and poorly placed.
Instead of directly going to the alternative, let's just do a regular cansee anyway and only run the fallback if this fails. hitscan is not good enough to perform sight checks.
2022-10-22 12:17:01 +02:00
Christoph Oelckers
6a1ff029b7 - floatified getslopeval and all related code. 2022-10-22 12:17:00 +02:00
Mitchell Richters
930a78f7b2 - Use REPEAT_SCALE in a few more places. 2022-10-22 12:16:59 +02:00
Christoph Oelckers
375d346ae8 - pass a vector to the processSprites interface. 2022-10-22 12:16:56 +02:00
Christoph Oelckers
ca8b9e9793 - overhauled getzrangepoint to use backend utilities 2022-10-22 12:09:54 +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
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
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
ccbe472444 - added NULL check where it can crash when noclipping. 2022-10-19 18:25:43 +02:00
Christoph Oelckers
1553ec812d - magic carpet fixes for SW's $woods.map
* the track point code needs to retain the original distance function because in this case the difference can be critical as it interprets map data.
* two cases of bad vertical distance calculation due to unclear original code.
2022-10-19 17:49:19 +02:00
Christoph Oelckers
6e11a4317e - SW: fixed savegame pic generation corrupting the actor list.
This case missed the call to PostDraw which is responsible for cleaning up some temporary data.
2022-10-19 00:11:44 +02:00
Christoph Oelckers
0cef35c345 - SW: when an actor is killed, all attached ambient sounds must be deleted.
Not only did the sound not stop but what happened here was very much undefined behavior as the ambient sound retained its pointer to now undefined memory.
2022-10-19 00:05:35 +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
0e1a566d62 - added mapangle function for converting angles from map data.
This is just a wrapper around DAngle::fromBuild, its purpose is to clearly highlight data that cannot be refactored and needs to be converted
2022-10-18 19:01:45 +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
c6a0d30245 - wrapped most remaining clipdist access
Only modifying operators left
2022-10-17 17:03:53 +02:00
Christoph Oelckers
1ba20c7dce - wrapped most clipdist assignments 2022-10-17 17:03:53 +02:00
Christoph Oelckers
d664f50240 - wrapped more clipdists 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
cb0be471d1 - hack macros to reduce clipdist search noise
Will be removed later
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
51c059657b - wrapped all literal assignments to clipdist - part 6 2022-10-17 17:03:53 +02:00
Christoph Oelckers
c55fdd41e8 - wrapped all literal assignments to clipdist - part 5 2022-10-17 17:03:53 +02:00
Christoph Oelckers
3e36b5627b - wrap clipdist << 2 2022-10-17 17:03:52 +02:00
Christoph Oelckers
7fb7146b7b - floatify CloseRangeDist’s fudge parameter 2022-10-17 17:03:52 +02:00
Christoph Oelckers
8f94b337ac - removed another dead function. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
e15a89fc70 - found one more place using Build angles. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
be1f510728 - eliminated DAMAGE function. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
13c0455b0a - removed bad 'inline's. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3c78429210 - DoPickTarget. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
ef6ba17dfd - more cleanup. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
ee669a1fec - cleanup 2022-10-17 17:03:52 +02:00
Christoph Oelckers
1a365997d8 - took care of most of zinttoworld 2022-10-17 17:03:52 +02:00
Christoph Oelckers
82ac3c50e8 - handle bsin / bcos. 2022-10-17 17:03:52 +02:00
Christoph Oelckers
3dbf7740c0 - InitShotgun 2022-10-17 17:03:52 +02:00
Christoph Oelckers
af0809ef36 - eliminated MOVExy 2022-10-17 17:03:52 +02:00
Christoph Oelckers
d957e8cfcf - set_int_change is gone. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
5a437aa563 - the last velocity bit. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
a7d07df55f - the final part of z-velocity wrappers. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
4043cd6f83 - TestMissileSetPos 2022-10-17 17:03:51 +02:00
Christoph Oelckers
ab89708c80 - the last int_vel's. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
54acf530e7 - another portion of z-velocity awfulness. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
44803c1109 - lots of z-velocity crap.
The math for this is atrocious...
2022-10-17 17:03:51 +02:00
Christoph Oelckers
5a3d4a4b42 - set_int_ang, add_int_ang in SW 2022-10-17 17:03:51 +02:00
Christoph Oelckers
37b8b63dac - handle all remaining int_ang in weapon.cpp. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
b2b1522185 - fixed a few bad length calculations 2022-10-17 17:03:51 +02:00
Christoph Oelckers
0e57a9f3c7 - some more angles. 2022-10-17 17:03:51 +02:00
Christoph Oelckers
dd22e812a6 - handle several angle assignments 2022-10-17 17:03:51 +02:00
Christoph Oelckers
276960ac08 - handle PlayerFacingRange 2022-10-17 17:03:51 +02:00
Christoph Oelckers
2fd918674d - floatify FacingRange 2022-10-17 17:03:51 +02:00
Christoph Oelckers
8b70326da5 - handle PlayerDamageSlide and ActorDamageSlide. 2022-10-17 17:03:11 +02:00
Christoph Oelckers
16cc147173 - fixed bad distance check.
This originally was 18000, not 10000
2022-10-17 07:12:38 +02:00
Christoph Oelckers
2f1cda39fa - floatified DoBloodWorm 2022-10-16 23:54:20 +02:00
Christoph Oelckers
f6a21216ee - floatified InitEnemyFireball 2022-10-16 23:54:20 +02:00
Christoph Oelckers
a1993bbde4 - floatified InitTurretMgun 2022-10-16 23:54:20 +02:00
Christoph Oelckers
a75531a5b8 - floatified InitSobjMachineGun 2022-10-16 23:54:20 +02:00
Christoph Oelckers
622dea3ebf - floatify InitTurretMicro 2022-10-16 23:54:20 +02:00
Christoph Oelckers
fdabd75422 - got rid of DistanceI. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
9a464e81e7 - deal with distances and CloseRangeDist. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
b7b5e34fb6 - floatified WeaponAutoAimHitscan 2022-10-16 23:54:19 +02:00
Christoph Oelckers
150202d782 - third batch 2022-10-16 23:54:19 +02:00
Christoph Oelckers
2932cb81b2 - floatify TraverseBreakableWalls. 2022-10-16 23:54:19 +02:00
Christoph Oelckers
5f5b7d90f1 - second batch of weapon.cpp floatification 2022-10-16 23:54:19 +02:00
Christoph Oelckers
8cd65bf5d9 - first round of weapon.cpp floatification 2022-10-16 23:54:19 +02:00
Christoph Oelckers
75476d84dd - add a floating point wrapper for USER:Radius.
Changing the variable causes more problems than it solves.
2022-10-16 23:54:19 +02:00
Christoph Oelckers
a441e01363 - several DISTANCE calls in weapon.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
ab8fbb0f35 3 x DISTANCE in weapon.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
73998f556f - 4x DISTANCE in skull.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
f683f89580 - comment cleanup 2022-10-16 23:54:18 +02:00
Christoph Oelckers
f47540dd3f - floatified warp.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
620613b088 - floatified wallmove. 2022-10-16 23:54:18 +02:00
Christoph Oelckers
cc73e90ce5 - function separators and dead code removal in weapon.cpp and wallmove.cpp 2022-10-16 23:54:18 +02:00
Christoph Oelckers
da664b9964 - deal with the last remaining bits of integer math in track.cpp. 2022-10-16 23:54:18 +02:00
Christoph Oelckers
e4b0be9f1d - pass a vector to JS_CameraParms 2022-10-16 23:54:17 +02:00
Christoph Oelckers
ca7488672f - floatified angle assignments in skull.cpp 2022-10-16 23:54:17 +02:00
Christoph Oelckers
3e3e3714dc - function separators in 6 files 2022-10-16 10:59:05 +02:00
Christoph Oelckers
05af0c81d5 - floatified the remaining parts of draw.cpp 2022-10-16 10:59:05 +02:00
Christoph Oelckers
e737551b64 - moved setuo of opbob_pos to the correct place. 2022-10-16 10:59:04 +02:00
Mitchell Richters
8fec35b278 - SW: Interpolate player's pbob_amt. 2022-10-16 10:59:04 +02:00
Christoph Oelckers
baa6516e8c - floatified more of SW's draw.cpp 2022-10-16 10:59:04 +02:00
Christoph Oelckers
4dedda91c5 - floatified motion blur 2022-10-16 10:59:03 +02:00
Christoph Oelckers
5b8af8ff04 - removed useless line of code. 2022-10-16 10:59:03 +02:00
Christoph Oelckers
3df3676468 - got rid of int_ppos() 2022-10-16 10:59:03 +02:00
Christoph Oelckers
9103f4dbe8 - missed 2 vel in skull.cpp 2022-10-16 10:59:03 +02:00
Christoph Oelckers
b3a3f89f50 - silenced some warnings 2022-10-16 10:59:03 +02:00
Christoph Oelckers
4b2dd2136b - got rid of some leftovers 2022-10-16 10:58:34 +02:00
Christoph Oelckers
c0cc2b0760 - some remaining angle stuff in ripper code 2022-10-16 10:58:34 +02:00
Christoph Oelckers
68608b081b - function separators 2022-10-16 10:58:34 +02:00
Christoph Oelckers
5628590c7c - eliminated move_sprite wrapper 2022-10-16 10:58:34 +02:00
Christoph Oelckers
efe7f7c90e - floatified more of sprite.cpp 2022-10-16 10:57:45 +02:00
Christoph Oelckers
30d4d5ddfe - a bit more of sprite.cpp 2022-10-16 10:31:12 +02:00
Christoph Oelckers
1433253ca9 - floatified SpriteSetup 2022-10-16 10:31:12 +02:00
Christoph Oelckers
64b5ba8c68 - pass floating point velocities to SpawnActor
Also remove the fixed point variant
2022-10-16 10:31:12 +02:00
Christoph Oelckers
b03f3bbc1e - function separators again 2022-10-16 10:26:30 +02:00
Christoph Oelckers
327161de9f - floatified SpawnSplashXY 2022-10-16 10:26:30 +02:00
Christoph Oelckers
2e31e9d97c - floatified SpawnShotgunSparks, SpawnBoatSparks and ContinueHitscan 2022-10-16 10:26:30 +02:00
Christoph Oelckers
b73809c90c - floatified SpawnSwordSparks 2022-10-16 10:26:30 +02:00
Christoph Oelckers
9486d39360 - floatiified SW PlaySound 2022-10-16 10:26:30 +02:00
Christoph Oelckers
50668e45dd - had to partially revert the math for panning to integers.
The higher precision causes panning speed differences that are visible.
2022-10-16 10:26:30 +02:00
Christoph Oelckers
78c6888973 - eliminated remaining int math in sector.cpp 2022-10-16 10:26:30 +02:00
Christoph Oelckers
4d8386af39 - floatified BuildNearTagList 2022-10-16 10:26:30 +02:00
Christoph Oelckers
dc22b2e0ae - smaller changes in sector.cpp 2022-10-16 10:21:43 +02:00
Christoph Oelckers
fce5f01f07 - floatified SINE_WAVE_FLOOR 2022-10-16 10:21:43 +02:00
Christoph Oelckers
af6f96caa4 - floatified SINE_WALL 2022-10-16 10:21:42 +02:00
Christoph Oelckers
3bd8a02c3f - floatified ROTATOR 2022-10-16 09:40:29 +02:00
Christoph Oelckers
0e628ed222 - floatified CollectPortals and its helpers 2022-10-16 09:40:28 +02:00
Christoph Oelckers
37e859c3b9 - floatified FAFgetzrange/point 2022-10-16 09:40:28 +02:00
Christoph Oelckers
211ee808eb - missed two lines. 2022-10-16 09:40:28 +02:00
Christoph Oelckers
5cda92b629 - partial floatification of FAFgetzrange/point 2022-10-16 09:40:28 +02:00
Christoph Oelckers
5b52af9b85 - renamed base FAFgetzrangepoint function 2022-10-16 09:40:28 +02:00
Christoph Oelckers
860dde17ca - floatified FAFcansee 2022-10-16 09:40:28 +02:00
Christoph Oelckers
8bedc1193b - floatified FAFhitscan 2022-10-16 09:40:28 +02:00
Christoph Oelckers
2936cb022c - migrated all FAFhitscan calls to the DVector3 variant.
Most with temporary wraps - this is needed to migrate the function itself to DVector3.
2022-10-16 09:40:12 +02:00
Christoph Oelckers
2be5ea9f15 - function separators in 3 files. 2022-10-16 09:22:28 +02:00
Christoph Oelckers
735d82e8d3 - function separators and minor cleanup in ripper*.cpp 2022-10-16 09:22:27 +02:00
Christoph Oelckers
a55b7f950e - function separators in quake.cpp. 2022-10-16 09:21:20 +02:00
Christoph Oelckers
f9f26bbfe2 - cleaned out most MOVEx/y calls and the last remaining wrappers in player.cpp. 2022-10-16 09:21:20 +02:00
Christoph Oelckers
64e906d8fc - remaining wrappers in coolg.cpp and jweapon.cpp 2022-10-15 23:47:33 +02:00
Mitchell Richters
b81a465336 - SW: Fix bad setup for following killer actor upon death. 2022-10-15 18:22:10 +02:00
Christoph Oelckers
d68bd0d11d - player.cpp is done 2022-10-15 18:22:10 +02:00
Christoph Oelckers
3f135cbdfe - final function separators 2022-10-15 18:22:10 +02:00
Christoph Oelckers
856f82c97c - last FindDistance call in player.cpp 2022-10-15 18:22:09 +02:00
Christoph Oelckers
aba453dccf - lots of function separators 2022-10-15 18:22:09 +02:00
Christoph Oelckers
d1e29aad36 - floatified GetOverlapSector and its callers 2022-10-15 18:22:09 +02:00
Christoph Oelckers
92b7ede649 - floatified PlayerOnLadder 2022-10-15 18:22:09 +02:00
Christoph Oelckers
0222c69490 - clean up DoPlayerWadeSuperJump 2022-10-15 18:22:09 +02:00