diff --git a/src/playsim/a_dynlight.cpp b/src/playsim/a_dynlight.cpp index 686230e0b..504855421 100644 --- a/src/playsim/a_dynlight.cpp +++ b/src/playsim/a_dynlight.cpp @@ -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) diff --git a/wadsrc/static/zscript/actors/shared/dynlights.zs b/wadsrc/static/zscript/actors/shared/dynlights.zs index 388e8f244..4f6ada88f 100644 --- a/wadsrc/static/zscript/actors/shared/dynlights.zs +++ b/wadsrc/static/zscript/actors/shared/dynlights.zs @@ -84,12 +84,12 @@ class DynamicLight : Actor override void BeginPlay() { ChangeStatNum(STAT_DLIGHT); - AttachLight(); } override void PostBeginPlay() { Super.PostBeginPlay(); + AttachLight(); if (!(SpawnFlags & MTF_DORMANT)) {