Commit graph

14670 commits

Author SHA1 Message Date
Christoph Oelckers
485ad27a5a added missing null check in clipmove.
This only very rarely triggered for Blood's projectiles, no other things use this code path.
2023-12-21 00:53:11 +01:00
Christoph Oelckers
af4eaf69e3 silenced some warnings. 2023-12-21 00:50:53 +01:00
Christoph Oelckers
27da9b6b79 fixed crash on trying to read from a mounted directory's content. 2023-12-19 19:01:30 +01:00
Christoph Oelckers
3b44c50dfd 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-12-19 18:53:43 +01:00
Christoph Oelckers
860a0c290b fixed some filesystem issues with directories and compression. 2023-12-17 17:13:42 +01:00
Christoph Oelckers
adfbae8fbe RR: fixed bad destination name for one Route66 sound 2023-12-17 12:59:41 +01:00
Christoph Oelckers
36930d44bd filesystem update from GZDoom. 2023-12-17 12:48:03 +01:00
Christoph Oelckers
84e10beab4 Blood: fixed cutscene sound not playing when starting a map from the console. 2023-12-17 10:59:25 +01:00
Christoph Oelckers
1e618d2fdb rewrote FileSystem::AddFromBuffer so that it gets backed by an actual FResourceFile. 2023-12-10 15:23:21 +01:00
Christoph Oelckers
745de36ead added Unicode utilities 2023-12-10 15:23:05 +01:00
Christoph Oelckers
c0d166c307 backend update from GZDoom. 2023-12-10 13:30:50 +01:00
Christoph Oelckers
2efb8ffc5c RR: fixed secret trigger reporting. 2023-12-06 21:02:55 +01:00
Christoph Oelckers
8d4631eee9 fixed: Resource IDs for sounds must be unique.
If an ID gets used it must be taken off any other sound that has it.
2023-12-06 16:27:58 +01:00
Christoph Oelckers
60d3a5e6b3 SW: fix vertical spread for the Uzi 2023-12-05 22:41:00 +01:00
Christoph Oelckers
aceed7f71c fixed case mapping for Georgian script. 2023-12-05 22:41:00 +01:00
Christoph Oelckers
c66b9795b9 Exhumed: fix crash on bad player animation sequence. 2023-12-05 22:40:59 +01:00
Christoph Oelckers
3590dde6df Duke: remove setting the xflip flag for sprites rendered in a mirror
The new renderer handles this internally so this flag will just un-flip the sprite again.
2023-12-05 22:40:59 +01:00
Christoph Oelckers
9367394809 fix ChangeLevel when called for ending the game. 2023-12-05 22:40:59 +01:00
Mitchell Richters
417b7a20ad - Fix pitch clamping for GameInput::getInput(). 2023-12-05 22:40:59 +01:00
Christoph Oelckers
2e80c3034f we're past 1.8 now 2023-12-05 22:40:59 +01:00
Christoph Oelckers
63ea4dfbba bump savegame version. 2023-12-05 22:40:59 +01:00
Christoph Oelckers
8e6f0b0acd Exhumed: do raw serialization of FreeListArray.
This is for robustness reasons, there were occurences where this did not properly restore everything as intended.
2023-12-05 22:40:58 +01:00
Christoph Oelckers
9c595c6204 move M_Calloc out of the #ifndef BSD etc... block. 2023-12-05 22:40:58 +01:00
Mitchell Richters
376b695fb6 - Duke: Fix missed symbolic constant from 13d57cdbd6. 2023-12-05 22:40:58 +01:00
Christoph Oelckers
f6bca4177c - Don't inline M_Calloc() calls because GCC is shit.
* Fixes #1009.
2023-12-05 22:40:58 +01:00
Christoph Oelckers
4133c4602c use symbolic constant in two places close to the last commit. 2023-12-05 22:40:58 +01:00
Christoph Oelckers
712ea95203 Duke/RR: fixed player dying when falling from great heights while god mode being on. 2023-12-05 22:40:58 +01:00
Mitchell Richters
bd915763c2 - Duke: Remove incur_damage() from dispatcher.
* Only used locally within `processinput()` for each game.
2023-12-05 22:40:58 +01:00
Mitchell Richters
834fed369b 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-12-05 22:40:57 +01:00
Mitchell Richters
977d562c57 - Duke: Tidy up return setup in checkp(). 2023-12-05 22:40:57 +01:00
Mitchell Richters
b5bb747f61 - Duke: Use checkp() in ParseState::parse() to remove some duplicated code. 2023-12-05 22:40:57 +01:00
Mitchell Richters
7b030cef20 - Duke: Remove a few remaining triple negations missed in 7498be6f5d. 2023-12-05 22:40:57 +01:00
Mitchell Richters
baaf1e0557 - Blood: Clean up player vel code following InputPacket changes. 2023-12-05 22:40:57 +01:00
Christoph Oelckers
c06e795703 use FTranslationID in the 2D drawer. 2023-12-05 22:40:57 +01:00
Christoph Oelckers
0265d37fdb use FTranslationID in the model code. 2023-12-05 22:40:56 +01:00
Christoph Oelckers
4cb3b96ddf migrate to FTranslationID support
So far this only adapts to the changes in the backend without making further use of this type.
2023-12-05 22:40:56 +01:00
Christoph Oelckers
6df1a14a92 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-12-05 22:40:56 +01:00
Mitchell Richters
1d6b001884 - Exhumed: Return early in movesprite() if the actor's sector is null.
* This is what PowerSlaveGDX does.
* Fixes #1010.
2023-12-05 22:39:35 +01:00
Mitchell Richters
f60b0ea823 - Exhumed: Adjust angle change in 47a77fc8f1 to be 1:1 with the source. 2023-12-05 22:39:35 +01:00
Christoph Oelckers
6c702847ff Backend update from GZDoom. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
a9dc57e99f fixed potentially undefined behavior with bool parameters in direct native functions. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
98f2257aad Exhumed: fix handling of angles for the queen's eggs when colliding with a wall. 2023-12-05 22:39:34 +01:00
Mitchell Richters
d753c92cfa - Exhumed: Remove sequence post-processing since range checks from c039882dcc handle this. 2023-12-05 22:39:34 +01:00
Mitchell Richters
23a557a361 - 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-12-05 22:39:34 +01:00
Christoph Oelckers
5b56fb7939 Exhumed: fixed a few more bad velocities in queen code. 2023-12-05 22:39:34 +01:00
Christoph Oelckers
1cb15ed878 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-12-05 22:39:34 +01:00
Christoph Oelckers
8dfb21636a 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-12-05 22:39:33 +01:00
Christoph Oelckers
5a176fdf3d Exhumed: sanitize stupid implementation of UpdateEnemy and fixed bad use of it for the queen's eggs. 2023-12-05 22:39:33 +01:00
Mitchell Richters
91dfeb42bd - Blood: Fix GCC fallthrough warning. 2023-12-05 22:39:33 +01:00
Mitchell Richters
aea71092cc - Clean up some GCC const warnings. 2023-12-05 22:39:33 +01:00
Mitchell Richters
be101bfc6c - Change paused check in 433c051751ebdf3b9d82ec4cabf01122414de961 as to not affect the crouch_toggle while paused. 2023-12-05 22:39:33 +01:00
Mitchell Richters
be41bbcd28 - Move gi->getCrouchState() into DCorePlayer. 2023-12-05 22:39:33 +01:00
Mitchell Richters
1608c331a7 - Fix bad indentation in searchpaths.cpp. 2023-12-05 22:39:33 +01:00
Mitchell Richters
c989d4c3a4 - statFPS() doesn't need to be in GameInterface. 2023-12-05 22:39:32 +01:00
Mitchell Richters
79504254a2 - Blood: Clean up some getPlayer() and DCorePlayer::GetActor() accesses in ticker. 2023-12-05 22:39:32 +01:00
Mitchell Richters
f219ee0208 - Clean up some leftover floats in the input code. 2023-12-05 22:39:32 +01:00
Mitchell Richters
73e68705da - Duke: Slight cleanup in drawoverlays(). 2023-12-05 22:39:32 +01:00
Mitchell Richters
085aefb1a5 - Repair issue where opening the menu cancels player's pitch returning to centre. 2023-12-05 22:39:32 +01:00
Mitchell Richters
b5da574613 - Remove some leftover debug code. 2023-12-05 22:39:32 +01:00
Mitchell Richters
9d3aaed1b7 - SW: Reduce some line lengths in DoPlayerVehicleInputScaling(). 2023-12-05 22:39:32 +01:00
Mitchell Richters
08d808089f - Simplify some vector math in calcChaseCamPos(). 2023-12-05 22:39:31 +01:00
Mitchell Richters
ac91a70950 - Remove some unnecessary casts in SetupViewpoint(). 2023-12-05 22:39:31 +01:00
Mitchell Richters
98046afa28 - Consolidate player coord stat/CCMD into coreplayer.cpp. 2023-12-05 22:39:31 +01:00
Mitchell Richters
f22b6b95d2 - 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-12-05 22:39:31 +01:00
Mitchell Richters
fcc09afa18 - Consolidate Exhumed's nCamerapos and SW's DSWPlayer::si into something inside DCorePlayer. 2023-12-05 22:39:31 +01:00
Mitchell Richters
1c725377ea - Interalise slope tilting checks for DCorePlayer::doViewPitch(). 2023-12-05 22:39:31 +01:00
Mitchell Richters
59366d3ffc - 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-12-05 22:39:30 +01:00
Mitchell Richters
ce75f7d7ef - Internalise player InputPacket access. 2023-12-05 22:39:30 +01:00
Mitchell Richters
531c95c7ca - Move PlayerAngles class directly into DCorePlayer.
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-12-05 22:39:30 +01:00
alexey.lysiuk
7230ceebaf - bumped minimum OS version to 10.13 in .plist file 2023-12-05 22:39:30 +01:00
Christoph Oelckers
62c471e225 Duke: fixed breakable ceilings. 2023-12-05 22:39:30 +01:00
Christoph Oelckers
8aa34eea7b renamed $conreserve to $resourceid.
This better matches its use, especially since it is not exclusive to CON supporting games.
2023-12-05 22:39:30 +01:00
Christoph Oelckers
c12b94cf48 fix handling of super secrets in statistics code. 2023-12-05 22:39:29 +01:00
Christoph Oelckers
b67f2cb727 added some awful hackery to handle the different offsetting of Blood's native voxels vs. those imported via .DEF. 2023-12-05 22:39:29 +01:00
Christoph Oelckers
375ef31304 removed voxel offsetting in Blood's animateSprites function
Since offsetting is being done in the backend now, this one is redundant.
2023-12-05 22:39:29 +01:00
Christoph Oelckers
93294b2d44 for line intersection, exclude the end point of the intersected line.
This is needed to make Build's utilities work as expected.
2023-12-05 22:39:29 +01:00
Christoph Oelckers
f00a90aa07 two minor backend fixes 2023-12-05 22:39:29 +01:00
Christoph Oelckers
9f2808df1f 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-12-05 22:39:28 +01:00
Christoph Oelckers
272f44786c added some more symbolic constants. 2023-12-05 22:39:28 +01:00
Christoph Oelckers
e8dd2d5b89 did some flag naming 2023-12-05 22:39:28 +01:00
Christoph Oelckers
6229a6256c fix compilation of release builds. 2023-12-05 22:39:28 +01:00
Christoph Oelckers
1573e6fb49 fix some bad English 2023-12-05 22:39:28 +01:00
Christoph Oelckers
b68e79e4bc use symbolic constants for explosion types. 2023-12-05 22:39:28 +01:00
Christoph Oelckers
54035f9396 replace sprintf with snprintf. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
f0b7d57941 fixed Mac compilation.
Unlike the other platforms this builds its config paths from variable data.
2023-12-05 22:39:27 +01:00
Mitchell Richters
395a4e5421 - Apply last remaining .GetChars() fixes for POSIX targets. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
3614d03e1b fix compilation of non-windows targets. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
74f6ff0c03 we really do not need to pack the GAMEOPTIONS struct... 2023-12-05 22:39:27 +01:00
Christoph Oelckers
0c397033f1 added the remaining needed GetChars calls. 2023-12-05 22:39:27 +01:00
Christoph Oelckers
f50430eb7c GetChars in non-windows code. 2023-12-05 22:39:26 +01:00
Christoph Oelckers
7cffe6e3f0 a few Getchars 2023-12-05 22:39:26 +01:00
Christoph Oelckers
90eb9ceafe Use GetChars on FStrings. 2023-12-05 22:39:26 +01:00
Mitchell Richters
1859a902e0 - Fix some warnings in MSVC. 2023-12-05 22:39:26 +01:00
Mitchell Richters
7ba5d22d5d - Bump MAXVOXELS from 1024 to 2048. 2023-12-05 22:39:26 +01:00
Mitchell Richters
d3811c7816 - Add getTicrateAngle() to reduce the amount of times DAngle::fromDeg() needs to be called in input code. 2023-12-05 22:39:26 +01:00
Christoph Oelckers
bbbb61f450 backend update from GZDoom
LZMA update plus several ZScript improvements.
2023-12-05 22:39:26 +01:00
Mitchell Richters
31bb7d3348 - Duke: Repair crash when calling OnEvent(EVENT_ENTERLEVEL). 2023-12-05 22:39:25 +01:00
Mitchell Richters
a8ec00d7ce - SW: No need to mark off PlayerArray for saving game-side. 2023-12-05 22:39:25 +01:00
Mitchell Richters
2ddd15b932 - Slight clean-up in gameinput.cpp. 2023-12-05 22:39:25 +01:00
Mitchell Richters
ddd39775e6 - Re-add lost paused check in GameInput::GetInput(). 2023-12-05 22:39:25 +01:00