Merge branch 'ubitwork'

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
avinationmerge
Melanie 2012-03-20 18:07:24 +01:00
commit 70c0d6cf0b
3 changed files with 32 additions and 6 deletions

View File

@ -2633,6 +2633,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{ {
m_log.Error("Unable to send part Physics Proprieties - exception: " + ex.ToString()); m_log.Error("Unable to send part Physics Proprieties - exception: " + ex.ToString());
} }
part.UpdatePhysRequired = false;
} }
} }

View File

@ -1521,7 +1521,11 @@ namespace OpenSim.Region.Framework.Scenes
{ {
SceneObjectPart part = GetSceneObjectPart(localID); SceneObjectPart part = GetSceneObjectPart(localID);
if (part != null) if (part != null)
{
part.UpdateExtraPhysics(PhysData); part.UpdateExtraPhysics(PhysData);
if (part.UpdatePhysRequired)
remoteClient.SendPartPhysicsProprieties(part);
}
} }
} }
} }

View File

@ -1030,6 +1030,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
public UpdateRequired UpdateFlag { get; set; } public UpdateRequired UpdateFlag { get; set; }
public bool UpdatePhysRequired { get; set; }
/// <summary> /// <summary>
/// Used for media on a prim. /// Used for media on a prim.
@ -1410,6 +1411,7 @@ namespace OpenSim.Region.Framework.Scenes
if(ParentGroup != null) if(ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
ScheduleFullUpdateIfNone(); ScheduleFullUpdateIfNone();
UpdatePhysRequired = true;
} }
} }
} }
@ -1501,12 +1503,15 @@ namespace OpenSim.Region.Framework.Scenes
m_physicsShapeType = DefaultPhysicsShapeType(); m_physicsShapeType = DefaultPhysicsShapeType();
else else
m_physicsShapeType = value; m_physicsShapeType = value;
ScheduleFullUpdateIfNone();
} }
else else
m_physicsShapeType = DefaultPhysicsShapeType(); m_physicsShapeType = DefaultPhysicsShapeType();
if (ParentGroup != null) if (ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
if(m_physicsShapeType != value)
UpdatePhysRequired = true;
} }
} }
@ -1518,8 +1523,11 @@ namespace OpenSim.Region.Framework.Scenes
if (value >=1 && value <= 22587.0) if (value >=1 && value <= 22587.0)
{ {
m_density = value; m_density = value;
ScheduleFullUpdateIfNone(); UpdatePhysRequired = true;
} }
ScheduleFullUpdateIfNone();
if (ParentGroup != null) if (ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
} }
@ -1529,11 +1537,18 @@ namespace OpenSim.Region.Framework.Scenes
{ {
get { return m_gravitymod; } get { return m_gravitymod; }
set set
{ if( value >= -1 && value <=28.0f) {
m_gravitymod = value; if( value >= -1 && value <=28.0f)
{
m_gravitymod = value;
UpdatePhysRequired = true;
}
ScheduleFullUpdateIfNone(); ScheduleFullUpdateIfNone();
if (ParentGroup != null) if (ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
} }
} }
@ -1545,8 +1560,11 @@ namespace OpenSim.Region.Framework.Scenes
if (value >= 0 && value <= 255.0f) if (value >= 0 && value <= 255.0f)
{ {
m_friction = value; m_friction = value;
ScheduleFullUpdateIfNone(); UpdatePhysRequired = true;
} }
ScheduleFullUpdateIfNone();
if (ParentGroup != null) if (ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
} }
@ -1560,8 +1578,11 @@ namespace OpenSim.Region.Framework.Scenes
if (value >= 0 && value <= 1.0f) if (value >= 0 && value <= 1.0f)
{ {
m_bounce = value; m_bounce = value;
ScheduleFullUpdateIfNone(); UpdatePhysRequired = true;
} }
ScheduleFullUpdateIfNone();
if (ParentGroup != null) if (ParentGroup != null)
ParentGroup.HasGroupChanged = true; ParentGroup.HasGroupChanged = true;
} }