Mitch Richters
cb91e23c75
- Clamp the return value in PitchToHoriz()
between the range of an INT32 value, and fix some math in the PitchToBAM()
and BAMToPitch()
inlines.
2021-12-07 19:59:30 +11:00
Mitch Richters
acf38f7a21
- Make a number of CVARs in gamecvars.cpp
saved as part of the global config.
...
Full list:
* `cl_weaponsway`
* `cl_viewbob`
* `cl_interpolate`
* `cl_slopetilting`
* `cl_showweapon`
* `cl_syncinput`
* `cl_hudinterpolation`
* `cl_loadingscreens`
2021-12-07 19:59:26 +11:00
Mitch Richters
b6b0887611
- Fix missed flags pass-through in bool StartCutscene(const char* s, int flags, const CompletionFunc& completion)
overload.
2021-12-07 19:59:19 +11:00
Mitch Richters
63a19bbb15
- Port spritetype::insector()
over from develop and use with sector nullptr checks in 6539d72663
.
2021-12-07 19:56:50 +11:00
Mitch Richters
6539d72663
- Duke/RR: Add three sector nullptr checks after receiving crash in Redneck Rampage Route 66 while noclipping.
2021-12-07 19:44:35 +11:00
Mitch Richters
85a2e3bd06
- Duke/RR: Do nullptr test in floorspace_d()
/floorspace_r()
functions to match ceilingspace_*()
functions.
2021-12-07 19:41:25 +11:00
Mitch Richters
a7e99a3bd1
- Duke/RR: Do nullptr test in ceilingspace_r()
after receiving crash in Redneck Rampage Route 66 (do Duke for parity).
2021-12-07 19:41:22 +11:00
Mitch Richters
96867e15d5
- Duke: Apply same nullptr fix in 2e7496888a
to prelevel_r()
, and rename sect
to sectp
for 1:1 match between _d.cpp and _r.cpp files.
2021-12-07 19:41:18 +11:00
Mitch Richters
2e7496888a
- Duke: Re-add lost nullptr check in prelevel_d()
that was causing a crash while loading Duke Nukem's Penthouse Paradise.
2021-12-03 10:14:41 +01:00
Christoph Oelckers
81268cb9b6
partial Revert of "- optimized vector math."
...
This reverts commit 826fd7ddb2
.
Looks like there's dependencies on the intermediate variables. The optimized code gave the same result but did not work anymore.
2021-12-02 23:32:20 +01:00
Christoph Oelckers
c2baa68160
- fixed camera textures breaking in SW when restarting a level.
...
This was caused by attempting to delete the camera textures when cleaning up the mirror array.
The Build tile manager was not prepared for such a use case and left a broken texture behind.
To allow this to function it now resets the texture replacement type when deleting a tile and to avoid creating new camera textures these will now be stored in a cache and recycled later.
2021-12-02 21:40:43 +01:00
Christoph Oelckers
60630f5b84
- do not init pointers to 0xffffffffffffffff.
...
These will most certainly crash when used in any way.
2021-12-02 18:42:02 +01:00
Christoph Oelckers
cb099b1b66
- added two missing semicolons.
...
Unbelievable that this was legal C++ and didn't even get a warning!
2021-12-01 23:30:02 +01:00
Christoph Oelckers
57aca0ed07
- SW: fixed sector object setup with vator effect.
...
This used some weird initialization logic that was missed when first modifying this code.
2021-12-01 21:00:00 +01:00
Christoph Oelckers
324e35e776
- SW: fixed use of uninitialized variable in WallSetup
2021-12-01 19:55:18 +01:00
Christoph Oelckers
5bb114ba6e
- fixed two bad actor references in Exhumed's radial damage code.
...
The radial source is passed through pRadialActor, not pObjActor.
2021-11-30 22:44:54 +01:00
Christoph Oelckers
00d54fa11a
- fixed return value of updatesector pointer variant.
2021-11-30 16:44:52 +01:00
Christoph Oelckers
690994ea1e
- Duke: fix missing sectp update in processinput_d.
...
RR version had this correct
2021-11-30 00:20:16 +01:00
Christoph Oelckers
64cad55d73
- fixed updatesector and changed updatesectorz to use the same search algorithm.
...
The initial distance check in updatesectorneighbor had a far too low threshold which would skip the breadth-first search for relatively small distances already.
Exhumed's LEV1 and Duke's Lunatic Fringe were the most obvious candidates where this could cause problems.
Changed to use a mixture of the original updatesector with the revised algorithm so that all immediate neighbors of the start sector will get visited unconditionally.
updatesectorz was still the original function from Shadow Warrior, this also was changed to use the same algorithm as uodatesector.
2021-11-30 00:15:25 +01:00
Christoph Oelckers
f765783437
- various small bits of cleanup.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
e59d976691
- added .ssi to the list of known extensions for container files.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
71dfe7ecfe
- fixed handling for cl_capfps and cl_nointerpolate to never use any smoothratio value other than 1.0.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
b54e52330c
- Blood: don't play the same looped sound multiple times on the same actor.
...
This caused some strong echoing on E4M6.
2021-11-29 00:57:11 +01:00
Christoph Oelckers
1de9c63d45
- fixed center aligned rendering of 2D content.
...
This calculates the centered pivot point in integer texel coordinate space so for odd numbers it must round down instead of using a fractional position.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
6cec61683d
- fixed incorrectly placed tileUpdatePicnum call in new renderer for sprites.
...
This was only in the regular sprite call and did not affect models or voxels.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
18d1084f7c
- fixed assignment of map hacks with multiple maps assigned.
...
The parser only ever added the last MD4 but not the others.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
35c2d6d14e
- fixed translucent voxel rendering.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
793aaf242c
- make upscaling of sky textures depend on the single tile size, not the entire composite texture.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
7d3b604361
- fixed sky rendering in paletted sectors for Polymost.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
448db9c93d
- enable texture upscaling in Polymost, disable it for the movie player's textures.
2021-11-29 00:57:10 +01:00
Christoph Oelckers
ec63dd4cb3
- SW: precacheMap cleanup
2021-11-29 00:57:09 +01:00
Christoph Oelckers
b73ea76c18
- cleaned out Bunny_Count declarations.
...
One is enough.
2021-11-29 00:57:09 +01:00
Christoph Oelckers
2d806d415a
- clear interpolations when starting a new map.
2021-11-29 00:57:09 +01:00
Christoph Oelckers
5bd53cbe8c
- do not use clamp for calculation scale factors in Get...Scale.
...
These operations are not actual clamps and can assert on some implementations.
2021-11-29 00:57:09 +01:00
Mitchell Richters
5630fd8763
- Repair other possible OOB access issues with spriteext[]
.
2021-11-29 00:57:09 +01:00
Mitchell Richters
8c679f2e17
- Repair OOB access to spriteext[]
array accidentally introduced in d572e56839
. This repairs stability issues with models enabled under Linux environments.
2021-11-29 00:57:09 +01:00
Mitchell Richters
ff1149d274
- Silence unused parameter warnings for glslang for GCC and Clang.
2021-11-29 00:56:33 +01:00
Mitch Richters
73c5bef580
- Blood: Remove duplicated code from render3DViewPolymost()
that's already performed in viewDrawScreen()
.
2021-11-29 00:56:33 +01:00
carnivoroussociety
61cafc7d57
[Blood] Fix self collisions for lifeleech projectiles
2021-11-29 00:56:33 +01:00
carnivoroussociety
958d004119
[Blood] Match view height clamping behavior to 1.21
2021-11-29 00:56:32 +01:00
Mitch Richters
ca0464c139
- Change out of box default of cl_runmode
to 0, which allows the bound run key to act like an autorun negator.
...
* Requested in https://forum.zdoom.org/viewtopic.php?f=342&t=73031 .
2021-11-29 00:56:32 +01:00
Mitch Richters
8fefead4e5
- Remove cancellation of quick turn if mouse/keyboard/controller angle input is detected that was introduced in 2129d3b4e7
.
...
* Requested in https://forum.zdoom.org/viewtopic.php?f=342&t=73231
* Neither EDuke32 nor GZDoom do this, so the rationale is we shouldn't either.
2021-11-29 00:56:32 +01:00
Christoph Oelckers
cd3288860a
- fixed automap player drawing for follpw mode off in all games.
2021-11-29 00:56:32 +01:00
Christoph Oelckers
2949361c82
- Duke/RR: added null checks to all spawn() calls
2021-11-29 00:56:32 +01:00
Christoph Oelckers
d5a6be3d96
- cleaned up Duke's spawn code.
...
The paths for initializing a map placed sprite and spawning a new actor at run time are now fully separate aside from the actual initialization of the actor.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
4c7662b4ea
- Duke/RR: guard all calls to EGS with a null pointer check.
...
Spawning sprites into the void will crash the engine so these must be blocked which requires a failure check here.
With this pressing fire while in the void no longer crashes the game - it won't fire anything, either, though.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
fcbb7320a8
- Duke/RR: added all checks needed for not letting Duke crash with noclip when not accepting -1 as a valid sector pointer.
...
All places that were causing a crash are now guared by calling 'insector()'.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
8972dbe5da
- actorstayput
2021-11-29 00:56:31 +01:00
Christoph Oelckers
4a81d45630
- the remaining sector[] stuff in Duke/RR.
...
What remains is either engine interface code or not easily replaced.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
5e66a3331d
- getanimationgoal.
2021-11-29 00:56:30 +01:00