Commit graph

35 commits

Author SHA1 Message Date
e5e6ce619c Fix severe performance issues in large maps.
So... Remember that one decision I made about avoiding BlockThingsIterator as
much as possible? Turns out that was a stupid idea. There ARE situations where
it's better to iterate sector thinglists, yes, especially for things that are
NOT part of the blockmap, but in other cases, the excess allocations of new
iterators are a reasonable price to pay for the lower perf impact in extreme
cases, such as maps that have a gazillion sectors with gazillions of things in
them (I'm looking at you, UDMF mappers).
As a compromise, at least, in situations where the thinglists are needed, I did
add a sort of micro-optimization by implementing code to check if a bounding
box is inside a sector (would be nice if this was part of GZDoom itself, tho).
2023-12-19 11:46:29 +01:00
a9b69e37f0 Consistently declare damagetypes as names. 2023-11-28 11:23:44 +01:00
d4043c2353 Reimplement reverted commit but with some important safety checks. 2023-07-29 14:02:52 +02:00
3b10e684b6 Revert "Replace usage of ThinkerIterator and BlockThingsIterator in various places where we can instead loop through sector thing lists."
This reverts commit 2bd1cb0657.
2023-07-29 13:48:33 +02:00
2bd1cb0657 Replace usage of ThinkerIterator and BlockThingsIterator in various places where we can instead loop through sector thing lists.
While in the latter case this may result in longer loops, it also reduces GC thrashing by not needing to allocate an iterator every time.
This also simplifies the DoBlast code as there is no longer a need to manually traverse portals vertically.
2023-07-29 13:15:34 +02:00
56a8969e2f Make all projectiles bounce/explode on skies. 2023-03-11 01:07:15 +01:00
525b9e33eb Use new let syntax for multiple returns. 2023-01-14 19:14:39 +01:00
55fbfd86c0 Floating point quake intensities. 2023-01-14 18:06:52 +01:00
d0fddbf8a3 Testing changes for GZDoom 4.11/5.0. 2023-01-08 14:58:06 +01:00
b1683dae8e Generalized hitnormal functions (where possible). 2022-12-18 20:03:36 +01:00
a632c8edf7 Projectiles/explosions should use AMF_EMITFROMTARGET flag on A_AlertMonsters. 2022-12-08 20:06:41 +01:00
31ea4f73b1 Fix wacky-ass water physics for projectiles. 2022-11-11 01:46:39 +01:00
ab9023d3ee Add freezetics support to all actors that need it.
Remove Demoslayer fun option.
2022-10-31 15:08:30 +01:00
4bb3a1e85a Several optimizations on non-interactive actors. 2022-10-14 21:45:21 +02:00
dda1c7f072 A tiny fix for decals from bouncing projectiles. 2022-09-15 14:05:21 +02:00
2c0c1df7f3 Mortal Rifle grenades now implemented. 2022-09-14 19:25:48 +02:00
639999de8b More Mortal Rifle progress. Precision Shot partially implemented. 2022-09-13 21:25:06 +02:00
4f3891a2a7 Damagetype tweaks. 2022-09-09 19:20:52 +02:00
2f5ffdfe41 Use Vec3FromAngles to create random unit vectors. 2022-08-24 15:20:57 +02:00
4230b3b062 Vector/Trig math refactor into utility functions. 2022-08-18 16:18:22 +02:00
ffca2597ba More lenient bounce angles for Explodium Gun altfire. 2022-07-13 16:17:38 +02:00
fa80c346ec Add QF_3D to every single A_QuakeEx call. 2022-06-02 00:48:17 +02:00
7e04a87e36 Rebalancing of the lower end of the arsenal. 2022-01-22 16:38:26 +01:00
8176b21b8c Achievement system overhaul.
Continuin the menu rewrite.
2021-09-20 19:22:42 +02:00
0420d511a6 New achievements coded (Most icons still not done).
Various random tweaks and fixes.
Reformatted and cleaned up Future Plans file.
2021-09-08 21:09:13 +02:00
2850cb8375 Splash damage wrangling. 2021-09-06 23:38:39 +02:00
c194852ca8 A rebalance attempt™. 2021-09-06 22:55:58 +02:00
8ec2c14b38 Sound precaching for player/weapons.
Adjust collision sizes of projectiles.
Make player self-light toggleable.
2021-05-18 17:17:15 +02:00
5f44dcd530 Fix explodium/candy mags disappearing in water. 2021-03-12 16:05:39 +01:00
04b0ab2f68 Allow Explodium/Candy mags to bounce at certain angles. 2021-03-11 21:44:28 +01:00
eca7c2df3b Planted mags shouldn't bleed (oops). 2021-03-08 01:28:52 +01:00
8333620469 Prevent allies from triggering planted grenades. 2021-03-08 01:04:04 +01:00
feee32345d You can now plant quick grenades when aiming at any solid surface. 2021-03-08 00:27:48 +01:00
b53e3a338d Slight nerf to Explodium Gun. 2021-03-06 10:34:32 +01:00
c5abe83831 Major code refactoring. SWWMHandler could still use some more, though. 2021-02-27 23:59:40 +01:00