- properly track whether some action in the current frame may have triggered a dynamic light activation.

This commit is contained in:
Christoph Oelckers 2021-09-21 20:31:10 +02:00
commit 6c12a8de12
6 changed files with 30 additions and 4 deletions

View file

@ -850,6 +850,7 @@ int AttachLightDef(AActor *self, int _lightid, int _lightname)
auto userlight = self->UserLights[FindUserLight(self, lightid, true)];
userlight->CopyFrom(*LightDefaults[lightdef]);
self->flags8 |= MF8_RECREATELIGHTS;
self->Level->flags3 |= LEVEL3_LIGHTCREATED;
return 1;
}
return 0;
@ -894,6 +895,7 @@ int AttachLightDirect(AActor *self, int _lightid, int type, int color, int radiu
userlight->UnsetSpotPitch();
}
self->flags8 |= MF8_RECREATELIGHTS;
self->Level->flags3 |= LEVEL3_LIGHTCREATED;
return 1;
}
@ -931,6 +933,7 @@ int RemoveLight(AActor *self, int _lightid)
delete self->UserLights[userlight];
self->UserLights.Delete(userlight);
self->flags8 |= MF8_RECREATELIGHTS;
self->Level->flags3 |= LEVEL3_LIGHTCREATED;
return 1;
}
return 0;