Commit graph

7490 commits

Author SHA1 Message Date
Christoph Oelckers
6c0696dd26 - SW: migrated PSP animators to VM functions. 2023-11-12 15:33:43 +01:00
Christoph Oelckers
44f8cf8db6 - deleted build.h and clip.h, now that both are empty. 2023-11-12 14:45:24 +01:00
Christoph Oelckers
43f4962561 - got rid of the global compatibility modes and made 'precise' a parameter for clipmove.
This better reflects how this stuff gets used.
2023-11-12 14:45:24 +01:00
Christoph Oelckers
6984b7d6db Exhumed: do raw serialization of FreeListArray.
This is for robustness reasons, there were occurences where this did not properly restore everything as intended.
2023-11-12 12:04:08 +01:00
Christoph Oelckers
c62418006c SW: fixed coolie death animation. 2023-11-12 08:59:55 +01:00
Mitchell Richters
f399caa69d - Duke: Fix missed symbolic constant from 13d57cdbd6. 2023-11-12 08:42:25 +11:00
Christoph Oelckers
13d57cdbd6 use symbolic constant in two places close to the last commit. 2023-11-11 09:51:30 +01:00
Christoph Oelckers
2cf474bddc Duke/RR: fixed player dying when falling from great heights while god mode being on. 2023-11-11 09:45:19 +01:00
Mitchell Richters
f4fee750d5 - Duke: Remove incur_damage() from dispatcher.
* Only used locally within `processinput()` for each game.
2023-11-10 12:00:50 +11:00
Mitchell Richters
7dbd38c84a Revert "- clamp player sprite's xvel between 0 and 512 to stop it going into the negative with rapid posx/posy changes due to teleporting."
This reverts commit cf548e055e.

* Shouldn't be necessary now with doubles instead of integers for coordinates.
* Affected spot in commit message appears fine upon testing.
2023-11-10 12:00:50 +11:00
Mitchell Richters
669a6e8ac0 - Duke: Tidy up return setup in checkp(). 2023-11-10 12:00:50 +11:00
Mitchell Richters
d034d20cd1 - Duke: Use checkp() in ParseState::parse() to remove some duplicated code. 2023-11-10 12:00:50 +11:00
Mitchell Richters
fd394cddad - Duke: Remove a few remaining triple negations missed in 7498be6f5d. 2023-11-10 12:00:49 +11:00
Mitchell Richters
489e535992 - Blood: Clean up player vel code following InputPacket changes. 2023-11-10 12:00:49 +11:00
Christoph Oelckers
c19fd602d5 migrate to FTranslationID support
So far this only adapts to the changes in the backend without making further use of this type.
2023-11-09 23:19:48 +01:00
Mitchell Richters
3496d5cac5 - Exhumed: Return early in movesprite() if the actor's sector is null.
* This is what PowerSlaveGDX does.
* Fixes #1010.
2023-11-08 15:34:40 +11:00
Mitchell Richters
6c70211238 - Exhumed: Adjust angle change in 47a77fc8f1 to be 1:1 with the source. 2023-11-08 15:07:14 +11:00
Christoph Oelckers
47a77fc8f1 Exhumed: fix handling of angles for the queen's eggs when colliding with a wall. 2023-11-06 17:05:12 +01:00
Mitchell Richters
5d68927e21 - Exhumed: Remove sequence post-processing since range checks from c039882dcc handle this. 2023-11-06 14:29:11 +11:00
Mitchell Richters
6f7a07dca1 - Exhumed: Clean up push factor in runlist_CheckRadialDamage() for players.
* Some fudging was added due to issues that have now been properly resolved in 40265e649f.
2023-11-06 14:29:00 +11:00
Christoph Oelckers
3066df54e0 Exhumed: fixed a few more bad velocities in queen code. 2023-11-05 23:51:02 +01:00
Christoph Oelckers
c039882dcc Exhumed: Always perform a range check on a sequence's length.
Too many of these are not correct and prone to overflows so ignoring this is not good.
2023-11-05 14:42:41 +01:00
Christoph Oelckers
40265e649f Exhumed: fixed radial damage push factor.
The original did 'bsin(x) >> 3' with vel being Q18.14 and bsin also returning Q18.14. So for fully floatified values we still must multiply by 1/8, not 128.
2023-11-05 14:39:49 +01:00
Christoph Oelckers
ff0cb2f580 Exhumed: sanitize stupid implementation of UpdateEnemy and fixed bad use of it for the queen's eggs. 2023-11-05 13:37:34 +01:00
Mitchell Richters
8148ef1458 - Blood: Fix GCC fallthrough warning. 2023-11-05 20:56:46 +11:00
Mitchell Richters
9e1ce2b970 - Clean up some GCC const warnings. 2023-11-05 20:54:17 +11:00
Mitchell Richters
4d7094b63b - Move gi->getCrouchState() into DCorePlayer. 2023-11-05 17:38:10 +11:00
Mitchell Richters
2797919f2c - Blood: Clean up some getPlayer() and DCorePlayer::GetActor() accesses in ticker. 2023-11-05 17:38:00 +11:00
Mitchell Richters
da81b63256 - Clean up some leftover floats in the input code. 2023-11-05 17:38:00 +11:00
Mitchell Richters
ef20d9a48a - Duke: Slight cleanup in drawoverlays(). 2023-11-05 17:38:00 +11:00
Mitchell Richters
63ba784d55 - SW: Reduce some line lengths in DoPlayerVehicleInputScaling(). 2023-11-04 19:10:06 +11:00
Mitchell Richters
0bbfe81a92 - Remove DCorePlayer::getCameraAngles().
* `CameraAngles` used to be private within `PlayerAngles` and accessed via a friendship with `GameInput`.
* Just make it public for now, its not worth the complex setup to protect against this as we can control access by simply not exporting it to ZScript.
2023-11-04 19:10:05 +11:00
Mitchell Richters
bd3184cf49 - Consolidate Exhumed's nCamerapos and SW's DSWPlayer::si into something inside DCorePlayer. 2023-11-04 19:10:05 +11:00
Mitchell Richters
7921eedda2 - Interalise slope tilting checks for DCorePlayer::doViewPitch(). 2023-11-04 19:10:05 +11:00
Mitchell Richters
cf2f3e20f8 - Internalise player velocity setup for DCorePlayer::doRollInput().
* Would have been nice to have this constexpr, but can only do that when we switch to C++20.
2023-11-04 19:10:04 +11:00
Mitchell Richters
3d7b742bed - Internalise player InputPacket access. 2023-11-04 19:10:03 +11:00
Mitchell Richters
3625a6af52 - Move PlayerAngles class directly into DCorePlayer.
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-11-04 19:10:03 +11:00
Christoph Oelckers
c64d333379 Blood: fixed packSlots being cleared on loading a savegame.
Since the player refactor the order of operations had changed and this got called after reading the player, not before.
2023-10-31 16:32:24 +01:00
Christoph Oelckers
8545a2e74d Duke: fixed breakable ceilings. 2023-10-28 10:54:12 +02:00
Christoph Oelckers
be9ddb0007 Blood: fixed initialization of dmgControl array.
This got lost somewhere in the commit shuffling.
2023-10-26 20:26:53 +02:00
Christoph Oelckers
bb6bb85508 added some awful hackery to handle the different offsetting of Blood's native voxels vs. those imported via .DEF. 2023-10-26 19:28:49 +02:00
Christoph Oelckers
94b92a355d Blood: fixed bad parameters in playSound inlines 2023-10-26 19:09:10 +02:00
Christoph Oelckers
6eae603d20 removed voxel offsetting in Blood's animateSprites function
Since offsetting is being done in the backend now, this one is redundant.
2023-10-24 16:45:17 +02:00
Christoph Oelckers
a717491a1b fix one remaining static declaration of an interface function. 2023-10-23 18:22:49 +02:00
Christoph Oelckers
66db6c5855 remove static declarators from exported action functions.
This made GCC error out.
2023-10-23 16:12:43 +02:00
Christoph Oelckers
b0b3f00d18 add missing null check 2023-10-23 16:09:36 +02:00
Christoph Oelckers
6975b95402 Duke fixed two issues with displaying incorrect sprites
* We cannot check a projectiles owner because it may have been destroyed, so copy all info over
* CON changing an actor's type to one without class did not do anything at all.
2023-10-22 23:09:11 +02:00
Christoph Oelckers
a5b37d55a8 added some more symbolic constants. 2023-10-13 23:08:06 +02:00
Christoph Oelckers
dc02d9edbc fixed some issues with feature flags. 2023-10-13 23:08:06 +02:00
Christoph Oelckers
3e17a9cc88 enabled nnext's grow and shrink shrooms by feature flag.
This is a contained feature with no wide reaching impact so it's fine to support.
2023-10-13 23:07:52 +02:00