* Some more ApplyPhysics voodoo

afrisby
lbsa71 2007-12-04 16:41:20 +00:00
parent a553e6f67c
commit c1fdba8a6f
2 changed files with 88 additions and 84 deletions

View File

@ -247,6 +247,8 @@ namespace OpenSim.Region.Environment.Scenes
AttachToBackup(); AttachToBackup();
ApplyPhysics();
ScheduleGroupForFullUpdate(); ScheduleGroupForFullUpdate();
} }
@ -281,7 +283,6 @@ namespace OpenSim.Region.Environment.Scenes
part.RegionHandle = m_regionHandle; part.RegionHandle = m_regionHandle;
part.ApplyPermissions(); part.ApplyPermissions();
part.ApplyPhysics();
} }
break; break;
case XmlNodeType.EndElement: case XmlNodeType.EndElement:
@ -300,6 +301,8 @@ namespace OpenSim.Region.Environment.Scenes
AttachToBackup(); AttachToBackup();
ApplyPhysics();
ScheduleGroupForFullUpdate(); ScheduleGroupForFullUpdate();
} }
@ -384,9 +387,11 @@ namespace OpenSim.Region.Environment.Scenes
if (inter.HitTF) { if (inter.HitTF)
{
// We need to find the closest prim to return to the testcaller along the ray // We need to find the closest prim to return to the testcaller along the ray
if (inter.distance < idist) { if (inter.distance < idist)
{
idist = inter.distance; idist = inter.distance;
returnresult.HitTF = true; returnresult.HitTF = true;
@ -429,6 +434,8 @@ namespace OpenSim.Region.Environment.Scenes
SetPartAsRoot(newPart); SetPartAsRoot(newPart);
AttachToBackup(); AttachToBackup();
ApplyPhysics();
} }
/// <summary> /// <summary>
@ -579,7 +586,8 @@ namespace OpenSim.Region.Environment.Scenes
m_parts.Add(newPart.UUID, newPart); m_parts.Add(newPart.UUID, newPart);
SetPartAsRoot(newPart); SetPartAsRoot(newPart);
} }
public void SetRootPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID) { public void SetRootPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID)
{
part.LastOwnerID = part.OwnerID; part.LastOwnerID = part.OwnerID;
part.OwnerID = cAgentID; part.OwnerID = cAgentID;
part.GroupID = cGroupID; part.GroupID = cGroupID;
@ -1679,10 +1687,7 @@ namespace OpenSim.Region.Environment.Scenes
public void ApplyPhysics() public void ApplyPhysics()
{ {
foreach(SceneObjectPart part in m_parts.Values ) m_rootPart.ApplyPhysics();
{
part.ApplyPhysics();
}
} }
} }
} }

View File

@ -473,7 +473,6 @@ namespace OpenSim.Region.Environment.Scenes
LLObject.ObjectFlags.ObjectOwnerModify; LLObject.ObjectFlags.ObjectOwnerModify;
ApplyPermissions(); ApplyPermissions();
ApplyPhysics();
ScheduleFullUpdate(); ScheduleFullUpdate();
} }
@ -512,7 +511,7 @@ namespace OpenSim.Region.Environment.Scenes
ObjectFlags = flags; ObjectFlags = flags;
ApplyPermissions(); ApplyPermissions();
ApplyPhysics(); // ApplyPhysics();
ScheduleFullUpdate(); ScheduleFullUpdate();
} }