rename SOG.UpdatePrimFlags as just UpdateFlags since this is relative to the group never individual prims/parts and so confusing

0.9.0-post-fixes
UbitUmarov 2017-07-12 10:28:11 +01:00
parent aff9c345dd
commit 457551d069
3 changed files with 60 additions and 77 deletions

View File

@ -855,7 +855,7 @@ namespace OpenSim.Region.Framework.Scenes
/// <see cref="Scene.DeleteSceneObject"/>, /// <see cref="Scene.DeleteSceneObject"/>,
/// <see cref="Scene.SelectPrim"/>, /// <see cref="Scene.SelectPrim"/>,
/// <see cref="Scene.DeselectPrim"/>, /// <see cref="Scene.DeselectPrim"/>,
/// <see cref="SceneObjectGroup.UpdatePrimFlags"/>, /// <see cref="SceneObjectGroup.UpdateFlags"/>,
/// <see cref="SceneObjectGroup.AbsolutePosition"/> /// <see cref="SceneObjectGroup.AbsolutePosition"/>
/// </remarks> /// </remarks>
public event ParcelPrimCountTainted OnParcelPrimCountTainted; public event ParcelPrimCountTainted OnParcelPrimCountTainted;

View File

@ -1649,7 +1649,7 @@ namespace OpenSim.Region.Framework.Scenes
else // else turn it off else // else turn it off
vdtc = false; vdtc = false;
group.UpdatePrimFlags(localID, UsePhysics, SetTemporary, SetPhantom, vdtc); group.UpdateFlags(UsePhysics, SetTemporary, SetPhantom, vdtc);
} }
else else
{ {

View File

@ -2718,35 +2718,22 @@ namespace OpenSim.Region.Framework.Scenes
RootPart.KeyframeMotion.Stop(); RootPart.KeyframeMotion.Stop();
RootPart.KeyframeMotion = null; RootPart.KeyframeMotion = null;
} }
UpdatePrimFlags(RootPart.LocalId, usePhysics, IsTemporary, IsPhantom, IsVolumeDetect); UpdateFlags(usePhysics, IsTemporary, IsPhantom, IsVolumeDetect);
} }
public void ScriptSetTemporaryStatus(bool makeTemporary) public void ScriptSetTemporaryStatus(bool makeTemporary)
{ {
UpdatePrimFlags(RootPart.LocalId, UsesPhysics, makeTemporary, IsPhantom, IsVolumeDetect); UpdateFlags(UsesPhysics, makeTemporary, IsPhantom, IsVolumeDetect);
} }
public void ScriptSetPhantomStatus(bool makePhantom) public void ScriptSetPhantomStatus(bool makePhantom)
{ {
UpdatePrimFlags(RootPart.LocalId, UsesPhysics, IsTemporary, makePhantom, IsVolumeDetect); UpdateFlags(UsesPhysics, IsTemporary, makePhantom, IsVolumeDetect);
} }
public void ScriptSetVolumeDetect(bool makeVolumeDetect) public void ScriptSetVolumeDetect(bool makeVolumeDetect)
{ {
UpdatePrimFlags(RootPart.LocalId, UsesPhysics, IsTemporary, IsPhantom, makeVolumeDetect); UpdateFlags(UsesPhysics, IsTemporary, IsPhantom, makeVolumeDetect);
/*
ScriptSetPhantomStatus(false); // What ever it was before, now it's not phantom anymore
if (PhysActor != null) // Should always be the case now
{
PhysActor.SetVolumeDetect(param);
}
if (param != 0)
AddFlag(PrimFlags.Phantom);
ScheduleFullUpdate();
*/
} }
public void applyImpulse(Vector3 impulse) public void applyImpulse(Vector3 impulse)
@ -4031,14 +4018,13 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="SetTemporary"></param> /// <param name="SetTemporary"></param>
/// <param name="SetPhantom"></param> /// <param name="SetPhantom"></param>
/// <param name="SetVolumeDetect"></param> /// <param name="SetVolumeDetect"></param>
public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) public void UpdateFlags(bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect)
{ {
if (m_scene == null || IsDeleted)
return;
HasGroupChanged = true; HasGroupChanged = true;
SceneObjectPart selectionPart = GetPart(localID);
if (Scene != null)
{
if (SetTemporary) if (SetTemporary)
{ {
DetachFromBackup(); DetachFromBackup();
@ -4053,14 +4039,10 @@ namespace OpenSim.Region.Framework.Scenes
AttachToBackup(); AttachToBackup();
} }
m_scene.EventManager.TriggerParcelPrimCountTainted();
}
if (selectionPart != null)
{
SceneObjectPart[] parts = m_parts.GetArray(); SceneObjectPart[] parts = m_parts.GetArray();
if (Scene != null && UsePhysics) if (UsePhysics)
{ {
int maxprims = m_scene.m_linksetPhysCapacity; int maxprims = m_scene.m_linksetPhysCapacity;
bool checkShape = (maxprims > 0 && bool checkShape = (maxprims > 0 &&
@ -4108,7 +4090,8 @@ namespace OpenSim.Region.Framework.Scenes
} }
else else
m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, false); m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, false);
}
m_scene.EventManager.TriggerParcelPrimCountTainted();
} }
public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data) public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data)