mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-29 23:33:00 +00:00
- 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
This commit is contained in:
parent
d6396e79fb
commit
37fa2e1b67
2 changed files with 4 additions and 1 deletions
|
@ -122,6 +122,9 @@ void AttachLight(AActor *self)
|
||||||
light->visibletoplayer = true;
|
light->visibletoplayer = true;
|
||||||
light->lighttype = (uint8_t)self->IntVar(NAME_lighttype);
|
light->lighttype = (uint8_t)self->IntVar(NAME_lighttype);
|
||||||
self->AttachedLights.Push(light);
|
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)
|
DEFINE_ACTION_FUNCTION_NATIVE(ADynamicLight, AttachLight, AttachLight)
|
||||||
|
|
|
@ -84,12 +84,12 @@ class DynamicLight : Actor
|
||||||
override void BeginPlay()
|
override void BeginPlay()
|
||||||
{
|
{
|
||||||
ChangeStatNum(STAT_DLIGHT);
|
ChangeStatNum(STAT_DLIGHT);
|
||||||
AttachLight();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override void PostBeginPlay()
|
override void PostBeginPlay()
|
||||||
{
|
{
|
||||||
Super.PostBeginPlay();
|
Super.PostBeginPlay();
|
||||||
|
AttachLight();
|
||||||
|
|
||||||
if (!(SpawnFlags & MTF_DORMANT))
|
if (!(SpawnFlags & MTF_DORMANT))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue