Commit graph

21282 commits

Author SHA1 Message Date
Mitchell Richters
59acdde9c9 - Favour value initialisation in GameInput::Clear() instead of a memset(). 2023-09-28 22:16:30 +10:00
Mitchell Richters
7fa5df934b - Make playercmds[] non-global and pass through as pointer. 2023-09-28 22:16:30 +10:00
Mitchell Richters
80da809e0c - Apply cl_noturnscaling CVAR from feaaf2c15a to GameInput::processVehicle(). 2023-09-28 22:16:29 +10:00
Mitchell Richters
ae39645169 - Duke: Slight cleanup on e0e459216d. 2023-09-28 22:16:29 +10:00
Mitchell Richters
4958241c57 - Blood: Slight cleanup on 32480dde16. 2023-09-28 22:16:29 +10:00
Christoph Oelckers
b05b409695 Blood: removed 3 unused members in PLAYER 2023-09-28 11:45:16 +02:00
Christoph Oelckers
f46db83ab3 removed two leftover floatification helpers. 2023-09-28 11:43:14 +02:00
Christoph Oelckers
aea46548bd moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
Naked sprite pointers have been removed everywhere else.
2023-09-28 11:41:35 +02:00
Christoph Oelckers
7e63ccd57a Blood: get rid of the mirror struct and related data.
This is a relic of Polymost.
2023-09-26 23:34:08 +02:00
Christoph Oelckers
bcad8a85d2 renamed at* fields in gib.cpp 2023-09-26 23:34:08 +02:00
Christoph Oelckers
3625a510d2 took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was. 2023-09-26 23:34:08 +02:00
Christoph Oelckers
8a0f79141b code cleanup
* gave reverb functions the proper 'S_' prefix for consistency.
* Blood: fixed license of 4 files which do not contain any NBlood code anymore (sound code was completely rewritten, and all such code has long been moved out of d_menu.cpp)
* Blood: renamed VIEWPOS_* constants
2023-09-26 23:30:38 +02:00
Mitchell Richters
e0e459216d - Reduce GameInput::processVehicle() interface by changing three bools to a bitfield. 2023-09-25 19:51:53 +10:00
Mitchell Richters
ce236c795f - Blood: Don't attenuate view rolling when swimming.
* Blood's input and drag system is much more developed than the other games and further attenuation is not needed here.
2023-09-25 17:00:10 +10:00
Mitchell Richters
9ad0af4479 - Blood: Better fix for view rolling under all circumstances.
* Why is everything so difficult in Blood? 😕
* Do StrafeVel drag/resistance before `MoveDude()` as it may never be called if there's no velocity.
* Avoid using `mulscale16r()` in algorithm as we simply don't need to here.
* Move `doRollInput()` call into same area where drag is applied so all the code is concentrated in one spot.
2023-09-25 16:42:11 +10:00
Mitchell Richters
2916fe596f - Blood: Fix view rolling while underwater. 2023-09-24 20:00:11 +10:00
Mitchell Richters
8d8c30d10e - Reset the crouch toggle only when loading a new game, not every time we clear out the input.
* We need to preserve the crouch toggle when loading saves.
* Deliberately not resetting during level transitions as each level in an episode is interconnecting.
2023-09-24 17:51:22 +10:00
Mitchell Richters
ae192df7b7 - Consolidate two gi->FreeLevelData() into NewGame(). 2023-09-24 17:28:52 +10:00
Mitchell Richters
32480dde16 - Ensure all games preserve SB_CENTERVIEW and SB_CROUCH bits upon loading. 2023-09-24 17:22:38 +10:00
Mitchell Richters
ff8cea673e - Duke: Ensure player_struct Serialiser only attempts to set variables when reading, not unconditionally. 2023-09-24 17:21:17 +10:00
Mitchell Richters
22077c5b50 - Ensure crouch_toggle is cleared when clearing all input. 2023-09-24 15:53:39 +10:00
Mitchell Richters
f35e8eecf1 - Fix incomplete backend update in 4a87003408 that broke Linux builds. 2023-09-24 14:38:30 +10:00
Mitchell Richters
feaaf2c15a - Allow disabling turn scaling (turbo turn). 2023-09-24 14:15:50 +10:00
Mitchell Richters
29e021b5bf - Move crouch toggling back into the backend so the toggle key can be used as a swim key.
* Reverts 272dfa762d, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
615267dbd4 - fixed incorrect setup in Blood map loader. 2023-09-23 21:13:03 +02:00
Christoph Oelckers
a703acea00 - consider swvoxfil.txt a known name for SW mods.
This allows the voxel pack to be dragged and dropped.
2023-09-23 14:51:18 +02:00
Christoph Oelckers
4bb66fb44e - Duke: Fixed WT fallback for classic sounds in cases the user data does not exist.
currently that's only the case for CRANEGRAB which is aliased because of differences between Duke and RR.
2023-09-23 14:29:41 +02:00
Christoph Oelckers
0480a5e992 - fixed language menu selection. 2023-09-23 14:10:42 +02:00
Christoph Oelckers
711813c36f - fixed flat debug helper. 2023-09-23 14:03:59 +02:00
Christoph Oelckers
aa63e39fa5 - fixed broken gamedef for the fixed DukeDC. 2023-09-23 14:03:46 +02:00
Christoph Oelckers
6e4dcc5bff - fixed clipping range of artificially split sectors.
This caused render glitches on the barn in RR E1L1.
2023-09-23 13:32:09 +02:00
Christoph Oelckers
696a587dc3 - RR: fixed inheritance of two items. 2023-09-23 11:59:33 +02:00
Christoph Oelckers
912d8d38bf - disable alloc debugging again. 2023-09-23 10:32:49 +02:00
Christoph Oelckers
d96a928738 - Exhumed: fixed sprite positioning issues
Apparently tile #1 has some significance here.
2023-09-23 10:30:52 +02:00
Christoph Oelckers
4a87003408 - backend update from GZDoom.
* Vulkan backend updated.
* zlib replaced with miniz.
* FileReader is now 64 bit capable.
* jpeg replaced with stb-image.
* CMake project warnings fixed.
2023-09-23 09:56:27 +02:00
Mitchell Richters
a3aa2e877e - Exhumed: Repair use key clearing issue from ed2c557297.
* It's important that the use button is cleared for Exhumed, just not in the game code like it was previously done.
* Fixes #971.
2023-09-23 09:51:45 +10:00
Christoph Oelckers
1fe1359e5b - fix incomplete palette generation for paletted rendering. 2023-09-22 21:26:40 +02:00
alexey.lysiuk
0bb0550d2f - updated continuous integration workflow
* bump GCC targets to 9 and 12
* bump Clang targets to 11 and 15
* use Ubuntu 22.04 images
* use actual versions of checkout and upload-artifact actions
* remove lots of needless formatting, double quotes in particular
* remove unused dependencies
* remove obsolete Strawberry Perl workaround
2023-09-20 12:01:42 +03:00
Christoph Oelckers
e19ce3ead4 - fixed voxel loader. 2023-09-10 21:30:45 +02:00
Christoph Oelckers
a41ebfeb73 - Duke: fixed the explosion's lighting hackery.
The animatesprites handler in the old code got called on the already animated sprite, meaning it will only activate for the first frame.
To do this right the code had to be moved to applyanimations and be guarded by a flag.
2023-09-10 20:42:26 +02:00
Christoph Oelckers
b9eced0d11 - fix animate for some explosion FX. 2023-09-10 19:56:35 +02:00
Christoph Oelckers
230c1b9041 - fix animatesprite loop aborts on sector effectors 2023-09-10 19:55:41 +02:00
Christoph Oelckers
0c0395043e - added one more variant each of DukeDC and Vacation add ons. 2023-09-09 09:08:30 +02:00
Christoph Oelckers
f749f4cc33 - copied equal_epsilon from GZDoom. 2023-09-07 22:12:31 +02:00
alexey.lysiuk
22136ed769 - ci: update to clang 9
previous versions failed to compile with the following error
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_tree.h:701:4: error: exception specification of explicitly defaulted move constructor does not match the calculated one
2023-09-07 13:19:18 +03:00
alexey.lysiuk
01fbe0b0fb - added vcpkg support 2023-09-07 13:17:22 +03:00
alexey.lysiuk
73d1dc96fe - ci: install webp library with other dependencies 2023-09-07 13:16:45 +03:00
alexey.lysiuk
964f98da12 - added fallback to pkg-config if webp cmake module wasn't found
fixes linker errors: undefined reference to `WebPGetInfo`, `WebPMuxCreateInternal`, `WebPMuxGetChunk`, `WebPMuxDelete`, `WebPInitDecoderConfigInternal`, `WebPDecode`
2023-09-07 13:13:25 +03:00
alexey.lysiuk
ecc0301f5b - removed obsolete forward declarations
source/core/savegamehelp.h:10:1: error: declaration conflicts with target of using declaration already in scope
source/core/savegamehelp.h:13:24: error: reference to 'FileReader' is ambiguous
source/core/gameconfigfile.h:40:1: error: declaration conflicts with target of using declaration already in scope
source/core/gameconfigfile.h:61:27: error: reference to 'FileWriter' is ambiguous
2023-09-07 12:44:51 +03:00
Christoph Oelckers
fa7a16a775 - backend update from GZDoom.
Some missing 'override' qualifiers and font fixes.
2023-09-06 00:18:45 +02:00