Commit graph

27 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
fa03385980 remove commented out code 2025-04-16 23:45:16 -03:00
Ricardo Luís Vaz Silva
a43b99bf51 further remove manual memory management 2025-04-16 23:45:16 -03:00
Ricardo Luís Vaz Silva
bac018d306 remove extra heap allocation and level of indirection 2025-04-16 23:45:16 -03:00
Ricardo Luís Vaz Silva
2b72de44d5 use TryEmplace 2025-04-16 23:45:16 -03:00
Ricardo Luís Vaz Silva
d40c5246e5 optimize memory allocation 2025-04-16 23:45:16 -03:00
Gene
e2026dca38 Only allocate when needed 2025-04-07 13:57:28 -07:00
Gene
9e32e58c8f Try TMap 2025-04-07 04:21:35 -07:00
Gene
81165facf2 Actually null the pointer 2025-04-07 02:47:46 -07:00
Gene
4fb4e18594 Don't inline AddLightNode 2025-04-06 22:05:49 -07:00
Gene
20c234b90f Scrap dlight lighthead link lists 2025-04-06 13:06:57 -07:00
Boondorl
3ea5be1ea7 Reworked FRandom constructors
Removes ambiguity while keeping old constructor syntax in check for better overall portability.
2024-11-15 23:56:23 -03:00
Boondorl
597b06ae52 Added CRandom functions
Unique RNG namespace for client-side effects and HUDs. Identifiers for these cannot clash with identifiers that affect the playsim making them completely safe to use in HUD elements. They also won't be saved.
2024-11-15 23:56:23 -03:00
Rachael Alexanderson
bb5c8d8124
- don't fudge light position out of the floor for +NOINTERACTION actors 2024-11-12 06:25:30 -05:00
Boondorl
3d3cd88868 Disable effects on Actors set not to render locally
These are purely visual
2024-07-31 07:00:38 -04:00
Christoph Oelckers
4032576519 - blocked off direct access to TAngle’s internal storage. 2022-08-26 18:09:29 +02:00
Christoph Oelckers
f0fbdba593 - disable implicit conversions from float to TAngle 2022-08-26 18:01:26 +02:00
Christoph Oelckers
07a181090b - missed some MAX's. 2021-10-30 10:45:58 +02:00
Christoph Oelckers
6c12a8de12 - properly track whether some action in the current frame may have triggered a dynamic light activation. 2021-09-21 20:31:43 +02:00
Christoph Oelckers
30e24938ca - let dynamic lights call UpdateLocation instead of just setting their position right after being spawned.
This ensures that the position is correct and that everything gets set up properly.
2021-05-31 22:13:40 +02:00
Christoph Oelckers
20b665c161 - fixed: Actors did not set the position when spawning a dynamic light.
It always reused the previous content of the 'Pos' field which was either undefined or an older position where the actor was located when last spawning a light.
2021-05-28 11:25:01 +02:00
Christoph Oelckers
ace3e29473 - removed the implicit conversion operators from FName.
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
2020-04-11 14:00:13 +02:00
Christoph Oelckers
b709a0b6b2 - fixed: sector lights could access the sector before it was set. 2019-09-16 17:34:41 +02:00
Christoph Oelckers
76ee658be4 Made several classes trivially copyable,
Many had leftover non-default constructors/ assignment operators, and some were initialized, even though the initialized data was never used.

In case of FCycler this even caused a default setting to be overwritten when used inside FDynamicLight.
2019-09-09 09:52:33 +02:00
alexey.lysiuk
37fa2e1b67 - fixed initial setup for dynamic light actors
They are attached and actived explicitly during usual actor initialization sequence
Postponed processing applicable to so called user dynamic lights must be skipped for them
RECREATELIGHTS flag handling for dynamic light actors had the opposite effect of deactivating them

https://forum.zdoom.org/viewtopic.php?t=65683
2019-09-02 12:20:13 +02:00
Christoph Oelckers
66db894866 - split off all music code from s_sound.cpp 2019-08-23 17:15:19 +02:00
Christoph Oelckers
ae57bc71d4 - fixed attached dynamic light setup.
This was only run on a state change and missed every external light change.
Any place which wants to flag a light change now only will set a flag and at the end of the thinker loop all flagged actors will be processed.
For performance reasons this was merged with the P_RunEffects iterator loop.
2019-08-18 13:48:52 +02:00
Christoph Oelckers
9045615a7a - renamed g_shared folder to playsim. 2019-07-14 13:24:18 +02:00
Renamed from src/g_shared/a_dynlight.cpp (Browse further)