Skip to content
Permalink
Browse files

- 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
  • Loading branch information...
alexey-lysiuk authored and coelckers committed Aug 20, 2019
1 parent d6396e7 commit 37fa2e1b673412d6814d4fa4b0547b3b567af0f9
Showing with 4 additions and 1 deletion.
  1. +3 −0 src/playsim/a_dynlight.cpp
  2. +1 −1 wadsrc/static/zscript/actors/shared/dynlights.zs
@@ -122,6 +122,9 @@ void AttachLight(AActor *self)
light->visibletoplayer = true;
light->lighttype = (uint8_t)self->IntVar(NAME_lighttype);
self->AttachedLights.Push(light);

// Disable postponed processing of dynamic light because its setup has been completed by this function
self->flags8 &= ~MF8_RECREATELIGHTS;
}

DEFINE_ACTION_FUNCTION_NATIVE(ADynamicLight, AttachLight, AttachLight)
@@ -84,12 +84,12 @@ class DynamicLight : Actor
override void BeginPlay()
{
ChangeStatNum(STAT_DLIGHT);
AttachLight();
}

override void PostBeginPlay()
{
Super.PostBeginPlay();
AttachLight();

if (!(SpawnFlags & MTF_DORMANT))
{

0 comments on commit 37fa2e1

Please sign in to comment.
You can’t perform that action at this time.