When updating SOG, a physics taint should not override a full update with a terse update
parent
d9b0d7e752
commit
18c625bda6
|
@ -1731,6 +1731,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//if ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0)
|
//if ((RootPart.Flags & PrimFlags.TemporaryOnRez) != 0)
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
|
// If we somehow got here to updating the SOG and its root part is not scheduled for update,
|
||||||
|
// check to see if the physical position or rotation warrant an update.
|
||||||
|
if (m_rootPart.UpdateFlag == UpdateRequired.NONE)
|
||||||
|
{
|
||||||
bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0);
|
bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0);
|
||||||
|
|
||||||
if (UsePhysics && !AbsolutePosition.ApproxEquals(lastPhysGroupPos, 0.02f))
|
if (UsePhysics && !AbsolutePosition.ApproxEquals(lastPhysGroupPos, 0.02f))
|
||||||
|
@ -1744,6 +1748,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_rootPart.UpdateFlag = UpdateRequired.TERSE;
|
m_rootPart.UpdateFlag = UpdateRequired.TERSE;
|
||||||
lastPhysGroupRot = GroupRotation;
|
lastPhysGroupRot = GroupRotation;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SceneObjectPart[] parts = m_parts.GetArray();
|
SceneObjectPart[] parts = m_parts.GetArray();
|
||||||
for (int i = 0; i < parts.Length; i++)
|
for (int i = 0; i < parts.Length; i++)
|
||||||
|
|
Loading…
Reference in New Issue