Commit graph

14715 commits

Author SHA1 Message Date
Christoph Oelckers
3ea993140b - new floating point version of clipmove's wall sprite checker. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
4acbfef1dc - float version of face sprite collector. 2023-11-12 14:45:23 +01:00
Christoph Oelckers
3e3df527d2 - rewrote the remaining parts of clipmove's wall collector. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
c2a2743872 - removed the old wall checker code and all dependencies. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
9b8252e2da - reimplemented the wall collision check for clipmove. 2023-11-12 14:45:22 +01:00
Christoph Oelckers
aed69bd4c2 we're past 1.8 now 2023-11-12 14:44:43 +01:00
Christoph Oelckers
82472d0109 bump savegame version. 2023-11-12 12:32:12 +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
Christoph Oelckers
f4e479d39d move M_Calloc out of the #ifndef BSD etc... block. 2023-11-11 22:46:53 +01:00
Mitchell Richters
f399caa69d - Duke: Fix missed symbolic constant from 13d57cdbd6. 2023-11-12 08:42:25 +11:00
Christoph Oelckers
34129e8484 - Don't inline M_Calloc() calls because GCC is shit.
* Fixes #1009.
2023-11-12 08:41:51 +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
7a5d89c851 use FTranslationID in the 2D drawer. 2023-11-09 23:19:48 +01:00
Christoph Oelckers
752b67c5a7 use FTranslationID in the model code. 2023-11-09 23:19:48 +01: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
Christoph Oelckers
990cf3eafc gave translations a dedicated scripted type.
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
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
c6e5ade0b3 Backend update from GZDoom. 2023-11-07 18:35:11 +01:00
Christoph Oelckers
0bcfd5ca92 fixed potentially undefined behavior with bool parameters in direct native functions. 2023-11-06 22:58:06 +01: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
85bbf80dba - Change paused check in 433c051751ebdf3b9d82ec4cabf01122414de961 as to not affect the crouch_toggle while paused. 2023-11-05 17:38:11 +11:00
Mitchell Richters
4d7094b63b - Move gi->getCrouchState() into DCorePlayer. 2023-11-05 17:38:10 +11:00
Mitchell Richters
8705afc223 - Fix bad indentation in searchpaths.cpp. 2023-11-05 17:38:01 +11:00
Mitchell Richters
5220a57f78 - statFPS() doesn't need to be in GameInterface. 2023-11-05 17:38:00 +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
44be58184b - Repair issue where opening the menu cancels player's pitch returning to centre. 2023-11-05 17:37:58 +11:00
Mitchell Richters
ffe921ca3b - Remove some leftover debug code. 2023-11-04 19:10:06 +11:00
Mitchell Richters
63ba784d55 - SW: Reduce some line lengths in DoPlayerVehicleInputScaling(). 2023-11-04 19:10:06 +11:00
Mitchell Richters
7c93d5127b - Simplify some vector math in calcChaseCamPos(). 2023-11-04 19:10:06 +11:00
Mitchell Richters
0d0f5af3fe - Remove some unnecessary casts in SetupViewpoint(). 2023-11-04 19:10:06 +11:00
Mitchell Richters
210ebefd3d - Consolidate player coord stat/CCMD into coreplayer.cpp. 2023-11-04 19:10:05 +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
alexey.lysiuk
fe43020406 - bumped minimum OS version to 10.13 in .plist file 2023-11-02 13:00:27 +02: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
1b6454dc5b renamed $conreserve to $resourceid.
This better matches its use, especially since it is not exclusive to CON supporting games.
2023-10-28 09:06:36 +02:00
Christoph Oelckers
4135e460e2 fix handling of super secrets in statistics code. 2023-10-26 20:54:09 +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
e7b67e2528 for line intersection, exclude the end point of the intersected line.
This is needed to make Build's utilities work as expected.
2023-10-23 16:14:43 +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
1298f17c38 two minor backend fixes 2023-10-23 16:09:37 +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
Christoph Oelckers
065de5979d did some flag naming 2023-10-13 23:07:52 +02:00
Christoph Oelckers
b1538ca3ec fix compilation of release builds. 2023-10-13 23:07:30 +02:00
Christoph Oelckers
8ca2ce3042 fix some bad English 2023-10-13 23:07:30 +02:00
Christoph Oelckers
12fe313f4c clean up burning dude handling in actCheckDudes 2023-10-13 23:07:17 +02:00
Christoph Oelckers
401c260f9c cleanup of Blood sound playing interface 2023-10-13 23:07:17 +02:00
Christoph Oelckers
7b3203c607 made 'modern' custom monster health an engine feature. 2023-10-13 23:07:17 +02:00
Christoph Oelckers
7a7d579b8e use symbolic constants for explosion types. 2023-10-13 23:07:00 +02:00
Christoph Oelckers
04a94f70f7 replace sprintf with snprintf. 2023-10-13 23:06:52 +02:00
Christoph Oelckers
4f3f25e1ca fixed Mac compilation.
Unlike the other platforms this builds its config paths from variable data.
2023-10-13 23:06:52 +02:00
Mitchell Richters
13b792e953 - Apply last remaining .GetChars() fixes for POSIX targets. 2023-10-13 23:06:51 +02:00
Christoph Oelckers
41a52f0973 fix compilation of non-windows targets. 2023-10-13 23:06:40 +02:00
Christoph Oelckers
603ab5dd73 make TrapExploder feature controlled by a flag.
This part of nnext can be retained easily this way.
2023-10-13 23:06:30 +02:00
Christoph Oelckers
2480f27eb4 #ifdef some nnext stuff 2023-10-13 23:06:13 +02:00
Christoph Oelckers
f61dc0467f Blood: route all state actions through the VM interface and renamed all states and functions with disassembly names 2023-10-08 10:07:05 +02:00
Christoph Oelckers
495e236764 allow Blood to compile with NOONE_EXTENSIONS disabled. 2023-10-08 10:07:05 +02:00
Christoph Oelckers
c4ded2f133 - compile the states. 2023-10-08 10:06:57 +02:00
Christoph Oelckers
27a9def748 - fixed bunny 'run' sequence. 2023-10-08 09:41:17 +02:00
Christoph Oelckers
5ee909ab6f - reduce footprint of the Rot member variable. 2023-10-08 09:41:17 +02:00
Christoph Oelckers
71e44ac7ae patch over the savegame problems with FState. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
a1cbeb1b0d migrate to engine states.
Savegames do not work for this yet.
2023-10-08 09:41:16 +02:00
Christoph Oelckers
031fb2ea4e - SW: refactored states to use a Doom-like state model. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
24a3d91d0d scriptified the things 2023-10-08 09:41:15 +02:00
Christoph Oelckers
c7e993d949 got rid of missileInfo 2023-10-08 09:41:15 +02:00
Christoph Oelckers
6250906879 implemented proper handling of VM functions as identifiers. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
2c08ee0c5d refactored SEQ callbacks as well. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
11f094c7fb reference event callbacks by name, not by internal index.
This is needed to allow writing new callbacks.
2023-10-08 09:41:15 +02:00