Commit graph

14686 commits

Author SHA1 Message Date
Mitchell Richters
baa28dc6a8 - Exhumed: Adjust c66b9795b9 to always return the last sequence instead of a nullptr.
* Returning a nullptr and having the caller return from that potentially results in no animation being drawn at all.
* Change here is akin to fix applied in 1cb15ed878.
2024-01-05 20:59:26 +11:00
Mitchell Richters
f800d6937c Revert "- Exhumed: Fix OOB frame with the rat."
This reverts commit fe356f3183.

* The applied fix in 1cb15ed878 covers this and probably does it in a better manner (i.e., play the last frame again vs. resetting the frame sequence).
2024-01-05 20:55:51 +11:00
Christoph Oelckers
0ee064ba3a removed GZDoom specific content from the launcher. 2024-01-04 22:31:27 +01:00
Christoph Oelckers
5a232f8fa6 eliminated the small white part of the initial window content after the IWAD picker. 2024-01-04 22:23:05 +01:00
Christoph Oelckers
3b834b18af fixed Linux include 2024-01-04 21:09:04 +01:00
Christoph Oelckers
6948ed41a1 added ZWidget based game picker 2024-01-04 20:54:04 +01:00
Christoph Oelckers
b72fcd5185 converted files to UTF-8 2024-01-04 18:29:28 +01:00
Christoph Oelckers
52b3d386cf backend update from GZDoom 2024-01-04 18:24:00 +01:00
Christoph Oelckers
fb6beb905a Blood: fixed cutscene sound not playing when starting a map from the console. 2024-01-04 18:08:23 +01:00
Christoph Oelckers
e2048bd8bd fixed loading of embedded files from directories. 2024-01-04 17:56:15 +01:00
Christoph Oelckers
ac8e80e52f account for resorted directories when accessing the local file path array in file_directory.cpp 2023-12-31 23:42:57 +01:00
Christoph Oelckers
9315c8b307 fixed autoaiming.
The WW2GI pistol check was completely wrong. :(
2023-12-30 09:07:32 +01:00
Christoph Oelckers
d352f564db minor backend update. 2023-12-28 21:12:24 +01:00
Christoph Oelckers
542997a967 perform music volume lookup by lump number instead of name.
This way any setting will work for both short and long file names.
2023-12-27 20:10:54 +01:00
Christoph Oelckers
6c79e35c25 Backend update from GZDoom. 2023-12-26 22:28:44 +01:00
Christoph Oelckers
5b4aa573b1 fixed: The generic sound loader for SNDINFO must use S_LookupSound to match the feature set of the game specific code.
SW uses this and also needs to be able to handle the extended lookup.
2023-12-26 18:40:08 +01:00
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