Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
df4b06aed1
|
@ -457,15 +457,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// without the parent rotation applied.
|
// without the parent rotation applied.
|
||||||
if (ParentID != 0)
|
if (ParentID != 0)
|
||||||
{
|
{
|
||||||
SceneObjectPart part = m_scene.GetSceneObjectPart(ParentID);
|
SceneObjectPart part = ParentPart;
|
||||||
if (part != null)
|
return part.AbsolutePosition + (m_pos * part.GetWorldRotation());
|
||||||
{
|
|
||||||
return part.AbsolutePosition + (m_pos * part.GetWorldRotation());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return ParentPosition + m_pos;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return m_pos;
|
return m_pos;
|
||||||
|
@ -576,6 +569,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
private uint m_parentID;
|
private uint m_parentID;
|
||||||
|
|
||||||
|
public SceneObjectPart ParentPart
|
||||||
|
{
|
||||||
|
get { return m_parentPart; }
|
||||||
|
set { m_parentPart = value; }
|
||||||
|
}
|
||||||
|
private SceneObjectPart m_parentPart = null;
|
||||||
|
|
||||||
public float Health
|
public float Health
|
||||||
{
|
{
|
||||||
get { return m_health; }
|
get { return m_health; }
|
||||||
|
@ -1751,36 +1751,34 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
if (ParentID != 0)
|
if (ParentID != 0)
|
||||||
{
|
{
|
||||||
SceneObjectPart part = m_scene.GetSceneObjectPart(ParentID);
|
SceneObjectPart part = ParentPart;
|
||||||
if (part != null)
|
TaskInventoryDictionary taskIDict = part.TaskInventory;
|
||||||
|
if (taskIDict != null)
|
||||||
{
|
{
|
||||||
TaskInventoryDictionary taskIDict = part.TaskInventory;
|
lock (taskIDict)
|
||||||
if (taskIDict != null)
|
|
||||||
{
|
{
|
||||||
lock (taskIDict)
|
foreach (UUID taskID in taskIDict.Keys)
|
||||||
{
|
{
|
||||||
foreach (UUID taskID in taskIDict.Keys)
|
UnRegisterControlEventsToScript(LocalId, taskID);
|
||||||
{
|
taskIDict[taskID].PermsMask &= ~(
|
||||||
UnRegisterControlEventsToScript(LocalId, taskID);
|
2048 | //PERMISSION_CONTROL_CAMERA
|
||||||
taskIDict[taskID].PermsMask &= ~(
|
4); // PERMISSION_TAKE_CONTROLS
|
||||||
2048 | //PERMISSION_CONTROL_CAMERA
|
|
||||||
4); // PERMISSION_TAKE_CONTROLS
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset sit target.
|
|
||||||
if (part.SitTargetAvatar == UUID)
|
|
||||||
part.SitTargetAvatar = UUID.Zero;
|
|
||||||
|
|
||||||
ParentPosition = part.GetWorldPosition();
|
|
||||||
ControllingClient.SendClearFollowCamProperties(part.ParentUUID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reset sit target.
|
||||||
|
if (part.SitTargetAvatar == UUID)
|
||||||
|
part.SitTargetAvatar = UUID.Zero;
|
||||||
|
|
||||||
|
ParentPosition = part.GetWorldPosition();
|
||||||
|
ControllingClient.SendClearFollowCamProperties(part.ParentUUID);
|
||||||
|
|
||||||
m_pos += ParentPosition + new Vector3(0.0f, 0.0f, 2.0f * m_sitAvatarHeight);
|
m_pos += ParentPosition + new Vector3(0.0f, 0.0f, 2.0f * m_sitAvatarHeight);
|
||||||
ParentPosition = Vector3.Zero;
|
ParentPosition = Vector3.Zero;
|
||||||
|
|
||||||
ParentID = 0;
|
ParentID = 0;
|
||||||
|
ParentPart = null;
|
||||||
SendAvatarDataToAllAgents();
|
SendAvatarDataToAllAgents();
|
||||||
m_requestedSitTargetID = 0;
|
m_requestedSitTargetID = 0;
|
||||||
|
|
||||||
|
@ -2212,6 +2210,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID);
|
||||||
|
if (ParentPart == null)
|
||||||
|
return;
|
||||||
|
|
||||||
ParentID = m_requestedSitTargetID;
|
ParentID = m_requestedSitTargetID;
|
||||||
|
|
||||||
Velocity = Vector3.Zero;
|
Velocity = Vector3.Zero;
|
||||||
|
|
|
@ -296,9 +296,10 @@ namespace OpenSim.Services.HypergridService
|
||||||
aCircuit.firstname = account.FirstName;
|
aCircuit.firstname = account.FirstName;
|
||||||
aCircuit.lastname = account.LastName;
|
aCircuit.lastname = account.LastName;
|
||||||
}
|
}
|
||||||
if (account == null && !aCircuit.lastname.StartsWith("@"))
|
if (account == null)
|
||||||
{
|
{
|
||||||
aCircuit.firstname = aCircuit.firstname + "." + aCircuit.lastname;
|
if (!aCircuit.lastname.StartsWith("@"))
|
||||||
|
aCircuit.firstname = aCircuit.firstname + "." + aCircuit.lastname;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Uri uri = new Uri(aCircuit.ServiceURLs["HomeURI"].ToString());
|
Uri uri = new Uri(aCircuit.ServiceURLs["HomeURI"].ToString());
|
||||||
|
|
Loading…
Reference in New Issue