Merge branch 'ubitwork' of ssh://3dhosting.de/var/git/careminster into ubitwork
commit
503705bfad
|
@ -6601,9 +6601,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit;
|
AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit;
|
||||||
if (handlerAgentRequestSit != null)
|
if (handlerAgentRequestSit != null)
|
||||||
|
if (!(agentRequestSit.AgentData == null
|
||||||
|
|| agentRequestSit.TargetObject == null
|
||||||
|
|| agentRequestSit.TargetObject.TargetID == null
|
||||||
|
|| agentRequestSit.TargetObject.Offset == null))
|
||||||
|
{
|
||||||
|
var sp = m_scene.GetScenePresence(agentRequestSit.AgentData.AgentID);
|
||||||
|
if (sp == null || sp.ParentID != 0) // ignore packet if agent is already sitting
|
||||||
|
return true;
|
||||||
|
|
||||||
handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID,
|
handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID,
|
||||||
agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset);
|
agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,6 @@ namespace OpenSim.Framework
|
||||||
{
|
{
|
||||||
public interface ISearchModule
|
public interface ISearchModule
|
||||||
{
|
{
|
||||||
|
void Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2260,7 +2260,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return end;
|
return end;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected LSL_Vector GetSetPosTarget(SceneObjectPart part, LSL_Vector targetPos, LSL_Vector fromPos)
|
protected LSL_Vector GetSetPosTarget(SceneObjectPart part, LSL_Vector targetPos, LSL_Vector fromPos, bool adjust)
|
||||||
{
|
{
|
||||||
if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted)
|
if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted)
|
||||||
return fromPos;
|
return fromPos;
|
||||||
|
@ -2276,9 +2276,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
if ((targetPos.z < ground) && disable_underground_movement && m_host.ParentGroup.AttachmentPoint == 0)
|
if ((targetPos.z < ground) && disable_underground_movement && m_host.ParentGroup.AttachmentPoint == 0)
|
||||||
targetPos.z = ground;
|
targetPos.z = ground;
|
||||||
}
|
}
|
||||||
LSL_Vector real_vec = SetPosAdjust(fromPos, targetPos);
|
if (adjust)
|
||||||
|
return SetPosAdjust(fromPos, targetPos);
|
||||||
|
|
||||||
return real_vec;
|
return targetPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -2293,7 +2294,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return;
|
return;
|
||||||
|
|
||||||
LSL_Vector currentPos = GetPartLocalPos(part);
|
LSL_Vector currentPos = GetPartLocalPos(part);
|
||||||
LSL_Vector toPos = GetSetPosTarget(part, targetPos, currentPos);
|
LSL_Vector toPos = GetSetPosTarget(part, targetPos, currentPos, adjust);
|
||||||
|
|
||||||
|
|
||||||
if (part.ParentGroup.RootPart == part)
|
if (part.ParentGroup.RootPart == part)
|
||||||
|
@ -7925,7 +7926,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
v=rules.GetVector3Item(idx++);
|
v=rules.GetVector3Item(idx++);
|
||||||
currentPosition = GetSetPosTarget(part, v, currentPosition);
|
if (part.IsRoot && !part.ParentGroup.IsAttachment)
|
||||||
|
currentPosition = GetSetPosTarget(part, v, currentPosition, true);
|
||||||
|
else
|
||||||
|
currentPosition = GetSetPosTarget(part, v, currentPosition, false);
|
||||||
positionChanged = true;
|
positionChanged = true;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue