- fixed: dynamic lights did not relink themselves when their position changed.

This commit is contained in:
Christoph Oelckers 2016-02-02 11:58:00 +01:00
parent 22e9fc9b76
commit d797415745
3 changed files with 16 additions and 2 deletions

View File

@ -1186,7 +1186,7 @@ public:
void LinkToWorld (sector_t *sector);
void UnlinkFromWorld ();
void AdjustFloorClip ();
void SetOrigin (fixed_t x, fixed_t y, fixed_t z, bool moving = false);
virtual void SetOrigin (fixed_t x, fixed_t y, fixed_t z, bool moving = false);
bool InStateSequence(FState * newstate, FState * basestate);
int GetTics(FState * newstate);
bool SetState (FState *newstate, bool nofunction=false);

View File

@ -384,6 +384,19 @@ void ADynamicLight::UpdateLocation()
//
//
//==========================================================================
void ADynamicLight::SetOrigin(fixed_t x, fixed_t y, fixed_t z, bool moving)
{
Super::SetOrigin(x, y, z, moving);
LinkLight();
}
//==========================================================================
//
//
//
//==========================================================================
void ADynamicLight::SetOffset(fixed_t x, fixed_t y, fixed_t z)
{
m_offX = x;

View File

@ -81,7 +81,8 @@ public:
void UnlinkLight();
size_t PointerSubstitution (DObject *old, DObject *notOld);
virtual void BeginPlay();
void BeginPlay();
void SetOrigin (fixed_t x, fixed_t y, fixed_t z, bool moving = false);
void PostBeginPlay();
void Destroy();
void Activate(AActor *activator);